コンテキスト: 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 エンコーディングを変更する方法がわかりません
あなたの助けを考えています。