2012-04-17 9 views
7

curlを使用してSOAPリクエストをWebサービスに送信し、シェルスクリプトを使用してレスポンスを取得します。私が使用しているコマンドを以下で見つけてください: -シェルコマンドからSOAPリクエストを呼び出す

curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:" -d @sample_request.txt -X POST http://someWebServiceURL 

私はSOAPActionヘッダがないというエラー応答を受け取りました。 PFB応答ボディ部

<soapenv:Body> 
<soapenv:Fault> 
<faultcode>Client.NoSOAPAction</faultcode> 
<faultstring>WSWS3147E: Error: no SOAPAction header!</faultstring> 
</soapenv:Fault> 
</soapenv:Body> 

任意の助けを理解されたいです!

答えて

8

SOAPアクションの名前を指定する必要があります。あなたは持っています:

-H "SOAPAction:" 

アクションの名前を入力してください。例えば。

-H "SOAPAction: http://my_example/my_action" 

アクションの名前をWSDLから取得します(存在する場合)。たとえば、How do you determine a valid SoapAction?を参照してください。

+3

SoapActionヘッダーのURIを引用することを忘れないでください。仕様では、nullでない場合、二重引用符で囲む必要があります。つまり、SOAPAction:http:// my_example/my_action " – Petesh

0

サービスのWSDLから、SoapActionを見つけることができます。また、サービスのURLへのWebブラウザを開いて、呼び出す操作とWSDLにアクセスする操作を見つけることができます。 Curlを使用してSoapActionを呼び出すには、-H SOAPAction:http://tempuri.org/Executeのように、アクションを "-H"で指定する必要があります。

+0

これをカールさせずに行うにはbashのLinuxで? –

関連する問題