Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2012
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 21
adebonis Va por buen camino
Acceso a una WebService con SSL

Hola.

De nuevo pido vuestra ayuda con un problema que ocurre al conectar a un Webservice con SSL con THTTPRio.

Ejecutando desde un WindowsXP no da ningún error y el Webservice devuelve los datos que se le piden. Pero al ejecutarlo desde Windows7 aparece el siguiente error " - URL:https://lexnet3pruebas.justicia.es/services/Login - SOAPAction:""".

Antes del guión debería aparecer el motivo del error, pero aparece vacío. Además ejecuto el programa como administrador, sin el Firewall de Windows, sin el antivirus y con la cuenta de usuario en "no notificarme nunca" y como administrador.

Si alguien ha tenido el mismo problema o intuye alguna solución se lo agradecería ya que estoy actualmente parado con este proyecto.

Gracias.

Adolfo Bonis
Barcelona
Responder Con Cita
  #2  
Antiguo 04-04-2012
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
si puedes poner el codigo fuente para probarlo

tambien '¿que delphi usas. delphi 7, delphi 2006 delphi 2010, XE, XE2?
¿o usas c++builder¡?
¿que version de ssl usas osea la DLL es la de indy o de donde la conseguiste?
Responder Con Cita
  #3  
Antiguo 04-04-2012
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 21
adebonis Va por buen camino
Hola.

Estoy usando Delphi 2007. Para acceder con certificado (SSL) utiizo la libreria capicom.ddl con el siguiente código en el Evento HTTPRIOLoginHTTPWebNode1BeforePost del componente THTTPRIO.

Código Delphi [-]
procedure TfrAsuLexNet.HTTPRIOLoginHTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
var
  Store: IStore;
  Certs: iCertificates;
  Cert: ICertificate2;
  CertContext: ICertContext;
  PCertContext: PCCERT_CONTEXT;
begin
  Store := CoStore.Create;
  Store.Open(CAPICOM_CURRENT_USER_STORE, 'MY',CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
  Certs := Store.Certificates as ICertificates2;
  if Certs.Count > 0 then begin
    Cert := IInterface(Certs.Item[IndexCertif]) as ICertificate2;
    CertContext := Cert as ICertContext;
    CertContext.Get_CertContext(Integer(PCertContext));
    if InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT)) = False then
      ShowMessage( 'No se ha podido adjuntar el certificado digital.');
  end;

Para acceder al Webservice envío un XML con el siguiente código

Código Delphi [-]
  try
  (HTTPRIOLogin as LoginPortType).Login('');
  except
    on E: Exception do begin
    Mensaje(E.Message);
    Result := False;
    end;
  end;

El problema que tengo es que en Windows XP funciona a la perfección, pero no así en Windows 7 que da el siguiente error :

" - URL:https://lexnet3pruebas.justicia.es/services/Login - SOAPAction:"""

Adolfo Bonis
Barcelona
Responder Con Cita
  #4  
Antiguo 05-04-2012
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 21
adebonis Va por buen camino
Hola.

Sigo investigando este asunto que me trae desesperado.

He encontrado en internet la pagina www.charlesproxy.com con la aplicación Charles.exe que monitoriza las comunicaciones de entrada y salida por internet, y una vez en funcionamiento veo que se envia correctamente la solicitud al webservice y también la respuesta del webservice al programa.
Pero, el componente THTTORio no lo procesa.

Como que el componente THTTPRio utiliza la librería winIne.dll se me ocurre que el error venga de esta librería en Windows 7.

¿Alguien tiene noticias de estos errores?

Gracias.
Adolfo Bonis
Barcelona
Responder Con Cita
  #5  
Antiguo 05-04-2012
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
windows 7 32 bits o windows 7 64 bits?

puedes subir el exe. yo tengo windows 7 64 bits.

no se si uses eurekalog. sirve bastante para estor problemas de depuracion
Responder Con Cita
  #6  
Antiguo 30-04-2012
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 21
adebonis Va por buen camino
Por fin he podido resolver el error.

La causa es la configuración de "Opciones de Internet" del Panel de Control.

En "Opciones avanzadas" apartado "Seguridad" debe desmarcarse la línea siguiente: "Comprobar si se revocó el certificado del servidor*"

Y ya está, parece que windows 7 trae esta opción marcada por defecto y las versiones anteriores no.

Saludos.

Adolfo Bonis
Barcelona
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
webservice WCF consultasmq Internet 0 19-03-2012 22:10:00
Acceso a una WebService con SSL adebonis Internet 0 22-11-2011 21:59:19
Consumir WebService nasedo Varios 1 11-08-2011 15:32:57
WebService y D4 Nose Internet 1 02-08-2005 23:18:23
WebService en Delphi Rafa Internet 7 10-06-2004 10:30:06


La franja horaria es GMT +2. Ahora son las 01:25:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi