2012-03-07 144 views
0

我想使用一個REST服務在WSB403中吐出一個JSON輸出,我一直非常不成功。我遵循下面鏈接中列出的步驟。WSo2 ESB 4.0.3和JSON中的REST服務

ESB and JSON

我已經加入了DynamicResponseModule和我有全局分配。

當我正常運行REST服務時,如預期的那樣得到XML格式的輸出,但是當我嘗試添加「response=json」時,服務超時,我得到以下堆棧跟蹤。

內部DynamicResponseModule應該映射此responseTypeapplication/JSON/Badgerfish,當它這樣做時,我得到以下堆棧跟蹤。

了java.lang.RuntimeException:從數據源元素的命名空間是 http://ws.apache.org/axis2,而不是預期在 org.apache.axiom.om.impl.llom.OMSourcedElementImpl.forceExpand(OMSourcedElementImpl.java:287) 在 org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getFirstOMChild(OMSourcedElementImpl.java:867) 在 org.apache.axiom.om.impl.OMNavigator._getFirstChild(OMNavigator.java:196) 在 有機.apache.axiom.om.impl.OMNavigator.updateNextNode(OMNavigator.java:140) at org.apache.axiom.om.impl.OMNavigator.getNext(OMNavigator.java: 112) 在 org.apache.axiom.om.impl.SwitchingWrapper.updateNextNode(SwitchingWrapper.java:1113) 在 org.apache.axiom.om.impl.SwitchingWrapper。(SwitchingWrapper.java:235) 在有機.apache.axiom.om.impl.OMStAXWrapper。(OMStAXWrapper.java:74)at org.apache.axiom.om.impl.llom.OMStAXWrapper。(OMStAXWrapper.java:52)at org.apache.axiom.om .impl.llom.OMContainerHelper.getXMLStreamReader(OMContainerHelper.java:51) 在 org.apache.axiom.om.impl.llom.OMElementImpl.getXMLStreamReader(OMElementImpl.java:736) 在 org.apache.axiom.om .impl.llom.OMElementImpl.cloneOMElement(OMElementImpl.java:1038) at org。 apache.synapse.util.MessageHelper.cloneSOAPEnvelope(MessageHelper.java:256) 在 org.apache.synapse.core.axis2.SOAPUtils.convertSOAP11toSOAP12(SOAPUtils.java:95) 在 org.apache.synapse.core。 axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:323) 在 org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:160) 在org.apache.axis2.engine.AxisEngine.receive(AxisEngine .java:181)at org.apache.synapse.transport.nhttp.ClientWorker.run(ClientWorker.java:275) at org.apache.axis2.transport.base.threads.NativeWorkerPool $ 1.run(NativeWorkerPool.java :173) at java.util.c oncurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662 )這些是消息 格式器和構建器,我已經添加到axis2.xml class =「org.apache.axis2.json.JSONOMBuilder」/> class =「org.apache.axis2.json.JSONBadgerfishOMBuilder」/>
class =「org.apache.axis2.json。JSONOMBuilder 「/>
類=」 org.apache.axis2.json.JSONBadgerfishMessageFormatter 「/>
類=」 org.apache.axis2.json.JSONMessageFormatter「/>

任何想法,我我在這裏失蹤?

感謝

Narsi

回答