2017-12-22 3 views
0

내가 쓰고있는 REST API는 text/html 헤더 (나는 꽤 절름발이 임)와 함께 JSON 메시지를 반환하고 있습니다.WSO2 ESB JSON 응답 (텍스트/html 헤더 포함)

들어오는 응답을 처리하기 위해 carbon.xml에 빌더를 사용 가능하게했습니다.

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

응답이 XML 인 경우 x64 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.JsonBuilder (JSON+Support 참조)을 고려해야합니다.

BinaryRelayBuilder을 가진 다른 솔루션은 중재 빌더 중재자를 사용하는 것입니다 솔루션이 CALSS 중재자를 작성하지 않고 될 수 있다면

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

당신은 답을 찾는데 도움을주었습니다. Jean에게 감사드립니다. – Yasothar