CXFSE with ServiceMixClient
davinci25 Aug 19, 2008 3:43 AMDear Iona,
We are using Fuse Servicemix 3.3.1.4 and are attempting to bridge a SOAP-webservice (originated from the first WSDL example) with a JMS-MQ (IBM-MQwebsphere 7.0).
Our proposed solution is creating the following ESB.
(See attached image Webservice1.jpeg)
Or in short:
incoming SOAPrequest>CXFBC>CXFSE>EIPCONTENTBASEDROUTING>JMS-MQCONNECTION-->WEBSPHERE.
We create a connection between the CXFSE component and the EIP using the ServiceMixClient API:
...
Destination destination = client.createDestination("service:esb/router");
InOnly exchange = destination.createInOnlyExchange();
NormalizedMessage message = exchange.getInMessage();
message.setProperty("name", "endpoint");
message.setContent(new DOMSource(doc));
client.send(exchange);...
Where are we going wrong here?
The following error however occurs in the console window as a SOAPrequest is sent via the wsdl-first client.html.
ERROR - CxfSeComponent - Error processing exchange InOnly[
id: ID:210.223.14.4-11fc9c722e0-5:9
status: Error
role: consumer
interface: Instruction
service: router
endpoint: endpoint
operation: SendInstruction
in: <?xml version="1.0" encoding="UTF-8"?>....etc
....
java.lang.NullPointerException
at org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:
230)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
feCycle.java:540)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
BaseLifeCycle.java:514)
at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:46)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:610)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:172)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:167)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at java.lang.Thread.run(Thread.java:619)
ERROR - CxfSeComponent - Error setting exchange status to ERROR
javax.jbi.messaging.MessagingException: illegal call to send / sendSync
at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(Me
ssageExchangeImpl.java:614)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(Delive
ryChannelImpl.java:385)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(Delivery
ChannelImpl.java:431)
at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:58)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:610)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:172)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:167)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at java.lang.Thread.run(Thread.java:619)
Edited by: davinci25 on Aug 19, 2008 8:35 AM
Edited by: davinci25 on Aug 19, 2008 8:41 AM
Edited by: davinci25 on Aug 19, 2008 8:43 AM
-
Webservice1.jpeg 28.3 KB