我有一个JAX-WS Web服务,它接受一些基本数据和一个String,它应该包含整个XML文件的内容。 在第一次我虽然我可以把这个XML作为CDATA部分放在我的SOAP请求中:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
...
<contentData>
<![CDATA[
<my>
<xml>
<here>
...
</here>
</xml>
</my>
]]>
</contentData>
...
</soapenv:Body>
</soapenv:Envelope>
但问题是我的XML数据还包含一些CDATA部分,并且由于不允许嵌套CDATA(W3School reference),因此不能像这样工作。
发送此类数据的最佳做法是什么?
<
和
>
(除其他外)我看到this question但是序列化Java对象不是一个选项,因为XML数据是由另一方生成的。
答案 0 :(得分:2)
我绝对更喜欢解决方案2,编码和解码Base64格式。
答案 1 :(得分:1)
我找到了这个答案:
Use XmlDocument as param type in the Web-Service, rather than string
这就是我正在与之通信的Web服务正在使用的内容。