2017-04-23 3 views
0

오류가 발생할 수있는 서비스에서 oauth 토큰을 얻는 뮬 플로우가 있습니다. 그러나 끝에 예외 잡기 전략이 있어도 예외는 흐름에 포착되지 않습니다. 누군가 예외가 잡히지 않은 이유를 설명 할 수 있습니까? SOAP UI를 통해 유효하지 않은 토큰을 사용하여 XML을 게시하여 예외를 트리거하면 요청은 흐름에 도착하지만 예외는 발견되지 않습니다. 대신 잘못된 토큰을 나타내는 스택 추적을 얻습니다. 다음은 흐름입니다.Mule 사용자 정의 예외 클래스가 일부 예외를 catch하지 않습니다.

<flow name="order-query"> 
     <http:listener config-ref="HTTP_config" 
      path="order/request" doc:name="HTTP" /> 
     <flow-ref name="oauth-token-service"> 
     <cxf:jaxws-service doc:name="SPOP SOAP" 
      serviceClass="o.x.p.SpopWS"> 
      <cxf:inInterceptors> 
      <spring:ref bean="HeaderInInterceptor" /> 
     </cxf:inInterceptors> 
     <cxf:outInterceptors> 
      <spring:ref bean="faultOutInterceptor" /> 
      <spring:ref bean="headerOutInterceptor" /> 
     </cxf:outInterceptors> 
     <cxf:outFaultInterceptors> 
      <spring:ref bean="OutSoapFaultInterceptor" /> 
     </cxf:outFaultInterceptors> 
    </cxf:jaxws-service> 
    <scripting:transformer> 
     <scripting:script engine="python"> 
      ... 
     </scripting:script> 
    <scripting:transformer> 
    <catch-exception-strategy> 
     <logger level="INFO" message=" Should be handled here #[payload]"/> 
    </catch-exception-strategy> 
    </flow> 
+0

catch의 logger 문이 인쇄되지 않습니다. 로그의 아무 곳에서나 "여기서 처리해야합니다 ..."메시지가 표시되지 않습니다. – BreenDeen

답변

0

예외가 발생하지 않았습니까? catch-exception-strategy의 기본 동작은 catch 된 예외를 기록하는 것입니다. 이 때문에 스택 추적이 로그에 표시됩니다. 당신이/비활성화 확인란이 행동 중 하나를 사용할 수 있습니다 (로그 예외를) : 노새 3.8 이상

enter image description here

또는 XML에

(logException=false) :

<catch-exception-strategy logException="false" doc:name="Catch Exception Strategy"> 
    <logger level="INFO" doc:name="Logger"/> 
</catch-exception-strategy> 

노새 3.7 : 여기를보세요 : https://stackoverflow.com/a/42181054/804521

+0

버전 3.7.3을 사용하고 있습니다. 나는 얻는다 : org.xml.sax.SAXParseException : cvc-complex-type.3.2.2 : 'logException'속성은 'catch-exception-strategy'엘리먼트에 나타나지 않는다. – BreenDeen

+0

흠 ... [documentation] (https://docs.mulesoft.com/mule-user-guide/v/3.7/catch-exception-strategy#configcatchstrat)에 따르면'Log Exceptions'는 3.7에서 지원됩니다 문서의 xml-example). – Yevgeniy

+0

하지만 당신이 맞아요, 내 런타임을 3.8에서 3.7으로 전환 할 때도 오류 메시지가 나타날 수 있습니다 – Yevgeniy

관련 문제