WSO2 4.8.1在XML消息中传递CDATA部分存在一个众所周知的问题。这些部分总是以XML转义字符串的形式替换为其内容。
对此问题的任何解决方案都将不胜感激。
与此同时,为了这个目的,我找到了一个告诉一些补丁(patch0514)的页面:
http://www.yenlo.com/en/how-to-preserve-a-cdata-in-xml-that-is-circulating-in-a-wso2-enterprise-service-bus/
但我不知道在哪里可以得到这个补丁。任何线索?
答案 0 :(得分:1)
所以,最后我发现了2个问题:
我必须从Axiom软件包更改org.apache.axiom.om.OMXMLBuilderFactory
,使用StAXParserConfiguration.PRESERVE_CDATA_SECTIONS
代替StAXParserConfiguration.SOAP
,如下所示:
public static OMXMLParserWrapper createSOAPModelBuilder(InputStream in, String encoding){
InputSource is = new InputSource(in);
is.setEncoding(encoding);
return OMAbstractFactory.getMetaFactory().createSOAPModelBuilder(StAXParserConfiguration.PRESERVE_CDATA_SECTIONS, is);
}