首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XML消息中接收的Java对象的反序列化问题

XML消息中接收的Java对象的反序列化问题
EN

Stack Overflow用户
提问于 2014-04-04 18:06:13
回答 1查看 503关注 0票数 1

我收到一条XML消息(通过HttpURLConnection),其中包含一个序列化的Java对象。这是接收到的XML消息:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-16"?><Olive><Responses><Character>aced0005737200116f626a656374732e43686172616374657200000000000000000200034c00056974656d737400154c6a6176612f7574696c2f41727261794c6973743b4c00086c6f636174696f6e7400124c6a6176612f6c616e672f537472696e673b4c00046e616d6571007e00027870737200136a6176612e7574696c2e41727261794c6973747881d21d99c7619d03000149000473697a657870000000037704000000037400084954454d312d49447400084954454d322d49447400084954454d332d4944787400035858587400044a6f686e</Character></Responses></Olive>

我想要做的是反序列化包含在<Character>元素中的Java对象。(前四个字符"aced“表明我们正在处理序列化的内容。到目前为止,一切都很好。)

我使用下面的代码来获取<Character>中的字符,并将它们反序列化为Java对象:

代码语言:javascript
复制
Node characterElement = responsesElementChildren.item(0);  // <Character>
String characterSerialized = characterElement.getTextContent();
ByteArrayInputStream bais = new ByteArrayInputStream( characterSerialized.getBytes() );
ObjectInputStream ins = new ObjectInputStream( bais );
objects.Character retrievedCharacter = (objects.Character) ins.readObject();

然而,上面的操作失败了,我得到了这个异常:

代码语言:javascript
复制
java.io.StreamCorruptedException: invalid stream header: 61636564
    at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
    at java.io.ObjectInputStream.<init>(Unknown Source)
    at network.requests.RequestRetrieveCharacter.addResponse(RequestRetrieveCharacter.java:99)
    at network.GameServer.ask(GameServer.java:151)
    at Client.main(Client.java:43)

我无法判断接收到的序列化数据是否正常,因此我真的不知道问题出在反序列化中还是实际上在序列化中(在发送端,Java对象被序列化并打包到XML消息中)。

任何提示都非常受欢迎。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-11-22 23:41:44

序列化java blob开头的魔术数字不是ascii字符串"ACED",而是0xACED,后跟一个版本半字(这里: 0x0005)。您在该xml中看到的内容看起来应该被解释为十六进制表示,而不是ascii字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22859722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档