Hello everyone,

I am having a problem with the JMS-bridges of ServiceMix. For testing purposes, I made the following setup: The first PC (called Vectra) has a ServiceMix 3.0-M1 with a http binding component that sends its incoming soap messages to a certain service. That service is located on the second PC (called Polo) which has another http binding component that binds the external web service provider to that ServiceMix part. Now the JMS bridge is in fact created, but every second message that is supposed to pass through the bridge yields an error. In order to test, I used an external program that sends a SOAP to a specified location (the sendsoap that is included in the standalone distribution of PXE) to send a SOAP request to the binding component. The first message that is send, results in a correct answer from the service provider. the second message results in the following message :

sendsoap: Unable to send message due to I/O-related error: org.apache.commons.httpclient.HttpRecoverableException: Error in parsing the status line from the response: unable to find line starting with "HTTP"

The ServiceMix console on the clientside PC (Vectra) shows:

  WARN - JCLLoggerAdapter.warn(346) | /InOut
  java.lang.IllegalStateException: Exchange not found
at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:162) at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:70)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:423) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:350) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:536)
      at org.mortbay.jetty.Server.handle(Server.java:309)
      at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.doHandler(HttpConnection.java:364)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:292)
at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoint.run(SelectChannelConnector.java:710) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:412)

and the ServiceMix console on the serverside PC (Polo) shows:

ERROR - BaseLifeCycle$2.run(242) | Error processing exchange [EMAIL PROTECTED] java.lang.IllegalStateException: No processor found for: ID:Vectra-1185-1152004779093-11:3 at org.apache.servicemix.common.BaseLifeCycle.processExchange(BaseLifeCycle.java:378) at org.apache.servicemix.common.BaseLifeCycle$2.run(BaseLifeCycle.java:240) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Further, the third message will yield a correct response and the fourhth gives the same error again (and so on).

Next, I re-experimented with the "cluster" example. The distributed setup resulted in similar behaviour. When pasting 5 messages into the inbox of the Vectra-PC, only messages 1, 3 and 5 were transported to the outbox of the Polo-PC (messages 2 and 4 were seemingly ignored and remained unchanged in the inbox of the Vectra-PC), although no error was visible at any console.

Has anybody experienced the same issues? And does anyone know a solution for this behaviour?

Thanx in advance,
Tom

Reply via email to