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 mediator を使用します:

<?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)

私の 2 番目のアプローチ:
プロパティを out Sequence に設定します。

<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