asp.net web服务,错误生成XML文档

asp.net web服务,错误生成XML文档

问题描述:

我已经创建了一个asp.net web服务,并且正在尝试使用我的客户端进行测试。我正在测试的web方法返回一个名为GetAllTicketsSinceLastPullDateResult的自定义对象,它包含一个自定义clsTrip对象的ArrayList和一个名为FaultResponse的自定义对象。这是我如何使用我的客户:asp.net web服务,错误生成XML文档

ServiceReference1.ServiceSoapClient myClient = new ServiceReference1.ServiceSoapClient(); 
     ServiceReference1.GetAllTicketsSinceLastPullDateResult result = new ServiceReference1.GetAllTicketsSinceLastPullDateResult(); 

     result = myClient.getAllTicketsSinceLastPullDate(myUser); 

,但我得到了以下错误:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: The type clsTicket was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically. 

我谷歌错误,最让我找到答案的有序列化派生类的事情。但是我的clsTicket类不是派生类。什么可能导致这个错误?我如何使用XmlInclude或SoapInclude?

在此先感谢!

好吧,我终于得到它的工作,我最终把下面一行:

[XmlInclude(typeof(clsTicket))] 

之间[WebMethod]和我的方法的定义。到现在为止还挺好。

自从最初为您的项目添加引用后,您是否更新过服务?如果您使用Visual Studio的“添加Web引用”功能并更新服务,则通常会有配置或参数机会,从而可能会生成SOAP错误。

尝试通过visual studio右键点击有问题的Web服务并选择“更新”选项。重新编译应用程序,看看是否可以解决您的问题。

+0

感谢您的回复。是的,我已经尝试过,无济于事。 – PaulG 2012-01-12 15:21:23

我不认为你需要“新”的结果:

ServiceReference1.GetAllTicketsSinceLastPullDateResult result; 
result = myClient.getAllTicketsSinceLastPullDate(myUser); 

而且,你怎么知道错误是不是在服务器上? 你可以用网页浏览器调用这个功能吗?

+0

我通过我的网络浏览器试过这个,我实际上得到了同样的错误信息。所以它可能是服务器。仍然不知道如何处理这个。 – PaulG 2012-01-12 15:46:46

+1

可能吗?当然,这是服务器代码! – 2012-01-12 15:54:36