.net 从WSDL文件反向工程web服务接口的最佳方法?
我在一个系统上继承了一个web服务的WSDL文件,而我无法访问该文件进行开发和测试 我需要生成一个遵循WSDL的web服务。包装器是.NET,但是如果有一种简单的方法可以在另一个平台上实现这一点,我们也许可以看看它。生产web服务是基于Java的 做这件事最好的方法是什么 注意:继承的wsdl似乎与wsdl.exe不兼容,因为它不符合WS-I基本概要v1.1。 特别是,传递它的小组提到它使用了微软工具不支持的另一个标准,但他们没有澄清。该错误与所需的“名称”字段有关: Error: Element Reference '{namespace}/:viewDocumentResponse' declared in schema type '' from namespace '' - the required attribute 'name' is missing 错误:中声明了元素引用“{namespace}/:viewDocumentResponse” 命名空间“”中的架构类型“” -缺少必需的属性“name” 为了清楚起见,我知道我可以很容易地从WSDL文件创建.NET包装器类,但这不是我所需要的。是这样的: 更新:原始web服务是使用Axis创建的 使用.net 从WSDL文件反向工程web服务接口的最佳方法?,.net,web-services,wsdl,reverse-engineering,.net,Web Services,Wsdl,Reverse Engineering,我在一个系统上继承了一个web服务的WSDL文件,而我无法访问该文件进行开发和测试 我需要生成一个遵循WSDL的web服务。包装器是.NET,但是如果有一种简单的方法可以在另一个平台上实现这一点,我们也许可以看看它。生产web服务是基于Java的 做这件事最好的方法是什么 注意:继承的wsdl似乎与wsdl.exe不兼容,因为它不符合WS-I基本概要v1.1。 特别是,传递它的小组提到它使用了微软工具不支持的另一个标准,但他们没有澄清。该错误与所需的“名称”字段有关: Error: Elemen
/serverInterface
选项,您可能会发现.NET非常有用。根据文件:
为服务器端生成接口
ASP.NET Web应用程序的实现
服务将为生成一个接口
WSDL文档中的每个绑定。
WSDL单独实现了WSDL
契约(实现
接口不应包括以下任何一项:
关于类方法,请执行以下操作:
Web服务属性或
更改的序列化属性
WSDL契约)。缩写为
“/si”
尝试使用and模拟包装器接口。不确定这是否有帮助 我最近做的是:
- 使用wsdl工具或visual studio生成.cs文件
- 我把它改成了部分课程
- 我创建了另一个分部类,它所做的只是添加一行代码,表示该类实现了IWhatEver
- 我创建了一个与生成的代理类相同的接口(因此代理完全实现了该接口)
然后,您可以模拟它或创建一个简单的ASP web服务器来运行它。这很有帮助。尽管继承的wsdl似乎与它不兼容,因为它不符合WS-I Basic Profile v1.1。如果您只收到警告并生成了代码,可能您可以毫无问题地使用它。除非Wsdl中存在不兼容的内容,否则Wsdl.exe始终尝试生成基本配置文件兼容代码。此外,如果您从visual studio构建ws-client代理,您可能会收到类似的警告。您可以使用wsdl.exe创建客户端代理,并将其与项目中的代理进行比较;没有生成代码:(我将在问题中添加更多信息。这是否处理web服务的生成?我似乎找不到现成的信息,表面上看也不适用。我的意思是“模拟”在一般意义上,但它可能仍然适用?我尝试了wsdl.exe,但它与继承的wsdl不兼容,因为它不符合标准。:(在那之后,我不确定我是否需要模拟框架;我不能只更改代理类URL设置吗?这很巧妙。不起作用,但我可以将其用于其他事情!)(应该澄清它确实符合我的目的,但我仍然在处理一个坏掉的WSDL,我认为它只能在生成它的原始应用程序(Axis)上工作。下一步尝试)接受,因为我认为这将是最好的方式,除了在我的边缘案例中,它使用了一个混乱的WSDL。我很高兴它对您有所帮助。;-)