Using the pipeline is the way to go.
However it seems that your external web service is sending
a fault back to the http endpoint, and that the http endpoint is
unable to read the fault correctly.
You need to put tcpmon between servicemix and your web service
and see what's going on. You should also have informations
if you increase the logging level to DEBUG.
On 2/8/07, Anthony <[EMAIL PROTECTED]> wrote:
i laso tried replacing my pipe with a static-routing-slip as i thought that
might make more sense?
<eip:static-routing-slip service="rmb-eip:static-routing-slip"
endpoint="endpoint">
<eip:targets>
<eip:exchange-target service="rmb-http:EaiServiceImplService" />
<eip:exchange-target service="rmb-jms:jms-out" />
</eip:targets>
</eip:static-routing-slip>
but then i get this error:
10:35:31,096 | DEBUG | pool-component.servicemix-jms-thread-2 |
plexingConsumerProcessor | ultiplexingConsumerProcessor$1 90 | Handling
jms message ActiveMQTextMessage {commandId = 5, responseRequired = true,
messageId = ID:HGO1-1828-1170923730019-1:0:1:1:1, originalDestination =
null, originalTransactionId = null, producerId =
ID:HGO1-1828-1170923730019-1:0:1:1, destination = queue://test.in,
transactionId = null, expiration = 0, timestamp = 1170923731050, arrival =
0, correlationId = null, replyTo = null, persistent = true, type = null,
priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null,
compressed = false, userID = null, content =
[EMAIL PROTECTED], marshalledProperties = null,
dataStructure = null, redeliveryCounter = 0, size = 1958, properties = null,
readOnlyProperties = true, readOnlyBody = true, droppable = false, text =
null}
10:35:31,128 | DEBUG | pool-component.servicemix-jms-thread-2 | JmsComponent
| emix.common.AsyncBaseLifeCycle 532 | Created correlation id:
ID:HGO1-1777-1170923655537-9:0
10:35:31,128 | DEBUG | pool-component.servicemix-jms-thread-2 |
DeliveryChannelImpl | .messaging.DeliveryChannelImpl 411 | Send
ID:HGO1-1777-1170923655537-9:0 in DeliveryChannel{servicemix-jms}
10:35:31,128 | DEBUG | pool-component.servicemix-jms-thread-2 | SedaFlow
| emix.jbi.nmr.flow.AbstractFlow 121 | Called Flow send
10:35:31,143 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | SedaQueue
| .jbi.nmr.flow.seda.SedaQueue$1 132 |
[EMAIL PROTECTED] dequeued
exchange: InOnly[
id: ID:HGO1-1777-1170923655537-9:0
status: Active
role: provider
service: {http://www.rmb.co.za/eip}static-routing-slip
endpoint: endpoint
in: <?xml version="1.0" encoding="UTF-8"?><xb:esbMessage
xmlns:xb="http://www.rmb.co.za/eai/common/xmlbeans">
<esbHeader>
<sourceSystem>Calypso</sourceSystem>
<date>2007-02-08T10:35:30.909+02:00</date>
<esbAggregationProps>
<sessionId>7ee3ab34-27c9-41d7-ada8-6b6eb16f23d2</sessionId>
<msgType>AGGREGATION-START</msgType>
<destination>some destination</destination>
<timeoutSecs>-1</timeoutSecs>
<maxBatchSize>0</maxBatchSize>
<sequenceNo>0</sequenceNo>
<totalMessages>0</totalMessages>
</esbAggregationProps>
</esbHeader>
<esbBody>
<body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true"/>
</esbBody>
</xb:esbMessage>
]
10:35:31,174 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | EIPComponent
| emix.common.AsyncBaseLifeCycle 419 | Received exchange: status: Active,
role: provider
10:35:31,174 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | EIPComponent
| emix.common.AsyncBaseLifeCycle 487 | Retrieved correlation id:
ID:HGO1-1777-1170923655537-9:0
10:35:31,190 | ERROR | pool-flow.seda.servicemix-eip-thread-1 | EIPComponent
| ervicemix.common.BaseLifeCycle 48 | Error processing exchange InOnly[
id: ID:HGO1-1777-1170923655537-9:0
status: Active
role: provider
service: {http://www.rmb.co.za/eip}static-routing-slip
endpoint: endpoint
in: <?xml version="1.0" encoding="UTF-8"?><xb:esbMessage
xmlns:xb="http://www.rmb.co.za/eai/common/xmlbeans">
<esbHeader>
<sourceSystem>Calypso</sourceSystem>
<date>2007-02-08T10:35:30.909+02:00</date>
<esbAggregationProps>
<sessionId>7ee3ab34-27c9-41d7-ada8-6b6eb16f23d2</sessionId>
<msgType>AGGREGATION-START</msgType>
<destination>some destination</destination>
<timeoutSecs>-1</timeoutSecs>
<maxBatchSize>0</maxBatchSize>
<sequenceNo>0</sequenceNo>
<totalMessages>0</totalMessages>
</esbAggregationProps>
</esbHeader>
<esbBody>
<body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true"/>
</esbBody>
</xb:esbMessage>
]
java.lang.IllegalStateException: Use an InOut MEP
at
org.apache.servicemix.eip.patterns.StaticRoutingSlip.processAsync(StaticRoutingSlip.java:157)
at org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:160)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
10:35:31,284 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 |
DeliveryChannelImpl | .messaging.DeliveryChannelImpl 411 | Send
ID:HGO1-1777-1170923655537-9:0 in DeliveryChannel{servicemix-eip}
10:35:31,284 | DEBUG | pool-flow.seda.servicemix-eip-thread-1 | SedaFlow
| emix.jbi.nmr.flow.AbstractFlow 121 | Called Flow send
10:35:31,284 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 | SedaQueue
| .jbi.nmr.flow.seda.SedaQueue$1 132 |
[EMAIL PROTECTED] dequeued
exchange: InOnly[
id: ID:HGO1-1777-1170923655537-9:0
status: Error
role: consumer
service: {http://www.rmb.co.za/eip}static-routing-slip
endpoint: endpoint
in: <?xml version="1.0" encoding="UTF-8"?><xb:esbMessage
xmlns:xb="http://www.rmb.co.za/eai/common/xmlbeans">
<esbHeader>
<sourceSystem>Calypso</sourceSystem>
<date>2007-02-08T10:35:30.909+02:00</date>
<esbAggregationProps>
<sessionId>7ee3ab34-27c9-41d7-ada8-6b6eb16f23d2</sessionId>
<msgType>AGGREGATION-START</msgType>
<destination>some destination</destination>
<timeoutSecs>-1</timeoutSecs>
<maxBatchSize>0</maxBatchSize>
<sequenceNo>0</sequenceNo>
<totalMessages>0</totalMessages>
</esbAggregationProps>
</esbHeader>
<esbBody>
<body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true"/>
</esbBody>
</xb:esbMessage>
error: java.lang.IllegalStateException: Use an InOut MEP
]
10:35:31,346 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 | JmsComponent
| emix.common.AsyncBaseLifeCycle 419 | Received exchange: status: Error,
role: consumer
10:35:31,346 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 | JmsComponent
| emix.common.AsyncBaseLifeCycle 487 | Retrieved correlation id:
ID:HGO1-1777-1170923655537-9:0
10:35:31,346 | ERROR | pool-flow.seda.servicemix-eip-thread-2 | JmsComponent
| ervicemix.common.BaseLifeCycle 48 | Error processing exchange InOnly[
id: ID:HGO1-1777-1170923655537-9:0
status: Error
role: consumer
service: {http://www.rmb.co.za/eip}static-routing-slip
endpoint: endpoint
in: <?xml version="1.0" encoding="UTF-8"?><xb:esbMessage
xmlns:xb="http://www.rmb.co.za/eai/common/xmlbeans">
<esbHeader>
<sourceSystem>Calypso</sourceSystem>
<date>2007-02-08T10:35:30.909+02:00</date>
<esbAggregationProps>
<sessionId>7ee3ab34-27c9-41d7-ada8-6b6eb16f23d2</sessionId>
<msgType>AGGREGATION-START</msgType>
<destination>some destination</destination>
<timeoutSecs>-1</timeoutSecs>
<maxBatchSize>0</maxBatchSize>
<sequenceNo>0</sequenceNo>
<totalMessages>0</totalMessages>
</esbAggregationProps>
</esbHeader>
<esbBody>
<body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true"/>
</esbBody>
</xb:esbMessage>
error: java.lang.IllegalStateException: Use an InOut MEP
]
java.lang.UnsupportedOperationException: A destination must be specified.
at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:448)
at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:356)
at
org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(MultiplexingConsumerProcessor.java:125)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:463)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
10:35:31,440 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 |
DeliveryChannelImpl | .messaging.DeliveryChannelImpl 411 | Send
ID:HGO1-1777-1170923655537-9:0 in DeliveryChannel{servicemix-jms}
10:35:31,440 | DEBUG | pool-flow.seda.servicemix-eip-thread-2 |
DeliveryChannelImpl | .messaging.DeliveryChannelImpl 384 | Exception
processing: ID:HGO1-1777-1170923655537-9:0 in
DeliveryChannel{servicemix-jms}
10:35:31,440 | ERROR | pool-flow.seda.servicemix-eip-thread-2 | JmsComponent
| ervicemix.common.BaseLifeCycle 60 | Error setting exchange status to
ERROR
javax.jbi.messaging.MessagingException: illegal call to send / sendSync
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:571)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:370)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:417)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:58)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
so is the pipe the correct way to achieve what i need to and how can i get
this working?
--
View this message in context:
http://www.nabble.com/Calling-external-web-service-tf3159837s12049.html#a8861413
Sent from the ServiceMix - User mailing list archive at Nabble.com.
--
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/