0

URLrewrite メディエーターで URL を変更しようとしていますが、効果がないようです。

「user1」という単語を「customer1」に置き換えて、リクエストをエンドポイントに送信したい

私のプロキシでは、次の URL を受け取ります。

"/services/myproxy/user1"

そして、私はそれを次のように書き直さなければなりません:

"/services/myproxy/customer1" (そして endpont へ: " http://endpoint.com/customer1 ")。

URLRewrite メディエーターは次のとおりです。

<rewrite xmlns="http://ws.apache.org/ns/synapse">
   <rewriterule>
      <action value="customer1" regex="user1" type="replace" fragment="path"/>
   </rewriterule>
</rewrite>

しかし最後に、プロキシは「customer1」ではなく「user1」で URL リクエストを送信します!!

私の設定で何が問題になっていますか?? ログにエラーが表示されません!!

ありがとう!!!

4

2 に答える 2

0

次の構文は私にとって完璧に機能しています。使用している ESB のバージョンは何ですか?

<rewrite>
         <rewriterule>
            <action value="customer1" regex="user1" type="replace" fragment="path"/>
         </rewriterule>
      </rewrite>
      <send/>
于 2013-09-20T01:40:21.860 に答える
0

同様の問題がありました。私の場合、URLを書き換えた後、outPropertyバックを設定するのを忘れました。REST_URL_POSTFIXこれが将来同じ問題を抱えている人に役立つことを願っています。

<sequence>
  <property name="REST_URL_POSTFIX" expression="get-property('axis2','REST_URL_POSTFIX')"/>
  <rewrite inProperty="REST_URL_POSTFIX" outProperty="REST_URL_POSTFIX">
    <rewriterule>
      <action fragment="path" type="replace" regex="^/soap/sms" value="/sms" />
    </rewriterule>
  </rewrite>
  
  <property name="REST_URL_POSTFIX" scope="axis2" expression="get-property('REST_URL_POSTFIX')"/>
  ^^ Make sure to set this back ^^
</sequence>
于 2021-05-10T06:27:26.173 に答える