2013-02-13 4 views
2

내가 WSO2의 API 관리자 QR 코드 이미지를 반환WSO2의 API 관리자 - 비 XML 응답

http://api.qrserver.com/v1/create-qr-code/?data=HelloWorld&size=100x100

을 통해 프록시에 다음 호출을 시도하고에 게시 API. 끝점으로 http://api.qrserver.com/v1/을 사용하여 API를 게시했지만 문제가 없습니다. 내가 API 관리자를 통해 호출을 수행 할 때, 나는 다음과 같은 오류가 발생합니다 :

curl -H 'Authorization:Bearer 7q6W4LteX9idveFWbSa_oaGPhVsa' 'http://ec2-xx-xx-xx-xx.eu-west-1.compute.amazonaws.com:8280/qrcode/1.0.0/create-qr-code/?data=HelloWorld&size=100x100' 

<Exception>Unexpected response received. HTTP response code : 200 HTTP status : OK exception : com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start byte 0x89 (at char #1, byte #-1)</Exception> 

전화에 직접 응답 헤더 나 (MIME 형식 이미지/PNG를 제대로 설정) 좋은 것 같다을 수행하지만, WSO2 API 프록시가 응답을 거절합니다 ... 내가 뭘 잘못하고있는 걸까요? mediaType = "image/png"응답으로 wadl 파일을 설정하는 것도 도움이되지 않습니다. 사전에

덕분에

+0

축 2 .xml에 추가 된 특정 용지 유형을 확인할 수 있습니까? 콘텐츠 유형에 대한 메시지 포맷터 및 빌더를 정의하는 곳입니다. 거기에 이미지/png도 추가해야 할 수도 있습니다 – Ratha

+0

위대한! image/png에 포맷터와 빌더를 모두 추가하면 호출이 성공한 것처럼 보입니다. 이 고급 주제를 설명하는 문서를 가르쳐 주시겠습니까? 많은 감사합니다! – user2068318

+0

다음은 기사가 설명하는 내용입니다. http://wso2.org/library/articles/axis2-configuration-part2-learning-axis2-xml – Ratha

답변

0

이 문제는 API 관리자의 axis2.xml에 기본적으로 일치하는 메시지 빌더와 포매터를 가지고 있지 예정이다. axis2.xml에 다음 매개 변수를 추가하십시오.

<messageBuilder contentType=".*" class="org.wso2.carbon.relay.BinaryRelayBuilder"/> 
<messageFormatter contentType=".*" class="org.wso2.carbon.relay.ExpandingMessageFormatter"/> 

감사합니다. Sanjeewa.

+0

음 ... 어떤 매개 변수를 추가 하시겠습니까? – kleopatra

0

나는 wso2 esb에서 비슷한 문제가 있습니다. 응답은 짧은 xml 파일에서는 작동하지만 큰 파일에서는 작동하지 않는 것으로 보입니다.

관련 문제