Asp.net

無法反映方法“XYZ”

  • July 22, 2016

我們使用了第三方 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 服務。

似乎問題歸結為 VS 和用 Java 編寫的 Web 服務之間的數據類型問題。

最終通過手動編輯由 VS 創建的類和模式文件來修復它。

我今天早些時候遇到了同樣的問題。原因是 - 由 Visual Studio 生成並作為參數傳遞給其中一種方法的類沒有預設的無參數建構子。一旦我添加了它,錯誤就消失了。

引用自:https://stackoverflow.com/questions/132720