2012-06-09 3 views
1

를 전송하지 않고 INSEQUENCE을 만드는 방법 :나는이 WSO2 ESB 프록시가

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" name="sid008" transports="http" startOnLoad="true" trace="disable"> 
    <target> 
     <inSequence> 

      <switch source="get-property('inquiryId')"> 
         <log level="full"/> 
       <case regex=""> 

         <send/> 

       </case> 
       <default> 

       </default> 
      </switch> 

     </inSequence> 

     <outSequence>      
<....some processing..> 
      <send/> 

     </outSequence> 
    </target> 
    <publishWSDL key="CommonService.wsdl"> 
     <resource location="request.xsd" key="request.xsd"/> 
     <resource location="response.xsd" key="response.xsd"/> 
     <resource location="SMEV.xsd" key="SMEV.xsd"/> 
     <resource location="statusAndError.xsd" key="statusAndError.xsd"/> 
    </publishWSDL> 
</proxy> 

기본 경우이 프록시에서 전송 중재자없이 outSequence을 실행하지 않습니다. 어떻게 전송 중재자없이 그것을 할 수

+0

일반적으로 inSequence가 전송 조정자를 지정하지 않으면 WSO2 ESB가 수신 한 메시지는 inSequence가 끝날 때 삭제됩니다. 요청 메시지가 실제로 프록시 설정에서 언급 된 엔드 포인트에 들어 가지 않기 때문에 실제로는 outSequence에서 처리 할 응답이 없습니다. 당신의 유스 케이스는 무엇입니까? –

답변

2

는이 설정을보십시오.

+0

감사합니다 !! 그것은 작동! – Sotona

1

및 출력 순서 뒤에 합리적이다 서열에서

: 메시지는 클라이언트에서 프록시 서비스에 올 때, 그것은 항상에서 순서로 이동합니다.

아웃 서열은 : 프록시 서비스는 백엔드 서비스에 ESB에서 메시지를 보낼 때 (수신 서열을 사용하여 순서를 지정하지 않으면.) 응답은 항상 아웃 서열에 올 것이다이 도움이

희망을. 당신이 (당신이 outSequence로받지 않습니다) INSEQUENCE 부분에서 직접 클라이언트에 응답을 보내드립니다,이 설정으로

<default> 
    <... some processing ...> 
    <header action="remove" name="To"/> 
    <property action="set" name="RESPONSE" scope="default" type="STRING" value="true"/> 
    <send/> 
</default> 

: