LinuxボックスにWSO2 EI 6.1.1をインストールしました。私は、GETとPUTの両方のリクエストを取得する、残りのインターフェース用のプロキシ経由のパスを作成しました。私はクラスからの要求のコンテキストをお願いする場合wso2 enterprise integratorクラスフィルタ取得パラメータ
http://xx.xx.xx.xx:8280/services/app/url?token=ABCD
は私が内容を見ることができます:私は、要求のURLに含まれるパラメータに基づいて、いくつかのdeicisionsを作ることになっているJavaクラスのメディエータを設定していますエンベロープとリクエスチョンの
System.out.println("Context: \n " + context.getMessageString());
To : /services/app/url?token=ABCD
MessageID : urn:uuid:431940fd-201e-43a3-aad1-0ca5e36297dd
Body : <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope>
トークンパラメータの値はどのように取得できますか?私が試みた方法はうまくいきませんでした。
UPDATE:
これは、現在のシーケンスである:
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="jsonvalidate" xmlns="http://ws.apache.org/ns/synapse">
<log>
<property expression="get-property('query.param.token')" name="token"/>
</log>
<property name="pass" scope="default" type="STRING" value="yes"/>
<property expression="get-property('query.param.token')"
name="token" scope="default" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<class name="authzMediator.validate">
<axis2ns15:property name="validated" value="1" xmlns:axis2ns15="http://ws.apache.org/ns/synapse"/>
<axis2ns16:property name="validated1" value="yes" xmlns:axis2ns16="http://ws.apache.org/ns/synapse"/>
</class>
<log category="DEBUG">
<property expression="get-property('token')" name="token1" xmlns:ns="http://org.apache.synapse/xsd"/>
</log>
<filter xmlns:ns="http://org.apache.synapse/xsd" xpath="get-property('pass') = 'yes'">
<then>
<class name="authzMediator.trace">
<axis2ns17:property name="msg" value="YES" xmlns:axis2ns17="http://ws.apache.org/ns/synapse"/>
</class>
</then>
<else>
<class name="authzMediator.trace">
<axis2ns18:property name="msg" value="NO" xmlns:axis2ns18="http://ws.apache.org/ns/synapse"/>
</class>
<drop/>
</else>
</filter>
</sequence>
私は何を参照することは、第1段階(ログ)で、私はこれを見ることである。
[EI-Core] INFO - LogMediator To: /services/lsrest/clients/jordipc/3/0/14?token=patata, MessageID: urn:uuid:3b08226e-4a46-474a-8d7c-c4c786e51b4c, Direction: request, token = null
この関数を呼び出します。私は名前トークンとexpresion(get-property( 'uri.var.token'))を持つプロパティを作成し、(context.getProperty( "token"))を使ってクラスから値を取得しようとしました。私はNULL値を取得しています。なにが問題ですか? – jordi
クラスメディエータに渡す前にuri.var.tokenを記録して、最初に適切に設定されているかどうか確認できますか? – maheeka
INFO - LogMediator To:/ rest/path?token = pptttpptt、MessageID:urn:uuid:84909eeb-962b-4ac9-9c86-18cf07ce976c、direction:request、token = null – jordi