Hi Daniel, We'll need your full BPEL deployment bundle to diagnose. For some reason, the engine thinks you're doing a process-to-process invocation instead of calling back the client. We don't have enough information to tell why.
alex On Thu, Nov 27, 2008 at 5:23 AM, Daniel Luebke < [EMAIL PROTECTED]> wrote: > Hi everyone, > > I'm new to this list and have read much of the archives while looking > for a solution to my problem. My name is Daniel and I'm working at the > University of Hannover, Germany. For a lecture, I want to prepare an > async BPEL process running on top of Apache ODE. > > I created the process using the Eclipse BPEL Plug-in. The receive and > invoke activities look like this: > > <bpel:receive name="receiveInput" partnerLink="client" > portType="tns:AsyncBPEL" operation="initiate" > variable="input" > createInstance="yes"> > </bpel:receive> > > <bpel:invoke name="callbackClient" partnerLink="client" > portType="tns:AsyncBPELCallback" > operation="onResult" inputVariable="output" /> > > > A comment states that WS-Addressing should care about the endpoint for > the final invoke. However, if I'm calling the process from an Axis > client a NullPointerException is thrown. The request, complete with > WS-Addressing headers looks like this: > > <?xml version="1.0" encoding="http://schemas.xmlsoap.org/soap/envelope/" > standalone="no"?> > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ > "> > <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> > <wsa:To>http://localhost:8081/ode/processes/AsyncBPEL</wsa:To> > <wsa:ReplyTo> > <wsa:Address>http://130.75.33.229:7777/axis2/services/anonService2/ > </wsa:Address> > </wsa:ReplyTo> > <wsa:MessageID>urn:uuid:4ABAF38975E8ACD1DC1227791017047</wsa:MessageID> > <wsa:Action>http://asyncbpel/initiate</wsa:Action> > </soapenv:Header> > <soapenv:Body> > <axis2ns1:AsyncBPELRequest xmlns:axis2ns1="http://asyncbpel"> > <axis2ns2:input xmlns:axis2ns2="http://asyncbpel">Hallo</axis2ns2:input> > </axis2ns1:AsyncBPELRequest> > </soapenv:Body> > </soapenv:Envelope> > > The log from ODE is as follows: > DEBUG - GeronimoLog.debug(66) | Found a header in incoming message, > checking if there are endpoints there. > DEBUG - GeronimoLog.debug(66) | Received one-way message for > AsyncBPEL.{http://asyncbpel}initiate > DEBUG - GeronimoLog.debug(66) | Starting transaction. > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://asyncbpel}AsyncBPELService --> > BpelProcess[{http://asyncbpel}AsyncBPEL-4] > DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation: > name=initiate > style=ONE_WAY,0 > Input: name=null > Message: name={http://asyncbpel}AsyncBPELRequestMessage > Part: name=payload > elementName={http://asyncbpel}AsyncBPELRequest from service > {http://asyncbpel}AsyncBPELService > DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX > {MyRoleMex#hqejbhcnphr3s853g4ob0q [Client hqejbhcnphr3s853g4ob0p] > calling {http://asyncbpel}AsyncBPELService.initiate(...)} > DEBUG - GeronimoLog.debug(66) | Message content: <?xml version="1.0" > encoding="UTF-8"?> > <message><payload><AsyncBPELRequest xmlns="http://asyncbpel" > xmlns:axis2ns1="http://asyncbpel" > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><input > xmlns:axis2ns2="http://asyncbpel > ">Hallo</input></AsyncBPELRequest></payload></message> > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://asyncbpel}AsyncBPELService --> > BpelProcess[{http://asyncbpel}AsyncBPEL-4] > DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> > BpelProcess[{http://asyncbpel}AsyncBPEL-4] > DEBUG - GeronimoLog.debug(66) | Commiting ODE MEX > {MyRoleMex#hqejbhcnphr3s853g4ob0q [Client hqejbhcnphr3s853g4ob0p] > calling {http://asyncbpel}AsyncBPELService.initiate(...)} > DEBUG - GeronimoLog.debug(66) | Commiting transaction. > DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr3s853g4ob0q > DEBUG - GeronimoLog.debug(66) | >> > handleWorkEvent(jobData={mexid=hqejbhcnphr3s853g4ob0q, > pid={http://asyncbpel}AsyncBPEL-4, type=INVOKE_INTERNAL}) > DEBUG - GeronimoLog.debug(66) | InvokeInternal event for mexid > hqejbhcnphr3s853g4ob0q > DEBUG - GeronimoLog.debug(66) | GET MEX property > org.apache.ode.bpel.myRoleSessionId = null > DEBUG - GeronimoLog.debug(66) | GET MEX property > org.apache.ode.bpel.myRoleSessionId = null > DEBUG - GeronimoLog.debug(66) | GET MEX property > org.apache.ode.bpel.partnerRoleSessionId = null > DEBUG - GeronimoLog.debug(66) | INPUTMSG: 12.initiate: MSG RCVD keys=[] > mySessionId=null partnerSessionId=null > DEBUG - GeronimoLog.debug(66) | INPUTMSG: 12.initiate: routing failed, > CREATING NEW INSTANCE > DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for > instance 301. INDEXED STATE={} > DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING > CORRELATOR 12.initiate > DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: CHECKING > for NEW INSTANCE match > DEBUG - GeronimoLog.debug(66) | INPUTMSGMATCH: Changing process instance > state from ready to active > DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND > match for NEW instance mexRef={MyRoleMex#hqejbhcnphr3s853g4ob0q [Client > hqejbhcnphr3s853g4ob0p] calling > {http://asyncbpel}AsyncBPELService.initiate(...)} > DEBUG - GeronimoLog.debug(66) | INVOKING PARTNER: > partnerLink={PartnerLinkInstance > partnerLinkDecl=OPartnerLink#12,scopeInstanceId=351}, op=onResult > channel=null) > DEBUG - GeronimoLog.debug(66) | INVOKE PARTNER (SEP): > sessionId=hqejbhcnphr3s853g4ob0s partnerSessionId=null > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://asyncbpel}AsyncBPELService --> > BpelProcess[{http://asyncbpel}AsyncBPEL-4] > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://asyncbpel}AsyncBPELService --> > BpelProcess[{http://asyncbpel}AsyncBPEL-4] > DEBUG - GeronimoLog.debug(66) | Invoking in a p2p interaction, > partnerrole {PartnerRoleMex#hqejbhcnphr3s853g4ob0t [PID > {http://asyncbpel}AsyncBPEL-4] calling null.onResult(...)} - myrole > {MyRoleMex#hqejbhcnphr3s853g4ob0u [Client hqejbhcnphr3s853g4ob0t] > calling {http://asyncbpel}AsyncBPELService.onResult(...)} > DEBUG - GeronimoLog.debug(66) | Setting myRoleMex session ids for p2p > interaction, mySession null - partnerSess hqejbhcnphr3s853g4ob0s > DEBUG - GeronimoLog.debug(66) | SET MEX property > org.apache.ode.bpel.partnerRoleSessionId = hqejbhcnphr3s853g4ob0s > DEBUG - GeronimoLog.debug(66) | Routed: svcQname > {http://asyncbpel}AsyncBPELService --> > BpelProcess[{http://asyncbpel}AsyncBPEL-4] > DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> > BpelProcess[{http://asyncbpel}AsyncBPEL-4] > ERROR - GeronimoLog.error(108) | Method "run" in class > "org.apache.ode.bpel.runtime.INVOKE" threw an unexpected exception. > java.lang.NullPointerException > > I'm a little bit surpised by the "one-way message" but I wonder why ODE > cannot resolve the final invoke. > Has anyone any ideas? > > Thanks in advance > > Daniel >
