2017-02-12 3 views
0

Anypoint Studio 6.1과 Mule 3.8.1을 사용 중이며 MongoDB를 호출하는 흐름이 있습니다. 내 예외 처리를 구성 할 수 있도록 HTTP 상태를 얻는 방법을보고 싶습니다. MongoDB를 연결 해제하고 Mule 워크 플로를 실행하면 예상대로 오류가 발생하지만이 표현식을 시도 할 때 null로 반환됩니다. message.inboundProperties['http.status'] 예외 메시지 코드는 -1이지만 워크 플로가 끝날 때까지 오류를 재생할 때 우체부에 상태가 500으로 표시됩니다.Mule에서 HTTP 상태 코드를 얻는 방법

HTTP 상태를 어떻게 얻을 수 있습니까?

감사

답변

1

message.inboundProperties [ 'http.status'] HTTP 요청이 호출 흐름 내에서 이루어질 때 http.status 코드를 제공한다. 흐름이 DB를 호출하려고하는 경우 원하는 예외를 잡으려면 흐름의 오류 처리 내에 catch 예외 전략이 필요할 수 있습니다. 예외가 일치하는 경우 http.status 및 예외 페이로드를 클라이언트 끝으로 보내도록 설정할 수 있습니다. 그런 다음 다음과 같은 코드를 사용할 수 있습니다 APIKit 라우터를 사용하는 경우

0

:

<apikit:mapping-exception-strategy name="apiKitGlobalExceptionMapping"> 
    <apikit:mapping statusCode="500"> 
     <apikit:exception value="java.lang.Exception"/> 
     <set-property propertyName="Content-Type" value="application/json" doc:name="Property" /> 
     <set-payload value="{ &quot;message&quot;: &quot;Internal server error&quot; }" doc:name="Set Payload" /> 
    </apikit:mapping> 

은 자세한 내용은 확인할 수 있습니다 here

관련 문제