Ver Mensaje Individual
  #3  
Antiguo 04-04-2012
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Reputación: 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