我有一个web服务,它将java.lang.object对象作为参数(因为在运行时只知道对象的类型)...在完成进程后,回复响应设置java.lang.Object到它。
我可以从调用程序将reuest对象发送到webservice,但是在从webservice构建响应时获取NotSerializable异常。
我开始知道'如果我们实现java.io.serializable,那么mebmers也应该是可序列化的对象'...这里Object不是一个可序列化的对象..它不会影响Serializable ....
如果有人能用正确的解决方案指导mw ..我应该感恩。
发布于 2019-03-05 08:42:26
我有一个webservice,它将java.lang.object对象作为参数(因为在运行时只知道hte类型的对象)
这部分让我担心。编程时不知道类型是代码气味。如果您不知道它是什么,您如何制作代码来处理它?
可能有合理的理由去做你想要完成的事情,但通常有更好的方法。这里真正的问题可能是:“我应该如何设计我的网络服务和代码,以满足我的要求?”
当一个方法接受“对象”或其他极其通用的类型时,它们通常包含一个类似开关的结构,它检查某些类型并以不同的方式处理它们,而“未知”类型会抛出异常,或者(更糟)可能只是被忽略。这里的解决方案可能是为每种类型创建一个新方法。如果它只是一种常用的Java方法,或者它是否是一个Web服务并不重要。
发布于 2019-03-05 09:41:28
将对象序列化为字节数组,并在SOAP调用中返回该对象,然后将该对象从客户端的字节数组中重新编组。SOAP可以轻松有效地处理字节数组,而序列化将是SOAP事务范围之外的实现细节。
https://stackoverflow.com/questions/-100000994
复制相似问题