verificaremos el siguiente wsdl de ejemplo: http://localhost:80/integracion/oneamx/controladora/ivr/proxy/identifyCaller?wsdl
nota: se necesita tener instalado el telnet.
1. verificamos si tenemos instalado el telnet:
[myuser@mymaquina]# dpkg -l | grep telnet
2. Si está, nos saltamos este paso, sino lo instalamos así (ojo que esto instala el cliente y servidor):
[myuser@mymaquina]# apt-get install telnetd
3. Una vez instalado el telnet, necesitamos teclear la ip de la maquina y el puerto en donde se aloja el web service.
[myuser@mymaquina]# telnet www.miws.com 80
4. Luego una vez conectados saldrá algo similar a esto...
Trying 123.123.123.123...
Connected to 123.123.123.123.
Escape character is '^]'.
5. Ahora viene lo que nos interesa, debemos teclear lo siguiente para saber si el wsdl esta disponible o alcansable desde nuestra máquina:
GET /integracion/oneamx/controladora/ivr/proxy/identifyCaller?wsdl HTTP/1.0
como vemos ponemos el comando GET continuado de la ruta del wsdl pero sin el host y el puerto ya que estamos dentro del servidor (vía telnet).
Si esta disponible el wsdl saldrá la información en xml acerca de los tag del ws, en caso de que no tengamos acceso saldrá un html con un Error 404--Not Found o algun otro tipo de error.
Al hacer esta consulta, automaticamente nos desconectamos del telnet, por lo que para enviar un request debemos reconectarnos siguiendos los mismos pasos que en el principio.
Para enviar un request utilizaremos como ejemplo el siguente código:
nota: Este código también puede ser obtenido mediante el SOAP UI en la pestañita "raw"
entonces, nos conectamos al telnet y ponemos el siguiente código:
POST /integracion/oneamx/controladora/ivr/proxy/planForTariff HTTP/1.0
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://planfortariff.selfmanagement.amx.com/PlanForTariff"
Content-Length: 368
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:plan="http://planfortariff.selfmanagement.schema.amx.com">
<soapenv:Header/>
<soapenv:Body>
<plan:PlanForTariffRequest>
<plan:subscriberIdentifier>30900778</plan:subscriberIdentifier>
</plan:PlanForTariffRequest>
</soapenv:Body>
</soapenv:Envelope>
al enviar esto, el WS nos deberia responder con el Response del método.
nota: el parametro Content-Length contiene la cantidad de caracteres del mensaje request (desde <soapenv... hasta </soapenv...), esto lo podemos sacar en algun editor de texto q nos devuelva la cantidad de texto seleccionado, el notepad++ puede servirnos...
nota: el parametro Content-Length contiene la cantidad de caracteres del mensaje request (desde <soapenv... hasta </soapenv...), esto lo podemos sacar en algun editor de texto q nos devuelva la cantidad de texto seleccionado, el notepad++ puede servirnos...
No hay comentarios:
Publicar un comentario