2011-12-13 25 views
11

CURLを使用してLinuxコマンドラインからWebサービスを呼び出すことができます。 wgetを使用してWebサービスを呼び出そうとしていますが、常に次のエラーが表示されます。 500内部サーバーエラーwgetを使用してWebサービスを呼び出す

私は、次の構文を使用しています:

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

soapRequest.xmlは(SOAPUIによって検証)XML要求が含まれています。エラーはwgetのから返さ

です:あなたは、SOAPと一緒にペイロードを

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. 

答えて

0

提出されていますか? SOAPUI Clientを使用して、成功した応答があるかどうかをチェックしましたか?

+0

はい:SoapUIを使用して同じペイロードを送信した場合、サーバーは正しい応答を返します。 – matteogll

4

は、私はあなたがこの構文を使用し、使用して、またはどのようにあなたのURLがフォーマットされていますが、IISで.NETで書かれたWebサービス操作を呼び出すためにしているウェブサーバどの言及していない--header="Content-Type: text/xml"

15

を使用する必要があります。

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

「soapaction」の値は、WSDL、またはmyservice.asmxでの操作のためにASP.NETが作成する情報ページにあります。

+0

これは私を大きく助けます。 JBossWSでうまく動作します。 –

関連する問題