签名验证的Axis2问题 - 可能是由HTML字符引用引起的

时间:2011-03-22 10:09:01

标签: java xml encoding axis2 digital-signature

我使用Axis2使用消息签名(在Websphere上运行服务)为WebService构建了一个客户端。

客户端工作正常,但在某些情况下,服务会发送包含HTML字符引用的响应(对于波兰国家字符 - 例如ł),然后签名验证失败。

我在经过一些研究后发现,轴使用的xml解析器在解析时会将HTML字符引用更改为UTF-8字符,这可能是失败的原因。

有没有人有类似的问题或者有一些想法如何处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

在解析期间,XML文本内容将转换为Java字符串,即b.t.w。使用UTF-16编码。为了获得一致的结果,XML签名需要XML规范化,这要求XML文档以UTF-8字符流进行编码。

这些都没有表明字符引用是错误的来源。我宁愿搜索建议的编码(在SOAP有效负载,在HTTP标头等中)和不使用字符引用编码的非ascii字符之间的不一致。