我试图调用第三方的web服务,它是用运行.net framework 4.0的C#构建的组件编写的。 WSDL位于here。从C#中的java web服务反序列化SOAP响应
我遇到的问题是我的C#代理类不会正确反序列化来自GetProjects方法的响应,因为它为Project生成一个类,但响应中不包含映射到Project的元素,而是一个“项目“元素在xsi:type属性中指定。
从我对这个问题的研究中可以看出,反序列化失败了,因为Project节点回来的时候是<item xsi:type="ns1:Project" xmlns="" xmlns:ns1="http://v3.soap.api.indextools.com">
,但代理的期望值是<Project>
。
由于代理是在添加服务引用时自动生成的,并且因为我无法更改Web服务,所以我很好奇任何解决此问题的方法,以便正确解序列化我的代理类响应。此问题不是孤立于GetProjects方法。我希望在服务中遇到与其他方法相同的问题,因此我们将赞赏全球解决此问题的方法。
我相信当代理调用方法时,他会得到一个错误。不是在试图解析代理结果时。 – Ernesto 2012-01-05 17:57:33