【问题标题】:How do I change the auto generated wsdl that a soap service generates in .net如何更改肥皂服务在 .net 中生成的自动生成的 wsdl
【发布时间】:2010-09-09 15:32:17
【问题描述】:

我正在尝试模拟一个不完整但已经设计好的 java web 服务,即我有 wsdl。 我已经实现了一个 .net Web 服务,其中包含具有相同名称等所需的类和方法。 但是,当我从 .net Web 服务请求 wsdl 时,生成的代理类包含后缀“Soap”,例如,我得到的是 FundServiceSoap,而不是 FundServiceSoap。

如何删除 Soap 位,以便我生成的类在我最终将其指向已完成的 Java Web 服务时与那些匹配。

【问题讨论】:

  • 你确定 Java 工具不会附加 'Soap' 吗?

标签: .net web-services soap asmx


【解决方案1】:

您需要问的第一个问题是生成的 WSDL 是否与原始 Java WSDL 相同。可能是,但可能不是。

在这种情况下,您尤其应该忽略代理类。即使是从原始 Java WSDL 生成的,它们的末尾也可能会有“Soap”。

很可能,生成的 WSDL不会与原始 WSDL 相同。它应该是等价的,但很可能并不完全相同。如果您需要相同的 WSDL,那么您就很不走运了,因为您使用的是 ASMX Web 服务。最好的办法是将原始 WSDL 放在与模拟服务相同的网站上。然后,客户端可以通过指向 Service.wsdl 而不是 Service.asmx?wsdl 的 URL 获取原始 WSDL。

顺便说一句,WCF 允许您指定请求元数据 (WSDL) 时要返回的 WSDL 的位置。

【讨论】:

    【解决方案2】:

    如果您有 WSDL,您可以为它生成一个服务器存根,wsdl.exe /serverInterface the.wsdl(或类似的,取决于您使用的 .NET 的确切版本)。这将为您生成符合您已有的 WSDL 的服务的服务器存根。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 2021-02-21
      • 1970-01-01
      • 2011-07-07
      相关资源
      最近更新 更多