2015-01-30 5 views
0

im on WSO2 ESB 4.8.1. 경로가 정규 표현식과 일치하면 일부 요청을 차단해야합니다. 내 프록시에서WSO2 ESB CONDITIONAL 라우터 요청 버그를 차단 하시겠습니까?

: 그래서 난이 프록시 이러한 시퀀스를 구현했습니다

MySequence가
<target> 
    <inSequence>   
    <sequence key="MySequence"></sequence> 
    <send> 
     <endpoint key="epProva"></endpoint> 
    </send> 
    </inSequence> 

:

<sequence xmlns="http://ws.apache.org/ns/synapse"> 
    <header name="To" action="remove"></header> 
    <property name="HTTP_SC" value="401" scope="axis2"></property> 
    <property name="RESPONSE" value="true"></property> 
    <property name="NO_ENTITY_BODY" action="remove" scope="axis2"></property> 
    <payloadFactory media-type="json"> 
     <format> 
     {"code":"401", "unhautorized."}  
    </format> 
    </payloadFactory> 
    <property name="messageType" value="application/json" scope="axis2"></property> 
    <respond></reposnd> 
</sequence> 

경우] : BannedListMessage가

<sequence xmlns="http://ws.apache.org/ns/synapse" name="MySequence">   
    <conditionalRouter continueAfter="true"> 
     <conditionalRoute breakRoute="true" asynchronous="true"> 
      <condition> 
       <match type="url" regex=".*/my/path/.*"></match> 
      </condition> 
      <target sequence="conf:/BannedListMessage"></target> 
     </conditionalRoute> 
    </conditionalRouter>  
</sequence> 

요청은 조건부 라우터 내에서 정규 표현식과 일치하는 URL을 처리합니다. 요청은 서버에 도달하지 못하게하여 401 권한이없는 메시지를 보내는 것입니다.

이 구성으로 잘못된 동작이 발생합니다. esb는 401 응답을 보내지 만 요청은 서버에 명확하게 도달합니다 (조건부 라우터는 요청 흐름이 epProva 엔드 포인트로 전송되는 것을 막지 않습니다).

누군가 내가 조건부 라우터를 사용하여 내가 원하는 것과 같은 차단 동작을 얻도록 제안했습니다.

<sequence xmlns="http://ws.apache.org/ns/synapse"> 
    <switch xmlns:m0="http://services.samples" source="get-property('requestURL')"> 
     <case regex=".*/aggregato/C/sysadmin/mostra_contenuto/.*"> 
      <sequence key="conf:/BannedListMessage"></sequence> 
     </case> 
    </switch> 
</sequence> 

그래서 질문은 다음과 같습니다 :

  • 내가 조건 라우터를 사용하고 난 스위치 중재자를 사용하여 아래의 코드에서처럼 MySequence을 대체

    대신 만약 내가 올바른 동작을 얻을 잘못된 길?

  • 조건부 라우터의 버그입니까?

답변

0

이 BannedListMessage에 오타가 불일치 할 수 있음

< 응답> </reposnd>

응답 중재자의 사용이

< 응답/>

,210

은 내가 올바른 태그를 쓰기

+0

감사합니다 ... 내가 로 순서를 저장 한 후 WSO2 편집기를 변경 희망이 도움 – Alex