如何从Web服务的URL获取wsdl文件


92

我想获取Web服务的WSDL文件,而我唯一拥有的是URL(例如webservice.example / foo)。

如果我直接使用URL,则只会传递错误响应。

Answers:


132

通过将URL后缀为 ?WSDL

例如,如果URL:

http://webservice.example:1234/foo

你用:

http://webservice.example:1234/foo?WSDL

wsdl将被交付。


2
有时也包括所有大写(WSDL)
2014年

而且,如果您未获得wsdl,则可能会获得带有绑定键或某种验证代码的xml,这将有助于您编写wsdl的实际URL。
制表师

任何想法如何获取导入的XSD文件?
vikingsteve,2016年

这行不通。这是我的网络服务网址: prealert-test.customer-pages.com

1
WSDL something是一个约定,通常后接框架等。如果对您不起作用,我猜您应该找到适合您所使用框架的东西。
Alfergon


13

如果将Web服务配置为提供WSDL,则只有获得WSDL才有可能。因此,您必须指定serviceBehavior并启用httpGetEnabled:

<serviceBehaviors>
    <behavior name="BindingBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
</serviceBehaviors>

如果只能通过https访问Web服务,则必须启用httpGetEnabled而不是httpGetEnabled。


5

要使用Visual Studio的“开发人员命令提示符”从URL下载wsdl ,请在管理员模式下运行它并输入以下命令:

 svcutil /t:metadata http://[your-service-url-here]

现在,您可以根据需要在项目中使用下载的wsdl。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.