我有一个场景,我需要将一个xml作为SOAP请求消息中的标记内容发送到Web服务,例如
<arg_1><xml version="1.0" encoding="UTF-8"?><sometag><somemoretag>abcd</somemoretag></sometag></arg_1></code>
arg_1恰好是webservice的String参数。所以我带来了CDATA部分
<arg_1><![CDATA[<xml version="1.0" encoding="UTF-8"?><sometag><somemoretag>abcd</somemoretag></sometag>]]></arg_1>
但这不断给我一个例外
org.xml.sax.SAXException:WSWS3084E:错误:SimpleDeserializer在尝试反序列化的内容中遇到了一个不期望的子元素。正在解析的消息:
我一直得到这个例外。有没有人见过这个?
答案 0 :(得分:0)
有几种方法可以解决这个问题 -
<arg_1><sometag><somemoretag>abcd</somemoretag></sometag></arg_1>
<arg_1><sometag><somemoretag>abcd</somemoretag></sometag></arg_1>
答案 1 :(得分:0)
我遇到过类似的问题,其中我的xml不在CDATA内部。 要将标记视为String,您必须使用如下:
<![CDATA[ ---your xml---- ]]>
但你还没用过?在xml版本之前。标签应该是
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
在你的情况下是<xml version="1.0" encoding="UTF-8" standalone="yes"?>
。