Webサービス用のWSDLファイルを入手したいのですが、私が持っている唯一のものはそのURLです(webservice.example/fooのように)。
URLを直接使用した場合、エラー応答のみが配信されます。
URLの後に?WSDL
を付ける
URLが例えば
http://webservice.example:1234/foo
あなたが使う:
http://webservice.example:1234/foo?WSDL
そしてwsdlが配信されます。
WSDL
(Web Service Description Language
)を取得します。SOAP Webサービスから可能です。
http://www.w3schools.com/xml/tempconvert.asmx
wSDLを取得するには、?WSDL
を追加するだけです。次に例を示します。
Webサービスが配信するように設定されている場合にのみ、WSDLを取得できます。そのためにはserviceBehaviorを指定し、httpGetEnabledを有効にする必要があります。
<serviceBehaviors>
<behavior name="BindingBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
Webサービスがhttpsでしかアクセスできない場合は、httpGetEnabledではなくhttp s GetEnabledを有効にする必要があります。
Visual Studio用開発者コマンドプロンプトを使用してURLからwsdlをダウンロードするには、管理者モードで実行し、次のコマンドを入力します。
svcutil /t:metadata http://[your-service-url-here]
ダウンロードしたwsdlをプロジェクト内で適切に使用できるようになりました。