FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
COVE. Encabezados en XML-Cliente Webservice-SOAP
Hola, estoy ejecutando mi funcion al Cliente de Webservice Delphi(WSDL-Importer)pero la respuesta que tengo del Web es el error:
Código:
<faultstring>Error on verifying message against security policy Error code:1000</faultstring> Código:
<?xml version="1.0" encoding="UTF-8" ?> - <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:oxml="http://www.ventanillaunica.gob.mx/cove/ws/oxml/"> - <soapenv:Header> - <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> - <wsse:UsernameToken> <wsse:Username>GWT921026L97</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">2eSBtD+Go01Kaka4YoLqrsvDWrP1AZn1nFZTQmT/3S7EFZVD5Pvju09ybA5nwMCK</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> - <soapenv:Body> - <oxml:solicitarRecibirCoveServicio> - <!-- 1 or more repetitions: --> - <oxml:comprobantes> <oxml:tipoIdentificador>1</oxml:tipoIdentificador> <oxml:identificacion>GWT921026L97</oxml:identificacion> ... Código:
<?xml version="1.0" ?> - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SOAP-ENV:Body> - <SOAP-ENV:SolicitarRecibirCoveServicio> - <comprobantes xmlns="http://www.ventanillaunica.gob.mx/cove/ws/oxml/"> <tipoIdentificador>_22</tipoIdentificador> <identificacion>TOAR001116HDFRRL02</identificacion> ... |
#2
|
|||
|
|||
Encabezados=Header
Bien, pues el Header se hace con siguiente llamada:
Código:
el_header2 := TWsseHeader.Create; el_header2.Username := 'TOAR0011165W7'; el_header2.KerberosToken := 'TCY2SCOki4mo0EwgiA7X7tfmCHXqIP+dvAdHFFO/utZgui9hvfs7Zg5t2QVmFBw'; HTTPRIO1.SOAPHeaders.Send(el_header2); Código:
TWsseHeader = class(TSOAPHeader) private FPassword: AnsiString; FUsername: AnsiString; public function ObjectToSOAP(RootNode, ParentNode: IXMLNode; const ObjConverter: IObjConverter;const Name, URI: InvString; ObjConvOpts:TObjectConvertOptions;out RefID: InvString): IXMLNode; override; property PasswordToken: AnsiString read FPasswordToken write FPasswordToken ; property Username: AnsiString read FUsername write FUsername; const WSSE_NS_PRE = 'wsse'; WSSE_NS_URI = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-ws-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1'; UTIL_NS_PRE = 'wsu'; UTIL_NS_URI = 'schemas.xmlsoap.org/ws/2002/07/utility'; NSDELIM = ':'; { TWsseHeader } function TWsseHeader.ObjectToSOAP(RootNode, ParentNode: IXMLNode; const ObjConverter: IObjConverter; const Name, URI: InvString; ObjConvOpts: TObjectConvertOptions; out RefID: InvString): IXMLNode; var binsec: IXMLNode; begin ParentNode.AddChild(WSSE_NS_PRE + NSDelim + 'Security',WSSE_NS_URI); Result := ParentNode.AddChild(WSSE_NS_PRE + NSDelim + 'UsernameToken',WSSE_NS_URI); binsec := Result.AddChild(WSSE_NS_PRE + NSDelim + 'Username', WSSE_NS_URI); binsec.Text := FUsername; binsec := Result.AddChild(WSSE_NS_PRE + NSDelim + 'Password', WSSE_NS_URI); binsec.Attributes['Type'] := 'http://docs.oasis-#PasswordText'; binsec.Text := FPasswordToken ; end; Código:
<?xml version="1.0" ?> - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SOAP-ENV:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-ws-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1" /> - <wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-ws-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:Username>TOAR0011165W7</wsse:Username> <wsse:Password Type="http://docs.oasis-#PasswordText">TCY2SCOki4mo0EwgiA7X7tfmCMHXqIP+dvAdHFFO/utZgui9hvfs7Zg5t2QVmFBw</wsse:Password> </wsse:UsernameToken> </SOAP-ENV:Header> - <SOAP-ENV:Body> - <SOAP-ENV:SolicitarRecibirCoveServicio> ... Que le falta a mi Metodo ??? Mañana otra vez a prueba y error. Saludos. |
#3
|
|||
|
|||
#4
|
|||
|
|||
Saludos! Vengo encontrando este foro y pues, por causas ajenas a mi, vamos empezando el proyecto, solo que lo estoy haciendo en C# .net
De principio me dijeron que tenia que enviar un XML, para luego recibir un XML de regreso, pero solo vi objetos y son los que llene. No me quedan algunas cosas claras, he llenado los objetos del WS, pero no se como autenticarme para mandar la informacion, es esto de los headers la forma? Gracias! |
#5
|
|||
|
|||
Asi es, en el header especificamente en el UserNameToken tienes 2 elementos, username y password, es ahi donde debes autentificarte.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
SOAP POST - Webservice con Certificado y SSL | JXJ | Varios | 5 | 09-05-2011 21:11:08 |
Consumir WebService. Ayuda con XML,WSDL,XSD,SOAP | josemmerida | Internet | 2 | 23-12-2010 14:37:16 |
cliente Web service SOAP php | papulo | PHP | 0 | 13-02-2009 12:41:16 |
Ayuda con SOAP. Requisitos en el cliente? | rolandoj | Internet | 5 | 27-10-2008 19:41:12 |
WebService y SOAP | linsua | Varios | 0 | 07-04-2004 20:27:16 |
|