我正在开发Java应用程序,我需要使用SOAP协议提出Web服务请求。在该SOAP信封请求中,称为 content 的XML属性/属性之一将保存XML文件本身,如下所示:-
<n1:envelope>
<message>
<id>67872894892424</id>
</message>
<sender agency="GS1" scheme="tGLK">ur.0</sender>
<recipients>
<id agency="GS1" scheme="tGLK">test</id>
</recipients>
<content encoding="XML" extension="A" format="ATTP">
------
----
</content></n1:envelope>
我是新手,需要一些帮助来澄清我的疑问。我正在使用JDK1.8和Apache CXF。如何针对此特定内容属性进行编组/拆组?普通的SOAP信封请求很容易做到,但是不确定如何在SOAP请求中传递编码的XML本身。有参考链接吗?谢谢
答案 0 :(得分:0)
您的案例是在XML中包含XML的示例。是的,XML可以包含在SOAP(XML)中,有两种方法,尽管两者的含义几乎相同。
使用CDATA编码
<hello><![CDATA[<El><E2><E3 attr="D1">Text</E3></E2></El>]]></hello>
通过将
<
替换为<
,将"
替换为"e;
,将>
替换为>
,将XML转换为文本
<hello><El><E2><E3 attr="D1">Text</E3></E2></El></hello>
收件人
<hello>>El<>E2<>E3 attr="D1"<Text>/E3<>/E2<>/El<</hello>
因此,要将XML包含在SOAP中,同时添加XML元素,则在编组/拆组时需要遵循这两种方法。