LinuxコマンドラインからCURLを使用してWebサービスを呼び出すことができます。現在、wgetを使用してWebサービスを呼び出そうとしていますが、常に次のエラーが表示されます:500内部サーバーエラー。
次の構文を使用しています。
wget http://<endPoint> --post-file=soapRequest.xml --header="Content-Type: application/soap+xml" --output-document=soapResponse.xml
SoapRequest.xmlには、XMLリクエスト(SoapUIによって検証済み)が含まれています。
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.
使用しているWebサーバーやURLの形式については言及していませんが、.NETで記述されたWebサービス操作をIIS=で呼び出すには、次の構文を使用します。
wget --post-file = soaprequest.xml --header = "Content-Type:text/xml" --header = "SOAPAction:\" soapaction\"" http:// server/app/myservice。 asmx -O response.xml
"soapaction"の値は、WSDL、またはASP.NETがmyservice.asmxでの操作のために作成する情報ページにあります。
--header="Content-Type: text/xml"
SOAPとともにペイロードを送信していますか? SOAPUIクライアントを使用して、成功した応答があるかどうかを確認しましたか?