如何基于支持multiref反序列化的固定WSDL创建.NET Web服务

时间:2014-03-13 17:46:34

标签: .net web-services serialization soap

背景:我们有一个“业务合作伙伴”,它有一个java客户端,用于连接基于java / Axis的Web服务。他们想使用同一个客户端向我们发送数据,因此我们需要“模仿”该Web服务。他们提供了WSDL,示例SOAP请求和示例SOAP响应(旁注:WSDL是自动生成的,并且长度超过46,000行)。问题是我们是.NET商店。

我尝试使用WSDL实现ASMX Web服务和使用SVCUTIL.exe 的WCF Web服务(两者生成的代理类都是巨型的)。但是,这两种实现都不支持示例SOAP请求,因为它包含.NET序列化程序似乎不理解的 multiref 引用,并且只要它尝试读取的值是一个InvalidOperationException,它就会抛出一个InvalidOperationException。枚举在代理类中。

我对此进行了广泛的研究,大多数帖子都是指.NET客户端在使用AXIS生成的Web服务时读取multiref响应。在这些帖子中,他们至少能够阅读回复 - 我甚至无法做到那么远。

我必须假设业务合作伙伴除了更改服务的网址之外不能对客户进行任何更改。

如果我需要提供一个示例/更多信息我会,但我的问题非常简单(虽然答案很可能不是)有没有办法生成。 NET“服务器端”Web服务代理类,支持“multiref”反序列化?

我必须解决此问题的其他想法:

  • 编写我自己的代理类
  • 覆盖代理类中的序列化行为(由于70,000行可能不可行)
  • 改为创建一个REST服务并手动解析SOAP请求(到目前为止,这是我倾向于的解决方案,除非我能找到更好的东西)

0 个答案:

没有答案