Foros del Web » Programación para mayores de 30 ;) » Programación General »

DELPHI, validarse en IIS

Estas en el tema de DELPHI, validarse en IIS en el foro de Programación General en Foros del Web. Buenas compañer@s, buscando en los foros no encontrado nada sobre mi problema: Estoy haciendo un programa de Sockets que se conectan a compañias aseguradoras para ...
  #1 (permalink)  
Antiguo 07/02/2006, 05:35
Avatar de davidvamo  
Fecha de Ingreso: diciembre-2001
Ubicación: Barcelona '92
Mensajes: 106
Antigüedad: 22 años, 4 meses
Puntos: 0
DELPHI, validarse en IIS

Buenas compañer@s,

buscando en los foros no encontrado nada sobre mi problema:

Estoy haciendo un programa de Sockets que se conectan a compañias aseguradoras para obtener tarifas y una de ellas me pider una pre-validación en su servidor IIS, es decir:

Primero me tengo que validar con un usuario y una contraseña en su servidor IIS a través de post y luego me dan otro usuario y contraseña para validarme a través de XML.

Parte del código de conexión a través de IIs es el siguiente:


Código PHP:
// CONEXION CON SERVIDOR IIS
procedure TProtocolThread.HTTPConectarConElServidor_Compania1;
var
  
salidastring;
  
kkTIdCustomHTTP;

begin
  
//creo el TXMLDocument del registro protocolo
  
regprotocolo.xmlprotocolo:=TXMLDocument.Create(nil);
  
regProtocolo.HTTPCliente.ReadTimeout:=12000;

  
// OBTENGO DATOS DE CONEXIÓN DE FICHERO TXT

  
kk.Port:=StrToInt(regprotocolo.regHTTP.port);
  
kk.Host:=regProtocolo.regHTTP.host;
  
kk.URL.Create(regprotocolo.regHTTP.url);
  
kk.Request.Username:=regprotocolo.regHTTP.user;
  
kk.Request.Password:=regprotocolo.regHTTP.password;

  try
    
kk.Connect(5000);

    
//////////////////////////////////////////////
    //////////////////////////////////////////////
    //   Aquí envío el post pero no se como
    //   pasar el usuario y contraseña
    //////////////////////////////////////////////
    //////////////////////////////////////////////
   // esto es un intento de conexión -> ERROR !!!
    
kk.Post(kk.URL,kk.Response,kk.Response);
  
except
    on e
Exception do
    
begin
      GetRespuestaError
('[>]ERROR AL INTENTAR CONECTAR CON COMPAÑIA 2 ',GetUso,regProtocolo.xmlprotocolo);
      
//Elimina saltos de linea y el retornos de carro
      
salida:=regProtocolo.XMLProtocolo.XML.Text;
      
salida:=StringReplace(salidaString(Chr(13))+String(Chr(10)),'',[rfReplaceAll]);
      
xmlGlobal.XML.Append(salida);
    
end;
  
end


¿Alguien sabe como puedo pasar el usuairo y la contraseña al servidor de la compañia?

Muchas gracias.
  #2 (permalink)  
Antiguo 14/02/2006, 06:56
Avatar de davidvamo  
Fecha de Ingreso: diciembre-2001
Ubicación: Barcelona '92
Mensajes: 106
Antigüedad: 22 años, 4 meses
Puntos: 0
La web a la cual me conecto es SSL.

estoy usando los siguientes componentes de Indy 9:

TIdHTTP
TIdSSlHandlerSocket

en la propiedad del TIdHTTP.IO le he enlazado el TIdSSlHandlerSocket.

Hasta aquí he llegado rebuscando en foros de todos los idiomas.

Alguien sabe algo más.

Muchas gracias.
  #3 (permalink)  
Antiguo 10/07/2009, 06:38
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: DELPHI, validarse en IIS

Tres años después me hallo en el mismo caso que tú y además atacando a distintos web services de compañias con las que tarificar.
¡Qué casualidad! Yo también lo he intentado todo, primero me he tabado con las libreríasd de la OpenSSL y la versión correcta del Indy 10,
cuando este tema ya ha sido superado me encuentro con el problema del certificado "could not load root certificate.... "

Así que mirando en foros y demás encontré como convertir un certificado en .pfx a otro .pem pues todos los ejemplos que encontraba eran
en este último.

Y ahora esto parece que "cuela" pero me da el error 'HTTP 1.1 302 Found' y el post no devuelve nada, com mucho si pongo la propiedad HadleRedirects a True
del manejador del idhttp, me redirecciona a la página web de la susodicha compañía contra cuyo web service pretendo hacer el post.

Y según el técnico encargado de desarrollar el web service de la compañía al que tengo que atacar es porque "por que el certificado no esta acompañando a la transacción, eso provoca que el servicio os redirija a la url de la compañía"

Estoy harta de mirar en foros en todos los idomas, también y no veo ningún ejemplo de lo que necesito y menos de pasar certificados .pfx.

En todos los que aparece un certificado es en .pem. Por eso lo he convertido, pero tampoco funciona.

¿Puedes ayudarme? ¿Hay alguna manera de que esto funcione? Supongo que si ha sido hace tres años lo has superado. Llevo demasiado tiempo con esto
y el proyecto debería de haberse terminado ya. Pero estoy atascada con esto y no hay manera.

Gracias por adelantado.

Última edición por ironbaby; 10/07/2009 a las 06:49
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:06.