ODE
  1. ODE
  2. ODE-184

Add support for stateful exchange protocol (aka magic sessions) for JBI

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 2.0
    • Component/s: JBI Integration
    • Labels:

      Description

      Add support for stateful exchange protocol (aka magic sessions) for JBI

      1. ms-with-test.diff
        79 kB
        Rafal Rusin
      2. ms.diff
        1 kB
        Rafal Rusin

        Activity

        Hide
        Nawaz Khurshid added a comment -

        I would like MagicSession Asynchronous BPEL process to run on JBI servicemix3.2. I have created the service assemblies of the MagicSession process. It is deployed on servicemix3.2. I am using Windows Vista. However when i send the testRequest.soap message to MSMainExecuteService I get following response.

        OdeBpelEngine
        15:37:44,741 | INFO | Timer-4 | ServiceAssemblyLifeCycle | ework.ServiceAssemblyLifeCycle 111 | Starting service assembly: ASync-SA
        15:37:44,742 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 78 | Initializing service unit: Main-HTTP
        15:37:44,743 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 78 | Initializing service unit: Responder-process
        15:37:44,744 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 78 | Initializing service unit: Main-process
        15:37:44,745 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 97 | Starting service unit: Main-HTTP
        15:37:44,755 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 97 | Starting service unit: Responder-process
        15:37:45,108 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 97 | Starting service unit: Main-process
        15:37:45,695 | INFO | Timer-4 | AutoDeploymentService | ramework.AutoDeploymentService 648 | Directory: hotdeploy: Finished installation of archive: ASync-sa.zip
        15:39:37,492 | ERROR | pool-5-thread-1 | OdeService | org.apache.ode.jbi.OdeService 239 | Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed.
        15:39:37,529 | ERROR | pool-5-thread-1 | OdeService | org.apache.ode.jbi.OdeService 151 | Error invoking ODE.
        org.apache.ode.jbi.msgmap.MessageTranslationException: Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed.
        at org.apache.ode.jbi.OdeService.invokeOde(OdeService.java:240)
        at org.apache.ode.jbi.OdeService.onJbiMessageExchange(OdeService.java:148)
        at org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:67)
        at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
        15:39:37,536 | WARN | btpool1-1 | jetty | ervicemix.http.jetty.JCLLogger 96 | Nested in javax.servlet.ServletException: Failed to process request: java.lang.Exception: org.apache.ode.jbi.msgmap.MessageTranslationException: Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed. :
        java.lang.Exception: org.apache.ode.jbi.msgmap.MessageTranslationException: Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed.
        at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:194)
        at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:313)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
        at org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:511)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
        Caused by: org.apache.ode.jbi.msgmap.MessageTranslationException: Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed.

        Is there anyone with the same problem. I got the hint from one of the previous post that

        The stateful exchange protocol (aka magic sessions) is not currently supported through JBI. It would require minor additions to the JBI integration in Ode, as probably the Http binding component in ServiceMix. Not a huge deal, we just need somebody motivated enough!

        I am willing to get this done. Actually I need support in JBI servicemix for asynchoronous BPEL process.

        Please guide in this regard

        Thanks

        Show
        Nawaz Khurshid added a comment - I would like MagicSession Asynchronous BPEL process to run on JBI servicemix3.2. I have created the service assemblies of the MagicSession process. It is deployed on servicemix3.2. I am using Windows Vista. However when i send the testRequest.soap message to MSMainExecuteService I get following response. OdeBpelEngine 15:37:44,741 | INFO | Timer-4 | ServiceAssemblyLifeCycle | ework.ServiceAssemblyLifeCycle 111 | Starting service assembly: ASync-SA 15:37:44,742 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 78 | Initializing service unit: Main-HTTP 15:37:44,743 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 78 | Initializing service unit: Responder-process 15:37:44,744 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 78 | Initializing service unit: Main-process 15:37:44,745 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 97 | Starting service unit: Main-HTTP 15:37:44,755 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 97 | Starting service unit: Responder-process 15:37:45,108 | INFO | Timer-4 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 97 | Starting service unit: Main-process 15:37:45,695 | INFO | Timer-4 | AutoDeploymentService | ramework.AutoDeploymentService 648 | Directory: hotdeploy: Finished installation of archive: ASync-sa.zip 15:39:37,492 | ERROR | pool-5-thread-1 | OdeService | org.apache.ode.jbi.OdeService 239 | Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed. 15:39:37,529 | ERROR | pool-5-thread-1 | OdeService | org.apache.ode.jbi.OdeService 151 | Error invoking ODE. org.apache.ode.jbi.msgmap.MessageTranslationException: Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed. at org.apache.ode.jbi.OdeService.invokeOde(OdeService.java:240) at org.apache.ode.jbi.OdeService.onJbiMessageExchange(OdeService.java:148) at org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:67) at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) 15:39:37,536 | WARN | btpool1-1 | jetty | ervicemix.http.jetty.JCLLogger 96 | Nested in javax.servlet.ServletException: Failed to process request: java.lang.Exception: org.apache.ode.jbi.msgmap.MessageTranslationException: Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed. : java.lang.Exception: org.apache.ode.jbi.msgmap.MessageTranslationException: Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed. at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:194) at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:511) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) Caused by: org.apache.ode.jbi.msgmap.MessageTranslationException: Could not find a mapper for request message for JBI MEX ID:192.168.10.130-11ce2294b7b-16:0; ODE MEX hqejbhcnphr3nn2f27q0dl is failed. Is there anyone with the same problem. I got the hint from one of the previous post that The stateful exchange protocol (aka magic sessions) is not currently supported through JBI. It would require minor additions to the JBI integration in Ode, as probably the Http binding component in ServiceMix. Not a huge deal, we just need somebody motivated enough! I am willing to get this done. Actually I need support in JBI servicemix for asynchoronous BPEL process. Please guide in this regard Thanks
        Hide
        Rafal Rusin added a comment -

        This patch resolves this problem. Apply it inside jbi/src/main.
        Current status of SEP in JBI is that it works in ODE <-> ODE communication only.
        The other communication (eg. with EIP between peers) is not supported for now, because ServiceMix doesn't seem to copy relevant properties.

        Show
        Rafal Rusin added a comment - This patch resolves this problem. Apply it inside jbi/src/main. Current status of SEP in JBI is that it works in ODE <-> ODE communication only. The other communication (eg. with EIP between peers) is not supported for now, because ServiceMix doesn't seem to copy relevant properties.
        Hide
        Rafal Rusin added a comment -

        Here's a patch for ode1x, revision 738300, which adds a test case for previous patch (along with 2 other test cases).

        Show
        Rafal Rusin added a comment - Here's a patch for ode1x, revision 738300, which adds a test case for previous patch (along with 2 other test cases).

          People

          • Assignee:
            Unassigned
            Reporter:
            Alex Boisvert
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:

              Development