ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan <leutnant....@gmail.com>
Subject Re: a tale of two receives
Date Tue, 07 Aug 2007 19:15:24 GMT
Hi Paul,

I extended HelloWorld2 to use explicit correlations and I found the same
behavior you describe in ODE-137.  The process is written to receive 3
messages of the same type.  The portType has two operations using the same
message types.  The process fails when the second operation is attempted.

If I'm reading the serviceMix logs correctly, though, it looks like seda is
improperly identifying the operation.

I've updated ODE-137 with the service assembly and log output.  Some
snippets follow:

Smix output:
DEBUG - JettyContextManager            - Dispatching job: HEP@3344341
[d=true,io=0,w=true,b=0|0]
DEBUG - jetty                          - REQUEST /hello-doc/ on
org.mortbay.jetty.HttpConnection@474070
DEBUG - jetty                          - servlet=jbiServlet
DEBUG - jetty                          - chain=null
DEBUG - jetty                          - servelet holder=jbiServlet
DEBUG - ConsumerProcessor              - Receiving HTTP request: POST
/hello-doc/ HTTP/1.1
Content-Type: text/xml
User-Agent: Jakarta Commons-HttpClient/3.0
Host: localhost:8080
Content-Length: 1137


DEBUG - HttpComponent                  - Created correlation id: ID:
localhost.localdomain-43345-1186504399596-3:16
DEBUG - DeliveryChannelImpl            - Send ID:
localhost.localdomain-43345-1186504399596-3:16 in
DeliveryChannel{servicemix-http}
DEBUG - SedaFlow                       - Called Flow send
DEBUG - ConsumerProcessor              - Suspending continuation for
exchange: ID:localhost.localdomain-43345-1186504399596-3:16
DEBUG - SedaQueue                      -
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1d78db8 dequeued
exchange: InOut[
  id: ID:localhost.localdomain-43345-1186504399596-3:16
  status: Active
  role: provider
  interface: {urn:/HelloWorld2.wsdl}HelloPortType
  service: {urn:/HelloWorld2.wsdl}HelloService
  endpoint: HelloPort
  operation: {urn:/HelloWorld2.wsdl}Hello
  in: <?xml version="1.0" encoding="UTF-8"?><HelloRequest
xmlns="urn:/HelloWorld2.wsdl" xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/">
        <sessionID>session110</sessionID>
        <text>hello</text>
    </HelloRequest>
]
DEBUG - jetty                          - continuation
org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation@995b29
DEBUG - DeliveryChannelImpl            - Accepting ID:
localhost.localdomain-43345-1186504399596-3:16 in
DeliveryChannel{OdeBpelEngine}
DEBUG - SQL                            - <t 11164461, conn 4726262>
executing prepstmnt 27315788 INSERT INTO ODE_MESSAGE_EXCHANGE
(MESSAGE_EXCHANGE_ID, CALLEE, CHANNEL, CORRELATION_ID, CORRELATION_KEYS,
CORRELATION_STATUS, CREATE_TIME, DIRECTION, EPR, FAULT, FAULT_EXPLANATION,
OPERATION, PARTNER_LINK_MODEL_ID, PATTERN, PIPED_ID, PORT_TYPE,
PROPAGATE_TRANS, STATUS, CORR_ID, PARTNER_LINK_ID, PROCESS_ID,
PROCESS_INSTANCE_ID, REQUEST_MESSAGE_ID, RESPONSE_MESSAGE_ID) VALUES (?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
[params=(String) hqejbhcnphr2hmxwl34lem, (String)
{urn:/HelloWorld2.wsdl}HelloService, (null) null, (String) ID:
localhost.localdomain-43345-1186504399596-3:16, (null) null, (String)
UKNOWN_ENDPOINT, (null) null, (int) 77, (null) null, (null) null, (null)
null, (String) Hello, (int) 0, (String) UNKNOWN, (null) null, (null) null,
(int) 0, (String) ASYNC, (null) null, (null) null, (null) null, (null) null,
(long) 576, (null) null]
DEBUG - SQL                            - <t 11164461, conn 4726262> [2 ms]
spent
DEBUG - SQL                            - <t 11164461, conn 4726262>
executing prepstmnt 2429258 INSERT INTO ODE_MEX_PROP (ID, PROP_KEY,
PROP_VALUE, MEX_ID) VALUES (?, ?, ?, ?) [params=(long) 575, (String)
org.apache.ode.jbi.msgmap.Mapper, (String)
org.apache.ode.jbi.msgmap.ServiceMixMapper, (String) hqejbhcnphr2hmxwl34lem]
DEBUG - SQL                            - <t 11164461, conn 4726262> [1 ms]
spent
DEBUG - SQL                            - <t 11164461, conn 4726262>
executing prepstmnt 28808174 INSERT INTO ODE_MESSAGE (MESSAGE_ID, DATA,
TYPE, MESSAGE_EXCHANGE_ID) VALUES (?, ?, ?, ?) [params=(long) 576, (Reader)
java.io.StringReader@79c21f, (String) {urn:/HelloWorld2.wsdl}HelloRequest,
(String) hqejbhcnphr2hmxwl34lem]
DEBUG - SQL                            - <t 11164461, conn 4726262> [1 ms]
spent
DEBUG - JDBC                           - <t 11164461, conn 4726262> [0 ms]
close
DEBUG - SQL                            - <t 9272899, conn 19178684>
executing prepstmnt 16160454 SELECT t0.CALLEE, t0.CHANNEL, t0.CORRELATION_ID,
t0.CORRELATION_KEYS, t0.CORRELATION_STATUS, t0.CORR_ID, t0.CREATE_TIME,
t0.DIRECTION, t0.EPR, t0.FAULT, t0.FAULT_EXPLANATION, t0.OPERATION,
t0.PARTNER_LINK_ID, t0.PARTNER_LINK_MODEL_ID, t0.PATTERN, t0.PIPED_ID,
t0.PORT_TYPE, t0.PROCESS_ID, t0.PROCESS_INSTANCE_ID, t0.PROPAGATE_TRANS,
t0.REQUEST_MESSAGE_ID, t0.RESPONSE_MESSAGE_ID, t0.STATUS, t1.MEX_ID, t1.ID,
t1.PROP_KEY, t1.PROP_VALUE FROM ODE_MESSAGE_EXCHANGE t0 LEFT OUTER JOIN
ODE_MEX_PROP t1 ON t0.MESSAGE_EXCHANGE_ID = t1.MEX_ID WHERE
t0.MESSAGE_EXCHANGE_ID = ? ORDER BY t1.MEX_ID ASC [params=(String)
hqejbhcnphr2hmxwl34lem]
DEBUG - SQL                            - <t 9272899, conn 19178684> [2 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 19178684> [0 ms]
close
DEBUG - Query                          - Executing query: [select x from
ProcessDAOImpl x where x._processId = ?1] with parameters:
{1={urn:/HelloWorld2.bpel}HelloWorld2-12}
DEBUG - SQL                            - <t 9272899, conn 31497703>
executing prepstmnt 14989267 SELECT t0.ID, t0.GUID, t0.NUMBER_OF_INSTANCES,
t0.PROCESS_ID, t0.PROCESS_TYPE, t0.VERSION FROM ODE_PROCESS t0 WHERE (
t0.PROCESS_ID = ?) [params=(String) {urn:/HelloWorld2.bpel}HelloWorld2-12]
DEBUG - SQL                            - <t 9272899, conn 31497703> [1 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 31497703> [0 ms]
close
DEBUG - Query                          - Executing query: [select x from
ProcessDAOImpl x where x._processId = ?1] with parameters:
{1={urn:/HelloWorld2.bpel}HelloWorld2-12}
DEBUG - SQL                            - <t 9272899, conn 30802933>
executing prepstmnt 17209284 SELECT t0.ID, t0.GUID, t0.NUMBER_OF_INSTANCES,
t0.PROCESS_ID, t0.PROCESS_TYPE, t0.VERSION FROM ODE_PROCESS t0 WHERE (
t0.PROCESS_ID = ?) [params=(String) {urn:/HelloWorld2.bpel}HelloWorld2-12]
DEBUG - SQL                            - <t 9272899, conn 30802933> [0 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 30802933> [0 ms]
close
DEBUG - Query                          - Executing query: [select x from
ProcessDAOImpl x where x._processId = ?1] with parameters:
{1={urn:/HelloWorld2.bpel}HelloWorld2-12}
DEBUG - SQL                            - <t 9272899, conn 6056970> executing
prepstmnt 32211177 SELECT t0.ID, t0.GUID, t0.NUMBER_OF_INSTANCES,
t0.PROCESS_ID, t0.PROCESS_TYPE, t0.VERSION FROM ODE_PROCESS t0 WHERE (
t0.PROCESS_ID = ?) [params=(String) {urn:/HelloWorld2.bpel}HelloWorld2-12]
DEBUG - SQL                            - <t 9272899, conn 6056970> [1 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 6056970> [0 ms]
close
DEBUG - Query                          - Executing query: [SELECT c FROM
CorrelatorDAOImpl as c WHERE c._correlatorKey = :ckey] with parameters:
{ckey=19.Hello}
DEBUG - SQL                            - <t 9272899, conn 11907452>
executing prepstmnt 26813109 SELECT t0.CORRELATOR_ID, t0.CORRELATOR_KEY,
t0.PROC_ID FROM ODE_CORRELATOR t0 WHERE (t0.CORRELATOR_KEY = ?)
[params=(String) 19.Hello]
DEBUG - SQL                            - <t 9272899, conn 11907452> [1 ms]
spent
DEBUG - SQL                            - <t 9272899, conn 11907452>
executing prepstmnt 24784555 SELECT t0.CORRELATOR_ID, t1.MESSAGE_ROUTE_ID,
t1.CORRELATION_KEY, t1.CORR_ID, t1.GROUP_ID, t1.ROUTE_INDEX,
t1.PROCESS_INSTANCE_ID FROM ODE_CORRELATOR t0 INNER JOIN ODE_MESSAGE_ROUTE
t1 ON t0.CORRELATOR_ID = t1.CORR_ID WHERE (t0.CORRELATOR_KEY = ?) ORDER BY
t0.CORRELATOR_ID ASC [params=(String) 19.Hello]
DEBUG - SQL                            - <t 9272899, conn 11907452> [2 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 11907452> [0 ms]
close
DEBUG - SQL                            - <t 9272899, conn 17527608>
executing prepstmnt 25497779 SELECT t0.DATA, t0.MESSAGE_EXCHANGE_ID,
t0.TYPEFROM ODE_MESSAGE t0 WHERE
t0.MESSAGE_ID = ? [params=(long) 576]
DEBUG - SQL                            - <t 9272899, conn 17527608> [0 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 17527608> [1 ms]
close
DEBUG - SQL                            - <t 9272899, conn 2067393> executing
prepstmnt 24237095 SELECT t0.DATE_CREATED, t0.FAULT_ID,
t0.INSTANTIATING_CORRELATOR_ID, t0.LAST_ACTIVE_TIME, t0.LAST_RECOVERY_DATE,
t0.PREVIOUS_STATE, t0.PROCESS_ID, t0.ROOT_SCOPE_ID, t0.SEQUENCE,
t0.INSTANCE_STATE FROM ODE_PROCESS_INSTANCE t0 WHERE t0.ID = ?
[params=(long) 517]
DEBUG - SQL                            - <t 9272899, conn 2067393> [1 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 2067393> [0 ms]
close
DEBUG - SQL                            - <t 9272899, conn 25720629>
executing prepstmnt 28379152 SELECT t0.EXECUTION_STATE FROM
ODE_PROCESS_INSTANCE t0 WHERE t0.ID = ? [params=(long) 517]
DEBUG - SQL                            - <t 9272899, conn 25720629> [1 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 25720629> [0 ms]
close
FATAL - OutstandingRequestManager      - INTERNAL ERROR: No ENTRY for
RESPONSE CHANNEL 20
ERROR - BpelEngineImpl                 - Scheduled job failed;
jobDetail={type=INVOKE_INTERNAL, mexid=hqejbhcnphr2hmxwl34lem,
pid={urn:/HelloWorld2.bpel}HelloWorld2-12}
java.lang.IllegalArgumentException: INTERNAL ERROR: No ENTRY for RESPONSE
CHANNEL 20
        at org.apache.ode.bpel.engine.OutstandingRequestManager.associate(
OutstandingRequestManager.java:145)
        at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.inputMsgMatch(
BpelRuntimeContextImpl.java:893)
        at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeMyRole(
PartnerLinkMyRoleImpl.java:204)
        at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(
BpelProcess.java:168)
        at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(
BpelProcess.java:305)
        at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
BpelEngineImpl.java:316)
        at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(
BpelServerImpl.java:364)
        at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(
SimpleScheduler.java:316)
        at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(
SimpleScheduler.java:315)
        at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(
SimpleScheduler.java:154)
        at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(
SimpleScheduler.java:314)
        at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(
SimpleScheduler.java:311)
        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)
DEBUG - SQL                            - <t 9272899, conn 5530596> executing
prepstmnt 24726433 UPDATE ODE_MESSAGE_EXCHANGE SET PARTNER_LINK_MODEL_ID =
?, PATTERN = ?, PROCESS_ID = ? WHERE MESSAGE_EXCHANGE_ID = ? [params=(int)
19, (String) REQUEST_RESPONSE, (long) 450, (String) hqejbhcnphr2hmxwl34lem]
DEBUG - SQL                            - <t 9272899, conn 5530596> [2 ms]
spent
DEBUG - JDBC                           - <t 9272899, conn 5530596> [0 ms]
close
ERROR - SimpleScheduler                - Error while executing transaction
org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
java.lang.IllegalArgumentException: INTERNAL ERROR: No ENTRY for RESPONSE
CHANNEL 20
        at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
BpelEngineImpl.java:326)
        at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(
BpelServerImpl.java:364)
        at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(
SimpleScheduler.java:316)
        at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(
SimpleScheduler.java:315)
        at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(
SimpleScheduler.java:154)
        at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(
SimpleScheduler.java:314)
        at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(
SimpleScheduler.java:311)
        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)
Caused by: java.lang.IllegalArgumentException: INTERNAL ERROR: No ENTRY for
RESPONSE CHANNEL 20
        at org.apache.ode.bpel.engine.OutstandingRequestManager.associate(
OutstandingRequestManager.java:145)
        at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.inputMsgMatch(
BpelRuntimeContextImpl.java:893)
        at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeMyRole(
PartnerLinkMyRoleImpl.java:204)
        at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(
BpelProcess.java:168)
        at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(
BpelProcess.java:305)
        at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
BpelEngineImpl.java:316)
        ... 11 more
DEBUG - JettyContextManager            - Dispatching job: HEP@3344341
[d=true,io=0,w=true,b=0|0]
DEBUG - jetty                          - resume continuation
org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation@995b29
DEBUG - jetty                          - REQUEST /hello-doc/ on
org.mortbay.jetty.HttpConnection@474070
DEBUG - jetty                          - servlet=jbiServlet
DEBUG - jetty                          - chain=null
DEBUG - jetty                          - servelet holder=jbiServlet
DEBUG - ConsumerProcessor              - Receiving HTTP request: POST
/hello-doc/ HTTP/1.1
Content-Type: text/xml
User-Agent: Jakarta Commons-HttpClient/3.0
Host: localhost:8080
Content-Length: 1137


WARN  - jetty                          - /hello-doc/:
java.lang.IllegalStateException: Exchange not found
        at org.apache.servicemix.http.processors.ConsumerProcessor.process(
ConsumerProcessor.java:206)
        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
:445)
        at org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:356)
        at org.mortbay.jetty.handler.ContextHandler.handle(
ContextHandler.java:627)
        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(
ContextHandlerCollection.java:149)
        at org.mortbay.jetty.handler.HandlerCollection.handle(
HandlerCollection.java:123)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(
HandlerWrapper.java:141)
        at org.mortbay.jetty.Server.handle(Server.java:265)
        at org.mortbay.jetty.HttpConnection.handleRequest(
HttpConnection.java:430)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
        at org.mortbay.jetty.nio.HttpChannelEndPoint.run(
HttpChannelEndPoint.java:270)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(
BoundedThreadPool.java:475)
DEBUG - jetty                          - POST /hello-doc/ HTTP/1.1
Content-Type: text/xml
User-Agent: Jakarta Commons-HttpClient/3.0
Host: localhost:8080
Content-Length: 1137


WARN  - jetty                          - /hello-doc/
java.lang.IllegalStateException: Exchange not found
        at org.apache.servicemix.http.processors.ConsumerProcessor.process(
ConsumerProcessor.java:206)
        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
:445)
        at org.mortbay.jetty.servlet.ServletHandler.handle(
ServletHandler.java:356)
        at org.mortbay.jetty.handler.ContextHandler.handle(
ContextHandler.java:627)
        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(
ContextHandlerCollection.java:149)
        at org.mortbay.jetty.handler.HandlerCollection.handle(
HandlerCollection.java:123)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(
HandlerWrapper.java:141)
        at org.mortbay.jetty.Server.handle(Server.java:265)
        at org.mortbay.jetty.HttpConnection.handleRequest(
HttpConnection.java:430)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
        at org.mortbay.jetty.nio.HttpChannelEndPoint.run(
HttpChannelEndPoint.java:270)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(
BoundedThreadPool.java:475)
DEBUG - jetty                          - RESPONSE /hello-doc/  500
DEBUG - jetty                          - continuation
org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation@995b29
DEBUG - JettyContextManager            - Dispatching job: HEP@3344341
[d=true,io=1,w=true,b=0|0]
DEBUG - jetty                          - EOF
DEBUG - jetty                          - continuation
org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation@995b29

----------------------------------------------------------------------------------------------------------------------------
bpel snippet:
----------------------------------------------------------------------------------------------------------------------------
     <correlationSets>
        <correlationSet properties="hello:CorrelationProp"
name="helloWorldCorrelation"/>
    </correlationSets>

    <sequence>
        <receive
                name="start"
                partnerLink="helloPartnerLink"
                portType="hello:HelloPortType"
                operation="Hello"
                variable="request"
                createInstance="yes">
        <correlations>
            <correlation set="helloWorldCorrelation" initiate="yes"/>
        </correlations>
        </receive>

        <assign name="assign1">
            <copy>
                <from>$request.body/hello:text</from>
                <to variable="text"/>
            </copy>
            <copy>
                <from>
                    <literal>
                        <hello:HelloResponse>
                            <hello:text/>
                        </hello:HelloResponse>
                    </literal>
                </from>
                <to>$response.body</to>
            </copy>
            <copy>
                <from>concat($text,' World')</from>
                <to>$response.body/hello:text</to>
            </copy>
        </assign>

        <reply name="replyToFirstReceive"
                partnerLink="helloPartnerLink"
                portType="hello:HelloPortType"
                operation="Hello"
                variable="response"/>
<!-- ################################################## -->
        <receive
                name="secondReceive"
                partnerLink="helloPartnerLink"
                portType="hello:HelloPortType"
                operation="Hello"
                variable="request"
                createInstance="no">
        <correlations>
            <correlation set="helloWorldCorrelation" initiate="no"/>
        </correlations>
        </receive>

        <assign name="assign2">
            <copy>
                <from>$request.body/hello:text</from>
                <to variable="text"/>
            </copy>
            <copy>
                <from>
                    <literal>
                        <hello:HelloResponse>
                            <hello:text/>
                        </hello:HelloResponse>
                    </literal>
                </from>
                <to>$response.body</to>
            </copy>
            <copy>
                <from>concat($text,' Second Request/Response')</from>
                <to>$response.body/hello:text</to>
            </copy>
        </assign>

       <reply name="secondReply"
                partnerLink="helloPartnerLink"
                portType="hello:HelloPortType"
                operation="Hello"
                variable="response"/>

<!-- ################################################## -->
        <receive
                name="thirdReceive"
                partnerLink="helloPartnerLink"
                portType="hello:HelloPortType"
                operation="GoodBye"
                variable="request"
                createInstance="no">
        <correlations>
            <correlation set="helloWorldCorrelation" initiate="no"/>
        </correlations>
        </receive>

        <assign name="assign3">
            <copy>
                <from>$request.body/hello:text</from>
                <to variable="text"/>
            </copy>
            <copy>
                <from>
                    <literal>
                        <hello:HelloResponse>
                            <hello:text/>
                        </hello:HelloResponse>
                    </literal>
                </from>
                <to>$response.body</to>
            </copy>
            <copy>
                <from>concat($text,' GoodBye')</from>
                <to>$response.body/hello:text</to>
            </copy>
        </assign>

        <reply name="replyGoodBye"
                partnerLink="helloPartnerLink"
                portType="hello:HelloPortType"
                operation="GoodBye"
                variable="response"/>
    </sequence>
----------------------------------------------------------------------------------------------------------------------------
WSDL snippet
----------------------------------------------------------------------------------------------------------------------------
    <vprop:property name="CorrelationProp" type="xsd:string"/>

    <vprop:propertyAlias propertyName="tns:CorrelationProp"
messageType="tns:HelloRequest" part="body">
      <bpel:query>//tns:sessionID</bpel:query>
    </vprop:propertyAlias>

    <portType name="HelloPortType">
        <operation name="Hello">
            <input message="tns:HelloRequest"/>
            <output message="tns:HelloResponse"/>
        </operation>
        <operation name="GoodBye">
            <input message="tns:HelloRequest"/>
            <output message="tns:HelloResponse"/>
        </operation>
    </portType>
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------

On 8/2/07, Dan <leutnant.dan@gmail.com> wrote:
>
> The behavior sounds very similar.  I don't get that particular exception,
> however.
>
> Usually all I get is 'exchange not found' when servicemix or jetty gives
> up:
> DEBUG - DeliveryChannelImpl            - Accepting ID:
> localhost.localdomain-56122-1186064097134-3:44 in
> DeliveryChannel{OdeBpelEngine}
> << Aprox 1min timeout here >>
> DEBUG - JettyContextManager            - Dispatching job: HEP@3150098[d=true,io=0,w=true,b=0|0]
>
> DEBUG - jetty                          - resume continuation
> org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation@55590e
> ...
> java.lang.IllegalStateException: Exchange not found
>         at org.apache.servicemix.http.processors.ConsumerProcessor.process(
> ConsumerProcessor.java:206)
>
> If I try to use joins in a flow I get a nullpointer when the correlation
> key is initialized in the opposite branch.
>
> ERROR - BpelEngineImpl                 - Scheduled job failed;
> jobDetail={type=MATCHER, inmem=true, ckey=null, correlatorId=
> 30.operationB, iid=30}
> java.lang.NullPointerException
>         at org.apache.ode.bpel.common.CorrelationKey.<init>(
> CorrelationKey.java:71)
>         at org.apache.ode.bpel.engine.WorkEvent.getCorrelationKey(
> WorkEvent.java :97)
>
> Thanks,
> Dan
>
> On 8/2/07, Paul Brown <paulrbrown@gmail.com> wrote:
> >
> > On 8/2/07, Dan <leutnant.dan@gmail.com> wrote:
> > > I'm having difficulty orchestrating a sequence of receives with
> > ode-jbi.
> > > While the first message is always received correctly, the second
> > message
> > > gets delivered by jetty to ode, but ode never seems to act on it.
> > > Eventually jetty reports exchange not found.
> >
> > I had a similar issue with the AXIS integration layer and a sequence
> > of receives; I think that I narrowed it down to an issue with
> > correlations.  Have a look at ODE-137 and see if that looks similar to
> > your situation:
> >
> > https://issues.apache.org/jira/browse/ODE-137
> >
> > -- Paul
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message