Hola club, el día de hoy tengo un problema al consumir un web service, les platico el problema.
Estoy trabajando con Delphi 2010, creando una aplicación que consume un web service, ya importe el WSDL desde la opción "WSDL Importer" de Delphi, En la definición del WSDL viene la especificación de un Header (AuthHeader) el cual ya definí con sus dos parametros username y password y hasta ahí todo bien, el problema es que vienen otras cabeceras que NO están definidas en el WSDL y que en la documentación del web service me indican que debo crear las clases para poder enviarlas desde SOAPHeaders y al no estar definidas en el WSDL por consiguiente no han sido importadas y declaradas.
Mi pregunta es ¿como debo crear estas clases tomado como base el SOAP que anexo? o ¿por donde debo buscar para poder agregar las cabeceras con sus respectivos atributos?
Anexo SOAP que ya probé y funciona sin ningún problema desde el programa SOAPUi en el podrán identificar el nodo Security y sus nodos Usernametoken y Timestamp; esas cabeceras son las que me falta definir en Delphi.
Nota modifica las URL porque aun no tengo permisos para enviar enlaces
Código PHP:
<soapenv:Envelope xmlns:soapenv="ht/schemas.xmlsoap.org/soap/envelope/" xmlns:slm="ht://schemas">
<soapenv:Header>
<slm:AuthHeader>
<slm:Username>userAuth</slm:Username>
<slm:Password>passAuth</slm:Password>
</slm:AuthHeader>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="ht/docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="ht/docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsu:Timestamp wsu:Id="TS-12">
<wsu:Created>2015-05-14T21:03:00.172</wsu:Created>
<wsu:Expires>2015-05-14T21:59:00.172</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken wsu:Id="UsernameToken-4">
<wsse:Username>usertoken</wsse:Username>
<wsse:Password Type="ht/docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">passtoken</wsse:Password>
<wsse:Nonce EncodingType="ht/docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">V33AMPBA==</wsse:Nonce>
<wsu:Created>2012-03-27T20:24:39.172Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<slm:GetL>
<slm:Lead>9</slm:Lead>
</slm:GetL>
</soapenv:Body>
</soapenv:Envelope>
De antemano muchas gracias y saludos