方法'XYZ'无法反映

And*_*ose 8 asp.net reflection web-services exception

我们使用了第三方Web服务,并尝试从ASP.NET Web应用程序调用它.但是,当我实例化Web服务时,抛出以下System.InvalidOperationException异常:

方法'ABC.XYZ'无法反映.System.InvalidOperationException:无法反映方法"ABC.XYZ".---> System.InvalidOperationException:命名空间" http://mysoftware.com/ns "中的XML元素"MyDoc "引用方法和类型.使用WebMethodAttribute更改方法的消息名称,或使用XmlRootAttribute更改类型的根元素.

从我可以收集的内容来看,Web服务中的方法和类型之间似乎存在一些歧义.任何人都可以澄清这个例外的可能原因,有什么我可以做的来纠正这个或者我应该去网络服务所有者纠正?

编辑:Visual Studio 2008已创建代理类.不幸的是,我无法提供wsdl的链接,因为它是本地安装的第三方应用程序的Web服务.

kda*_*ylo 14

我今天早些时候遇到了同样的问题.原因是 - 由Visual Studio生成并作为参数传递给其中一个方法的类没有默认的无参数构造函数.一旦我添加它,错误就消失了.


And*_*ose 3

看来问题在于 VS 和用 Java 编写的 Web 服务之间的数据类型问题。

最终通过手动编辑 VS 创建的类和架构文件修复了该问题。

  • @BobSort抱歉,很久以前就记得我做了什么,但它会沿着手动更新VS创建的代理类来访问服务以使用它所期望的数据类型的路线。 (2认同)