2011-12-13 2 views
11

CURL을 사용하여 Linux 명령 줄에서 웹 서비스를 호출 할 수 있습니다. 이제 wget을 사용하여 웹 서비스를 호출하려고 시도했지만 다음 오류가 항상 나타납니다. 500 내부 서버 오류.wget을 사용하여 웹 서비스 호출

나는 다음과 같은 구문을 사용하고 있습니다 : soapRequest.xml이 (SoapUI에 의해 검증) XML 요청이 들어

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

.

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

는 SOAP과 함께 페이로드를 제출 :

오류는 wget을에서 반환? SOAPUI Client를 사용하여 성공적인 응답이 있는지 확인하려고 했습니까?

+0

예 : SoapUI를 사용하여 동일한 페이로드를 제출하면 서버가 올바른 응답을 제공합니다. – matteogll

4

나는 당신이 구문을 사용하면 사용하거나 방법 URL 포맷,하지만 IIS에 .NET으로 작성된 웹 서비스 작업을 호출하는 웹 서버 어떤 언급하지 않는 --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 또는 ASP.NET이 myservice.asmx에서 작업을 위해 만든 정보 페이지에서 찾을 수 있습니다.

+0

그 점이 많은 도움이됩니다. JBossWS에서 잘 작동합니다. –