【webservice】cxf开发常见问题汇总

1. 使用soapui测试时存在cdata嵌套的问题

说明:如果使用soapui进行webservice测试时要求数据放置在<![CDATA[]]>中间,但是如果传递的XML文件中也存在cdata,并且不做处理的话,会报错:com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </ROWKEY>; expected </message>. at [row,col {unknown-source}]: [11,99] ,这是由于XML中cdata不允许嵌套导致的。错误示例如下:
对于如下

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="ws.dis.clinical.viewigh.com">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:req1>
         <!--Optional:-->
         <message>
<![CDATA[
         <Root>
<ROWKEY><![CDATA[0026|1242010044162664X7|000303786200|2|2336747&3|1242010044162664X7.EMR]]></ROWKEY>
]]>
       </Root>
         </message>
      </ws:operationRequest>
   </soapenv:Body>
</soapenv:Envelope>

解决方案:
可以将message内容中CDATA里面的]]>替换为]]]]><![CDATA[>,替换后正确内容如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="ws.dis.clinical.viewigh.com">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:req1>
         <!--Optional:-->
         <message>
<![CDATA[
         <Root>
<ROWKEY><![CDATA[0026|1242010044162664X7|000303786200|2|2336747&3|1242010044162664X7.EMR]]]]><![CDATA[></ROWKEY>
]]>
       </Root>
         </message>
      </ws:operationRequest>
   </soapenv:Body>
</soapenv:Envelope>
  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值