当我尝试调用特定的Web服务方法时,我收到了“Unspecified error
”。使用XMLSpy我发现参数对象尚未被序列化。
在生成的序列化程序源代码中,我注意到以下几行:
if (!needType) {
System.Type t = o.GetType();
if (t == typeof(global::moonraker1.Conference)) {
}
else {
throw CreateUnknownTypeException(o);
}
}
但是,wsdl import创建了一个名为moonraker1.BookingService
的单元,因此参数对象的类型实际上是moonraker1.BookingService.Conference
。似乎完全有可能这就是对象未被序列化的原因,尽管我不明白为什么消息似乎仍然传递给Web服务。
任何人都可以对此有所了解吗?或者我完全走错了轨道?
答案 0 :(得分:1)
现在我不确定是不是这样,但它看起来像是一些.NET代码。 也许答案就像你需要在你的类型中有一个默认构造函数一样简单。
我自己在.NET中序列化的经验是,大部分时间只是因为我编写了一个自定义构造函数,然后忘了编写默认构造函数。