Web Service PAMI - Trazabilidad de Medicamentos

14/05/2012 - 02:45 por Fabián Tomás de Paula | Informe spam
El problema es como hacer el LOGIN, según todo lo q leí debería estar
en el HEADER y el comando en el BODY, según SOAPUI

El XML de Request q hace es el siguiente:

<soapenv:Envelope xmlns:bus="http://business.mywebservice.inssjp.com/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/env...">
<soapenv:Header/>
<soapenv:Body>
<bus:sendCancelacTransacc>
<!--Optional:-->
<arg0>?</arg0>
<!--Optional:-->
<arg1>?</arg1>
<!--Optional:-->
<arg2>?</arg2>
</bus:sendCancelacTransacc>
</soapenv:Body>
</soapenv:Envelope>

pero aca no está el q de seguridad q es el siguiente:

<wsse:Security xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-secext-1.0.xsd'>
<wsse:UsernameToken xmlns:wsu='http://docs.oasis-open.org/wss/
2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'>
<wsse:Username>testwservice</wsse:Username>
<wsse:Password>testwservicepsw</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>

Probando con el objeto:

CREATEOBJECT('MSXML2.XMLHTTP') o con CREATEOBJECT('Msxml2.XMLHTTP.
6.0')

No puedo, siempre me tira el mismo error:

OLE IDispatch exception code 0 from msxml6.dll: The download of the
specified resource has failed.

Con el SOAPUI logre conectar y ejectuar uno de los 3 metodos q existen
en el servidor, pero realmente no logre ver como se loguea porque si
armo todo el XML poniendo la sección de seguridad como HEADER el
comando se ejecuta pero tira un error al procesar el HEADER...Esto
atazcado.

Alguien me puede dar una mano al respecto??

Saludos Fabian.
 

Leer las respuestas

#1 Fabián Tomás de Paula
14/05/2012 - 03:27 | Informe spam
On 13 mayo, 21:45, Fabián Tomás de Paula
wrote:
El problema es como hacer el LOGIN, según todo lo q leí debería estar
en el HEADER y el comando en el BODY, según SOAPUI

El XML de Request q hace es el siguiente:

<soapenv:Envelope xmlns:bus="http://business.mywebservice.inssjp.com/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/env...">
   <soapenv:Header/>
   <soapenv:Body>
      <bus:sendCancelacTransacc>
         <!--Optional:-->
         <arg0>?</arg0>
         <!--Optional:-->
         <arg1>?</arg1>
         <!--Optional:-->
         <arg2>?</arg2>
      </bus:sendCancelacTransacc>
   </soapenv:Body>
</soapenv:Envelope>

pero aca no está el q de seguridad q es el siguiente:

          <wsse:Security xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-secext-1.0.xsd'>
                <wsse:UsernameToken xmlns:wsu='http://docs.oasis-open.org/wss/
2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'>
                  <wsse:Username>testwservice</wsse:Username>
                  <wsse:Password>testwservicepsw</wsse:Password>
                </wsse:UsernameToken>
          </wsse:Security>

Probando con el objeto:

CREATEOBJECT('MSXML2.XMLHTTP') o con CREATEOBJECT('Msxml2.XMLHTTP.
6.0')

No puedo, siempre me tira el mismo error:

OLE IDispatch exception code 0 from msxml6.dll: The download of the
specified resource has failed.

Con el SOAPUI logre conectar y ejectuar uno de los 3 metodos q existen
en el servidor, pero realmente no logre ver como se loguea porque si
armo todo el XML poniendo la sección de seguridad como HEADER el
comando se ejecuta pero tira un error al procesar el HEADER...Esto
atazcado.

Alguien me puede dar una mano al respecto??

Saludos Fabian.



Bueno...Segun el SOAPUI la versión 4.5, este XML es el correcto. Lo
envío como estoy queriendo ejecutar y no me esta funcionando.

TEXT TO eValidaXML TEXTMERGE NOSHOW
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:bus="http://business.mywebservice.inssjp.com/">
<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" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-21">
<wsse:Username>testwservice</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-username-token-
profile-1.0#PasswordText">testwservicepsw</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-soap-message-
security-1.0#Base64Binary">txuuKizMngudoQgFBdo3/A==</
wsse:Nonce><wsu:Created>2012-05-14T01:08:52.333Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<bus:sendCancelacTransacc>
<!--Optional:-->
<arg0>4373738833</arg0>
<!--Optional:-->
<arg1>pruebasws</arg1>
<!--Optional:-->
<arg2>pruebasws</arg2>
</bus:sendCancelacTransacc>
</soapenv:Body>
</soapenv:Envelope>
ENDTEXT
ENDCASE

LOCAL oError, oObjWSException

STORE .NULL. TO oObjWSException, oError

TRY
oHTTP = CREATEOBJECT('MSXML2.XMLHTTP') &&
CREATEOBJECT('Msxml2.XMLHTTP.6.0')
oHTTP.open("post", "https://186.153.145.2:9050/trazamed.WebService?
wsdl", .F.)
oHTTP.setRequestHeader("Content-Type", [text/xml;charset=utf-8])
oHTTP.setRequestHeader("SOAPAction", "http://
business.mywebservice.inssjp.com/IWebService/sendCancelacTransacc")
oHTTP.send(eValidaXML) && eValidaXML)

CATCH TO oError
FINALLY
IF !ISNULL(oError)
oObjWSException = oError
ENDIF
ENDTRY

El error q me devuelve es siempre el mismo: "OLE IDispatch exception
code 0 from msxml3.dll: Error en la descarga del recurso solicitado.."

Alquien me puede dar una mando. A esta altura es un problema de SOAP
del objeto q por ahí es obsoleto, porque el XML estoy seguro q
funciona.

Saludos. Fabián.

Preguntas similares