加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – WSO2 ESB中有效负载工厂中的CDATA

发布时间:2020-12-16 23:18:13 所属栏目:百科 来源:网络整理
导读:我正在尝试在ESB中编写一个序列,并使用有效负载工厂填充我的有效负载数据,如下所述. payloadFactory format p:echoInt xmlns:p="http://echo.services.core.carbon.wso2.org" in xmlns=""$1/in /p:echoInt /format args arg xmlns:ns="http://org.apache.syn
我正在尝试在ESB中编写一个序列,并使用有效负载工厂填充我的有效负载数据,如下所述.

<payloadFactory>
     <format>
        <p:echoInt xmlns:p="http://echo.services.core.carbon.wso2.org">
           <in xmlns="">$1</in>
        </p:echoInt>
     </format>
     <args>
        <arg xmlns:ns="http://org.apache.synapse/xsd" expression="an-xml-formatted-string"/>
     </args>
  </payloadFactory>
 <send>
     <endpoint>
        <address uri="http://noon101:8280/services/echo" format="soap11"/>
     </endpoint>
  </send>

因为当我将此有效负载发送到服务时,我的字符串被格式化为xml,服务尝试解析我的xml参数并且(我不明白究竟是什么原因)我的Web服务方法未被调用.在这个link中它说如果我使用cdata而不是解析器不会解析我的xml格式的字符串,那就没有问题了.

但问题是Payload Factory介体在其内容中不接受Cdata.当我编写Payload Factory的配置时,如下所示,它从中删除CDATA关键字,问题在于.

<payloadFactory>
     <format>
        <p:echoInt xmlns:p="http://echo.services.core.carbon.wso2.org">
           <in xmlns=""> <![CDATA[ $1 ]]> </in>
        </p:echoInt>
     </format>
     <args>
        <arg xmlns:ns="http://org.apache.synapse/xsd" expression="an-xml-formatted-string"/>
     </args>
  </payloadFactory>

这个问题的解决方案是什么?任何其他设置有效载荷或任何变通方法的调解员将不胜感激.

解决方法

您可以使用XSLT介体(Payload工厂介体不支持CDATA).但是如果你使用它.此外,您还需要执行以下配置以在中介流中保留CDATA. [1]

这也会有所帮助.
http://tharindumathew.com/2012/05/24/adding-cdata-tags-through-xslt/

[1] http://blog.shelan.org/2013/03/how-to-send-cdata-inside-your-soap.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读