如何从webservice的URL获取wsdl文件

Alf*_*gon 76 wsdl

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

如果我直接使用URL,则仅传递错误响应.

Alf*_*gon 107

通过postfixing URL ?WSDL

如果URL是例如:

http://webservice.example:1234/foo
Run Code Online (Sandbox Code Playgroud)

你用:

http://webservice.example:1234/foo?WSDL
Run Code Online (Sandbox Code Playgroud)

wsdl将被交付.

  • 所有上限有时也是(WSDL) (2认同)
  • ?WSDL 是框架等通常遵循的约定。如果它不适合你,我想你应该找到一些特定于你正在使用的框架的东西。 (2认同)

Jor*_*sys 19

从Web服务URL 获取WSDL(Web Service Description Language).

可以从SOAP Web服务:

http://www.w3schools.com/xml/tempconvert.asmx
Run Code Online (Sandbox Code Playgroud)

获取我们只需要添加的WSDL ?WSDL,例如:

http://www.w3schools.com/xml/tempconvert.asmx?WSDL

  • 如果你想从 SOAP 中检索数据,你应该使用这个工具 https://www.soapui.org/ 它是免费的并且工作正常。 (2认同)

Man*_*och 10

如果将webservice配置为提供它,则只能获取WSDL.因此,您必须指定serviceBehavior并启用httpGetEnabled:

<serviceBehaviors>
    <behavior name="BindingBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
</serviceBehaviors>
Run Code Online (Sandbox Code Playgroud)

如果只能通过https访问webservice,则必须启用http s GetEnabled而不是httpGetEnabled.


Tal*_*mam 7

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

 svcutil /t:metadata http://[your-service-url-here]
Run Code Online (Sandbox Code Playgroud)

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