2012-04-21 6 views
1

を使用することはできません、私はこのようにXQueryを使用することができます。WSO2 ESB4.0.3がESB4.0.0でXQuery

xquery key="conf:/closeUserRequest_xq" variable 
xmlns:ns="http://service.jscn.coship.com/" 
xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
name="closeUser1" 
expression="//p:closeUser/userId" type="DOCUMENT"/>xquery 

しかし、私はESB4.0.3にアップグレードする際に、同じようにこのエラーを使用します。

[2012-04-21 11:31:53,342] ERROR - XQueryMediator Unable to execute the query 
java.lang.NullPointerException at 
org.wso2.carbon.mediation.registry.WSO2Registry.lookup(WSO2Registry.java:177) at 
org.apache.synapse.registry.AbstractRegistry.getResource(AbstractRegistry.java:63) at 
org.apache.synapse.config.SynapseConfiguration.getEntry(SynapseConfiguration.java:693)at 
org.apache.synapse.core.axis2.Axis2MessageContext.getEntry(Axis2MessageContext.java:194)at 
org.apache.synapse.mediators.xquery.XQueryMediator.performQuery(XQueryMediator.java:233) 

答えて

1

はあなたのXqueryスクリプトはレジストリで利用できますか?レジストリパスが正しいかどうかを確認してください。

+0

利用可能かどうかわかりません。しかし、同じレジストリはESB4.0.0でも動作します。 4.0.3で正しいレジストリパスが何であるか教えてください。 – luohao

+0

Registrybrowserにアクセスし、設定レジストリでスクリプトが利用可能かどうかを確認してください – Ratha

+0

Ratha、ありがとうございます。私はレジストリのパスが正しいと思います。同じパスにxsltを追加しました。それは働くことができます。 XQueryは4.0.0でも動作します。なぜ4.0.3で使えないのか分かりません。私のXQueryはある:関数XF宣言する:(要素としてcloseUserRequest(ノードとして$メッセージ1を())){$メッセージを聞かせて:= $メッセージ1 リターン {$メッセージ/ P:cycleIndex /テキスト()}}; 変数$ message1をnode()external;と宣言xf:closeUserRequest($ message1) – luohao