Hoy os voy a explicar como atacar a un web service desde bash realizando una petición SOAP, que no es ni mas ni menos que la comunicación entre dos objetos por medio de intercambio de datos XML. ¿Para que es útil hacer esto por consola? Por ejemplo para sistemas de monitorización que necesiten chequear el estado del web service.

Por ejemplo vamos a acceder a algún web service publico del repositorio https://www.service-repository.com/ para mostraros el ejemplo, elijo el siguiente: https://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL y voy a usar uno de los métodos que hay por ejemplo: GetWeatherInformationSoapIn el cual nos va a mostrar en forma de xml un ejemplo del estado del tiempo

https://www.service-repository.com/operation/operations?id=58


Lo primero de todo va a ser crear nuestro fichero xml para realizar la petición, en el cual le tendremos que indicar la API de la que va a extraer los datos:

<s11:Envelope xmlns:s11="https://schemas.xmlsoap.org/soap/envelope/">
<s11:Body>
<ns1:GetWeatherInformation xmlns:ns1="https://ws.cdyne.com/WeatherWS/"/>
</s11:Body>
</s11:Envelope>

Ahora ya podemos realizar la petición a través de curl 

/usr/bin/curl --connect-timeout 60 -m 60 -s -S -L --header "Content-Type: text/xml;charset=UTF-8" --data @soap.xml https://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL | xmllint --forma

De esta forma obtenemos el listado de ciudades y el tiempo en cada una de ellas.

 

Soap Web Service por DBigCloud

 

Con este ejemplo ya podéis usar curl en bash para atacar a un web service realizando una petición SOAP. Con el repositorio que os he pasado podeis realizar diversas pruebas, os invito a que realiceis alguna y publicamos aquí las vuestras. 


Compártelo:

FacebookTwitterDiggGoogle BookmarksLinkedIn

Daniel Romero Sanchez
Author: Daniel Romero SanchezWebsite: https://www.dbigcloud.com
Responsable de sistemas y Arquitecto Cloud - vExpert 2015/19- VCP550-DCV - LPIC-1


Comentarios  

+1 # RE: Realizando peticiones soap a un web service con curl en bashAngelo 31-03-2017 13:55
Buen defienicion,
information caducada.
https://ws.cdyne.com/WeatherWS/
error conection.
Responder

DBigCloud en tu idioma

esenfrdeitptru

Gold Sponsor

 

vExpert 2017

DbigCloud newsletter

Suscribete a nuestra newsletter y recibe cada semana los mejores artículos seleccionados por DBigCLoud.
Email type
Please wait