2011-12-13 13 views
11

Sono in grado di chiamare un servizio Web dalla riga di comando di Linux utilizzando CURL. Ora sto cercando di usare wget per chiamare un servizio Web ma ricevo sempre il seguente errore: Errore interno server 500.Chiamare il servizio Web utilizzando wget

sto usando la seguente sintassi:

wget http://<endPoint> --post-file=soapRequest.xml --header="Content-Type: application/soap+xml" --output-document=soapResponse.xml 

Dove soapRequest.xml contiene la richiesta XML (convalidato da SoapUI).

L'errore riscontrato da wget è:

Connecting to <host:port>... connected. 
HTTP request sent, awaiting response... 500 Internal Server Error 
2011-12-12 23:18:33 ERROR 500: Internal Server Error. 

risposta

0

Si sta presentando il carico utile con il sapone? Hai provato a utilizzare SOAPUI Client per verificare se c'è una risposta positiva?

+0

Sì: se invio lo stesso payload utilizzando SoapUI il server mi dà una risposta corretta .. – matteogll

4

devo usare --header="Content-Type: text/xml"

15

Non accennate che WebServer si utilizza, o come l'URL è formattato, ma per richiamare un operazione del servizio Web scritte in .NET su IIS utilizzare questa sintassi:

wget --post-file=soaprequest.xml --header="Content-Type: text/xml" --header="SOAPAction: \"soapaction\"" http://server/app/myservice.asmx -O response.xml

Il valore "soapaction" può essere trovato nel WSDL o nella pagina di informazioni creata da ASP.NET per l'operazione su myservice.asmx.

+0

Questo mi aiuta molto. Funziona bene con JBossWS. –