使用 Axis2/Axiom 创建 SOAP 消息时,我需要在 body 元素中保留回车。如果我将 CR 转义到
(这是应该做的)Axis2/Axiom 将“&”转义到&. 如果我什么都不做,Axis2/Axiom 会将 CR 转换为 LF。
如何让 Axis2/Axiom 正确转义 CR?
如果这是不可能的,我如何让 Axis2/Axiom 忽略已经转义的序列,或者更简单地说,不理会特定的“&”?
我希望能够让 Axis2/Axiom 正确地转义 CR 以
保留回车(通过用字符引用替换它们)实际上应该是 Axiom 中的默认设置:
http://ws.apache.org/axiom/userguide/ch04.html#factory.properties
也许您没有使用 Woodstox 作为 StAX 实现,或者版本 3(这是 Axiom 在编写文档时使用的版本)和 Woodstox 4(这是当前 Axiom 版本使用的版本)之间发生了变化。
您提供给 Axis2 的字符串不应该被转义。Axis2(或 XML 层)为您处理。XML 应该规范化文本数据中的行尾字符;请参阅XML 回车编码。
真正的问题可能是您使用的是用于文本数据的数据类型,而您确实想通过它传递二进制数据。您能否将 WSDL 的相关元素重新定义为 base64binary 或其他二进制保留类型?