【发布时间】:2011-06-20 12:16:27
【问题描述】:
我目前必须存储一个不实现Serializable但肯定是SOAP序列化的类的Java对象,因为它是从WSDL生成的,并且是 Web 服务的输入。
标准的Java序列化,其实就是抛出异常。我无法控制这些类,创建这些类的人也不愿意手动标记它们Serializable,因为代理是从 WSDL 自动生成的(wsdl2java?他们没有告诉我......) .
所以我需要通过不可能循环遍历每个字段来将该对象转换为其他对象。
.class 文件显示了 XML 序列化属性,所以我想它们肯定是 XML 可序列化的。
如何对 Java 对象执行手动 XML 序列化?我可以在 C# 中做到这一点,但在 Java 中却不行。
谢谢
【问题讨论】:
-
为什么要序列化这个对象?拨打 WS 电话还是有其他原因?在第一种情况下,您不需要手动序列化,否则使用一些序列化库,如 XStream。
-
我需要存储对象以备后用;)
-
更大的问题是,即使只需要将对象临时存储在 HttpSession 中,如果它不实现可序列化,许多 Web 容器也会立即崩溃。