2017-12-22 13 views
0

私が呼んでいるREST APIはtext/htmlヘッダー付きのJSONメッセージを返しています。WSO2 ESB JSONレスポンス(text/htmlヘッダー付き)

着信応答のcarbon.xmlでビルダーを使用可能にしました。

<messageBuilder contentType="text/html" class="org.wso2.carbon.relay.BinaryRelayBuilder"/> 

レスポンスがXMLの場合、xpath base64のデコードを行い、応答を取得して処理できます。

JSON形式のレスポンスでは、バイナリ値を取得しても以下のエラーが表示されるためです。

期待JSONメッセージ - バイナリ受信{"message":"Success!","result":"logadded","status":3,"response_code":200}

- 誰もが私はJSONレスポンスを得ることができる方法で私を助けることができる場合CgoJeyJtZXNzYWdlIjoiU3VjY2VzcyEiLCJyZXN1bHQiOiJsb2cgYWRkZWQiLCJzdGF0dXMiOjMsInJlc3BvbnNlX2NvZGUiOjIwMH0

TID: [-1234] [] [2017-12-22 08:58:49,788] ERROR {org.apache.synapse.mediators.base.SequenceMediator} - com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<' 
at [row,col {unknown-source}]: [1,1] {org.apache.synapse.mediators.base.SequenceMediator} 
org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<' 
at [row,col {unknown-source}]: [1,1] 
     at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296) 
     at org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:109) 
     at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:570) 
     at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:566) 

はしてくださいだろう。

+0

が喜んでいただけることでしょう。 – Yasothar

答えて

0

なぜBinaryRelayBuilderメッセージビルダを使用しているのかわからない場合は、org.apache.synapse.commons.json.JsonStreamBuilderまたはorg.apache.synapse.commons.json.JsonBuilderJSON+Supportを参照)を検討する必要があります。

BinaryRelayBuilderを持つ他のソリューションは、あなたの媒介にビルダーメディエーターを使用することです:ソリューションはcalssメディエーターを記述せずにできるかどう

<builder> 
    <messageBuilder contentType="" class="" [formatterClass=""]/> 
</builder> 
+0

あなたは解決策を見つけるのを手伝ってくれました。ありがとうJean。 – Yasothar