java - SAAJ:TextNode 中的 XML。报价未转义

标签 java xml soap saaj

在一起 我想用 SAAJ 构建 SOAP 请求。一切正常,但现在我必须在 SOAP 元素内的 SOAP 主体内发送另一个 XMl 文档。

我尝试了以下代码:

SOAPElement file = service.addChildElement(new QName("nameOfTextNode"));
file.addTextNode(xmlString);

问题是大多数字符都被正确转义(例如 '<' -> <),但单引号或双引号则不然。我无法使用 CDATA 或让引号保持原样,因为我无法控制 SOAP 服务,并且它们无法支持 CDATA 或想要更改任何内容。

当我使用另一个库首先转​​义字符串时。它将在 SOAP 请求中转义两次。

没人有想法吗?请帮忙。

最佳答案

在这种情况下,SAAJ 不会转义单引号或双引号,因为这不是必需的。如果服务有此要求,则它不符合 XML 规范,因此不是 SOAP 服务。由于 SAAJ 实现了 SOAP,因此您将无法使用它。

关于java - SAAJ:TextNode 中的 XML。报价未转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41871370/

相关文章:

python - 使用 python 创建一个简单的 XML 文件

soap - 在wsdl文件中是否可以要求参数的最小和最大字符串长度?

vb.net - Sabre Web/.NET - SabreCommandLLSRQ 响应中的特殊字符未正确处理

java - Android 应用程序仅在低 Android API 上在 OnCreate 的 setContentView 处崩溃

java - 我想添加实时 Firebase 数据库中的值

Java继承与OOP和AOP

android - 在 Android Eclipse 中导入带有重音符号的 XML 文件时出错

java - URL参数编码/接收问题

c# - 如何在 C# 中使用 XML to LINQ 检查 XML 文件中元素的存在

asp.net - 使用 ASP.Net 2.0 创建 SOAP 请求