我可以使用CURL从Linux命令行调用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.
答案 0 :(得分:16)
您没有提到您正在使用的网络服务器,或者您的网址格式如何,但是要在IIS上调用用.NET编写的Web服务操作,请使用以下语法:
wget --post-file = soaprequest.xml --header =“Content-Type:text / xml”--header =“SOAPAction:\”soapaction \“”http://server/app/myservice.asmx -O response.xml < / p>
“soapaction”值可以在WSDL中找到,也可以在ASP.NET为myservice.asmx上的操作创建的信息页面中找到。
答案 1 :(得分:4)
我必须使用--header="Content-Type: text/xml"
答案 2 :(得分:0)
您是否随SOAP一起提交Payload?您是否尝试使用SOAPUI Client检查是否有成功的响应?