如何更改soap服务在.net中生成的自动生成的wsdl

时间:2010-09-09 15:32:17

标签: .net web-services soap asmx

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

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

2 个答案:

答案 0 :(得分:1)

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

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

最有可能的是,生成的WSDL 与原始WSDL相同。它应该是等效的,但它可能不完全相同。如果您需要相同的WSDL,那么由于您使用的是ASMX Web服务,因此非常不幸。您可以做的最好的事情是将原始WSDL放在与模拟服务相同的网站上。然后,客户端可以通过指向Service.wsdl而不是Service.asmx?wsdl的URL获取原始WSDL。

BTW,WCF允许您指定在请求元数据(WSDL)时要返回的WSDL的位置。

答案 1 :(得分:1)

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