2009-09-15 75 views
1

早上好,Webservice反射异常

我有点困惑。

我有一个C#项目中的web服务的参考。该web服务调用一个名为“PlaceOrder”的方法。该对象具有属于对象类型的属性Item。

当我创建Web服务客户端,我得到一个异常的实例“有反映‘项目’的错误。”这是.net 3.5中正常生成的web服务引用。

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

任何帮助是值得欢迎的。

回答

0

好吧,我没有找到这个问题的解决方案。

我们设法改变web服务给予不同的反应。

我跟我的经理和几个资深工程师和建筑师讨论它,解决它在业务层面。

由于其他.NET和Java应用程序也使用此服务(谁没去过建立至今)。所以我们需要实施的任何破解都不能解决这个问题。

要summerize:

  • 没有好的sollution这个问题(还)
  • 经常思考你的设计如何可重复使用的是:)

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

1

它不知道该物业期待什么;你有没有包括[XmlInclude]等?但object根本不适用于Web服务。

理想的答案是使Web服务更具体的,所以它具有(例如)Customer(类型为此类)。你可以包含一个服务器端代码的例子吗?我很惊讶,它在服务器上工作...


重新评论;嗯......如果是第三方,这可能非常棘手;你可能不得不求助于编辑生成代码(,如果 XmlInclude的作品,我不能保证),或黑客的wsdl ...不简单。它听起来像就像你正在使用2.0的Web服务参考(间接的wsdl.exe)。您也可以尝试:

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

嗯,我们试着用SoapUI访问webservice,这很有效,我们得到了一个简洁的答案。 主要问题是我们无法访问服务器代码,因为这是第三方应用程序。 服务可以返回的2个对象是“StatusType”和“string”。 状态类型对象具有2个字符串属性“状态”和“描述”。 – 2009-09-15 07:43:14

+0

我们正在使用WCF。 我刚刚与同事讨论过这个问题,他说我们可以改变web服务。 – 2009-09-15 08:55:57