/ / Transformacja XQuery z WSO2 ESB - wso2, xquery, wso2esb, esb

Transformacja XQuery z WSO2 ESB - wso2, xquery, wso2esb, esb

Projektuję sekwencję usługi proxy, która zawiera transformację XQuery. Mam problem z odwołaniem do pliku rejestru zawierającego transformację.

Oto kolejność:

<sequence name="MySequence" xmlns="http://ws.apache.org/ns/synapse" >
<xquery key="conf:/wsdl/xqueryRequest.xq"
target="..."
xmlns:ns="http://org.apache.synapse/xsd"  >
<variable xmlns:ns2="http://..." name="var1" expression="..." type="ELEMENT" />
</xquery>
<send>
<endpoint>...</endpoint>
</send>
</sequence>

Plik zawierający transformację XQuery jest przesyłany

/_system/config/wsdl/xqueryRequest.xq

I to jest wyjątek, który otrzymuję:

WARN ERROR_DETAIL: org.apache.synapse.Wyjątek Synapse: Nie można wykonać zapytania w org.apache.synapse.mediators.xquery.XQueryMediator.handleException (XQueryMediator.java:627) o org.apache.synapse.mediators.xquery.XQueryMediator.mediate (XQueryMediator.java:130) o org.apache.synapse.mediators.AbstractListMediator.mediate (AbstractListMediator.java:60) o ... Przyczyna: java.lang.NullPointerException w org.wso2.carbon.mediation.registry.WSO2Registry.lookup (WSO2Registry.java:177) o org.apache.synapse.registry.AbstractRegistry.getResource (AbstractRegistry.java:63) o org.apache.synapse.config.SynapseConfiguration.getEntry (SynapseConfiguration.java:693) o org.apache.synapse.core.axis2.Axis2MessageContext.getEntry (Axis2MessageContext.java:194) w org.apache.synapse.mediators.xquery.XQueryMediator.performQuery (XQueryMediator.java:233) o org.apache.synapse.mediators.xquery.XQueryMediator.mediate (XQueryMediator.java:123) ... jeszcze 11

Wyjątek pokazuje NullPointer w WSO2Registry.lookup, więc zakładam, że problem polega na znalezieniu pliku XQuery w rejestrze, ta część:

key = "conf: /wsdl/xqueryRequest.xq"

Dokumentacja pokazuje dwa fragmenty kodu (390 i 391) z transformacją XQuery, ale żadna z nich nie wyjaśnia, jak odwołać się do pliku XQuery.

Pytanie: Jaka powinna być poprawna wartość parametru klucza? Czy muszę korzystać z funkcji „Local Entry”? Jeśli tak, to czy powinienem zdefiniować wartość jako „Inline XML Entry” lub „Inline Text”?

AKTUALIZACJA 03/23/12:

pytanie 2: Być może prostsze pytanie: gdzie należy skopiować / przesłać plik xqueryRequest.xq, gdy ustawię pole klucza mediatora Xquery na key = "xqueryRequest.xq"?

Odpowiedzi:

1 dla odpowiedzi № 1

Czy możesz spróbować zapisać xquery jako wpis lokalny i odesłać go z mediatora XQuery. (Proszę spojrzeć na lokalne próbki wejściowe)