0

上下文:我使用 wso2esb 4.8.0。
我有代理服务:

    <?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="eProxy"
       transports="https"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
      </inSequence>
      <outSequence>
         <send/>         
      </outSequence>
      <endpoint>
         <address uri="http://10.24.74.53:8088/xxxService?WSDL"/>
      </endpoint>
   </target>
   <publishWSDL uri="file://wso2esb-4.8.0/repository/mcc/resources/xxx.wsdl"/>
   <description/>
</proxy>

问题:
xxxService 响应以 iso-8859 编码,我想将此响应转换为 utf-8
我的第一个方法:
我使用 xslt 调解器:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output encoding="UTF-8" />
    <xsl:template match="/">
        <result>
            <xsl:value-of select="." />
        </result>
    </xsl:template>
</xsl:stylesheet>

但我有错误

ERROR NativeWorkerPool uncaught exception java.lang.stackoverflowerror com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanName(XMLEntityScanner.java:726)

我的第二个方法:
我在序列中设置属性:

<property name='CHARACTER_SET_ENCODING' scope='Axis2' value='UTF-8'/>

但我有错误

 ERROR NativeWorkerPool uncaught exception java.lang.stackoverflowerror com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanName(XMLEntityScanner.java:726)

我最后的方法:
我编写自定义中介,但我不知道如何更改 SoapEnvelope 或 SoapBody 编码

想你的帮助。

4

1 回答 1

0

要更改编码和内容类型,请查看ContentTypemessageType属性:http ://docs.wso2.org/display/ESB480/Generic+Properties

样本值:text/xml; charset=ISO-8859-1

于 2013-12-13T08:13:41.670 回答