WSE异常:"Server unavailable,please try later"处理
一.问题:
使用WSE通讯时,碰到了一个经产会出现的异常“Server unavailable,please try later“,出现此异常的原因不只一个.只要服务器端的webmethod方法中出现了未处理的异常,就会抛出此错误信息.
二.原因:
此次我碰到的这个原因就是由于在server端(我用的是SoapService)的WEBMETHOD中出现了一个有关对象反序列化的异常,此异常未经处理,导致了上述异常的抛出.
三.处理:
在反序列化一个类型的对象时,要满足两个条件:
1.序列化对象类型必须被标记为可序列化[Serializable],实现ISerializable接口的一个方法GetObjectData(SerializationInfo info,StreamingContext context),和一个构造函数public MyClass(SerializationInfo si, StreamingContext context),这两个方法的参数一样,都必须被实现,因为在对象的反序列化时要调用.
否则会出现“未找到反序列化类型....类型对象的构造函数“等异常
2.在反序列化的地方引用要反序列化对象的类型(引用此类型的DLL)
有关序列化与反序列化详见
或者 .NET中的对象序列化