Web服务反射异常

时间:2009-09-15 07:13:36

标签: c# .net asp.net web-services

早上好,

我有点困境。

我在C#项目中有一个web服务引用。该webservice调用一个名为“PlaceOrder”的方法。该对象具有属性为Object的属性Item。

当我创建webservice客户端的实例时,我得到一个例外,“有一个错误反映了'Item'。”。这是.net 3.5中正常生成的Web服务引用。

    OrderServiceClient orderService = new OrderServiceClient();
    orderService.Open(); <== exception occures here
    orderService.Close();

欢迎任何帮助。

2 个答案:

答案 0 :(得分:1)

它不知道在该财产中会发生什么;你有[XmlInclude]等吗?但object根本不适用于网络服务。

理想的答案是使网络服务更加具体,因此它具有(例如)Customer(如此类型)。您是否可以包含一个服务器端代码的示例?我很惊讶它在服务器上工作......


评论;嗯......如果是第三方,这可能会非常棘手;您可能不得不求助于编辑生成代码(如果 XmlInclude有效,我无法保证),或者黑客攻击wsdl ...并不简单。它听起来就像你正在使用2.0 web服务引用(wsdl.exe,间接)。你也可以尝试:

  • WSE3(wse3wsdl.exe)
  • WCF(在.NET 3.0和avove中; svcutil.exe)

答案 1 :(得分:0)

好的,我找到了解决这个问题的方法。

我们设法更改了网络服务以提供不同的响应。

我与我的经理和几位高级工程师和建筑师进行了讨论,并在业务层面上解决了这个问题。

由于其他.net和Java应用程序也使用此服务(尚未构建)。因此,我们需要实施的任何黑客都无法解决这个问题。

总结一下:

  • 这个问题没有很好的解决方法(尚未)
  • 始终考虑您的设计是如何重复使用的:)

编辑: 我确实发现,如果你把对象变成一个对象[]它会突然发挥作用。为什么?我不知道。