Saltar al contenido

Cómo hacer una llamada de servicios web SOAP wsdl desde la línea de comando

Alfredo, miembro de este equipo, nos ha hecho el favor de escribir esta reseña ya que domina perfectamente dicho tema.

Solución:

Es un servicio web SOAP ordinario y estándar. SSH no tiene nada que hacer aquí. Lo acabo de llamar con curl (one-liner):

$ curl -X POST -H "Content-Type: text/xml" 
    -H 'SOAPAction: "http://api.eyeblaster.com/IAuthenticationService/ClientLogin"' 
    --data-binary @request.xml 
    https://sandbox.mediamind.com/Eyeblaster.MediaMind.API/V2/AuthenticationService.svc

Dónde request.xml archivo tiene el siguiente contenido:


           
           
              
                 user
                 password
                 key
              
          

Me sale este hermoso 500:



  
    
      s:Security.Authentication.UserPassIncorrect
      The username, password or application key is incorrect.
    
  

¿Has probado el Soapui?

Lee mas

En la línea de comandos de Linux, simplemente puede ejecutar:

curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:"  -d @your_soap_request.xml -X POST https://ws.paymentech.net/PaymentechGateway

Usando CURL:

SOAP_USER='myusername'
PASSWORD='mypassword'
AUTHENTICATION="$SOAP_USER:$PASSWORD"
URL='http://mysoapserver:8080/meeting/aws'
SOAPFILE=getCurrentMeetingStatus.txt
TIMEOUT=5

Solicitud de rizo:

curl --user "$AUTHENTICATION" --header 'Content-Type: text/xml;charset=UTF-8' --data @"$SOAPFILE" "$URL" --connect-timeout $TIMEOUT

Yo uso esto para verificar la respuesta:

http_code=$(curl --write-out "%http_coden" --silent --user "$AUTHENTICATION" --header 'Content-Type: text/xml;charset=UTF-8' --data @"$SOAPFILE" "$URL" --connect-timeout $TIMEOUT --output /dev/null)
if [[ $http_code -gt 400 ]];  # 400 and 500 Client and Server Error codes http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
then
echo "Error: HTTP response ($http_code) getting URL: $URL"
echo "Please verify parameters/backend. Username: $SOAP_USER Password: $PASSWORD Press any key to continue..."
read entervalue || continue
fi

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *