CURLを使用して...次のコマンドを実行できました
C:\curl>curl -H "SOAPAction: http://172.16.255.7:5000/client_smart/"
--data @soap.xml http://172.16.255.7:5000/client_smart
私の C:\ ドライブには、次のように定義されている soap.xml ファイルがあります。
<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<n1:get_client env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:n1="urn:ActionWebService">
<client_id xsi:type="xsd:int">1</client_id>
</n1:get_client>
</env:Body>
</env:Envelope
コマンドを実行すると、期待どおりに実行され、情報が返されます。
ただし、Visual Studio 2008 を開いて参照として追加しようとすると、このメッセージが表示されます
The document at the url http://172.16.255.7:5000/client_smart/wsdl was
not recognized as a known document type. The error message from each
known type may help you fix the problem:
- Report from 'DISCO Document' is 'Discovery document at the URL
http://172.16.255.7:5000/client_smart/wsdl could not
VS2008 の URL に /wsdl を付けずに試してみましたが、「ページを表示できません」というメッセージが表示されます。
URL に SoapUI を使用すると、「'action_web_service/xsd:string' の名前空間を判別できません」というメッセージが表示されます。
Web サービスが CURL では機能するのに、VS2008 や SoapUI では機能しない理由について何か考えはありますか?
このサービスは Ruby on Rails で開発されました。