我想获取Web服务的WSDL文件,而我唯一拥有的是URL(例如webservice.example / foo)。
如果我直接使用URL,则只会传递错误响应。
Answers:
通过将URL后缀为 ?WSDL
例如,如果URL:
http://webservice.example:1234/foo
你用:
http://webservice.example:1234/foo?WSDL
wsdl将被交付。
WSDL
(Web Service Description Language
)。可以从SOAP Web Services获得:
http://www.w3schools.com/xml/tempconvert.asmx
要获取WSDL,我们只需添加?WSDL
,例如:
如果将Web服务配置为提供WSDL,则只有获得WSDL才有可能。因此,您必须指定serviceBehavior并启用httpGetEnabled:
<serviceBehaviors>
<behavior name="BindingBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
如果只能通过https访问Web服务,则必须启用http的GetEnabled而不是httpGetEnabled。
要使用Visual Studio的“开发人员命令提示符”从URL下载wsdl ,请在管理员模式下运行它并输入以下命令:
svcutil /t:metadata http://[your-service-url-here]
现在,您可以根据需要在项目中使用下载的wsdl。