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]
这也会有所帮助. [1] http://blog.shelan.org/2013/03/how-to-send-cdata-inside-your-soap.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |