You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by Rafal Perkowski <ra...@gmail.com> on 2011/01/18 13:43:55 UTC

problem with dynamic epr

Hi All,

I tried to set endpoint reference from input variable.
In Invoke.bpel I declare variable:
<bpel:variable name="WebServiceUrl"  messageType="tns:EndpointMessage" />

EndpointMessage is a message in Invoke.wsdl
<message name="EndpointMessage" >
    <part name="payload" element="wsa:EndpointReference" />
</message>

and I set endpoint:

<bpel:assign>
<bpel:copy>
<bpel:from>$input.payload/tns:webServiceUrl</bpel:from>
<bpel:to variable="WebServiceUrl" part="payload"/>
</bpel:copy>
<bpel:copy>
<bpel:from variable="WebServiceUrl" part="payload"/>
<bpel:to partnerLink="TaskServiceClient"/>
</bpel:copy>
</bpel:assign>

It works in apache ode 1.2, but it not in 1.3.4.
When I start process I get error bellow.
Can somebody help me with this problem?

Thanks,

Rafal


13:21:39,121 ERROR [ExternalService] Error sending message to Axis2
for ODE mex {PartnerRoleMex#hqejbhcnphr5x5jl66do7b [PID
{http://www.mg.gov.pl}Invoke-15] calling
org.apache.ode.bpel.epr.WSAEndpoint@2db6ea.AddNewTask(...) Status
REQUEST}

java.lang.NullPointerException

at org.apache.ode.bpel.epr.WSAEndpoint.getUrl(

at org.apache.ode.axis2.SoapExternalService.invoke(

at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(

at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(

at org.apache.ode.bpel.runtime.INVOKE.run(

at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(

at org.apache.ode.jacob.vpu.JacobVPU.execute(

at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(

at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(

at org.apache.ode.bpel.engine.BpelProcess$1.invoke(

at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(

at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(

at org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(

at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(

at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(

at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(

at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(

at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(

at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(

at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(

at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

13:21:39,121 ERROR [INVOKE] Failure during invoke: Error sending
message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr5x5jl66do7b
[PID {http://www.mg.gov.pl}Invoke-15] calling
org.apache.ode.bpel.epr.WSAEndpoint@2db6ea.AddNewTask(...) Status
REQUEST}

13:21:39,121 INFO [BpelRuntimeContextImpl] ActivityRecovery:
Registering activity 11, failure reason: Error sending message to
Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr5x5jl66do7b [PID
{http://www.mg.gov.pl}Invoke-15] calling
org.apache.ode.bpel.epr.WSAEndpoint@2db6ea.AddNewTask(...) Status
REQUEST} on channel 21

WSAEndpoint.java:93)SoapExternalService.java:156)MessageExchangeContextImpl.java:52)BpelRuntimeContextImpl.java:865)INVOKE.java:100)JacobVPU.java:451)JacobVPU.java:139)BpelRuntimeContextImpl.java:960)PartnerLinkMyRoleImpl.java:208)BpelProcess.java:283)BpelProcess.java:238)BpelProcess.java:279)BpelProcess.java:426)BpelEngineImpl.java:460)BpelServerImpl.java:450)SimpleScheduler.java:518)SimpleScheduler.java:513)SimpleScheduler.java:284)SimpleScheduler.java:239)SimpleScheduler.java:512)SimpleScheduler.java:496)

Re: problem with dynamic epr

Posted by Tammo van Lessen <tv...@gmail.com>.
Hi Rafal,

a NPE is not exactly what we want to see here :) What it however says is
that the wsa:Address element could not be extracted from the message, so
I assume that the XML nesting was somehow wrong.

Could you please set the log level for "org.apache.ode.bpel.epr" to
DEBUG, run the example again and look for "Setting a WSAEndpoint value"?
With that log information it should be easier to understand what is
going wrong. Also, did you check out the DynPartner example shipped with
ODE? I recently tried it with ODE 1.3.5rc and it worked as expected.

HTH,
  Tammo

On 18.01.2011 13:43, Rafal Perkowski wrote:
> Hi All,
> 
> I tried to set endpoint reference from input variable.
> In Invoke.bpel I declare variable:
> <bpel:variable name="WebServiceUrl"  messageType="tns:EndpointMessage" />
> 
> EndpointMessage is a message in Invoke.wsdl
> <message name="EndpointMessage" >
>     <part name="payload" element="wsa:EndpointReference" />
> </message>
> 
> and I set endpoint:
> 
> <bpel:assign>
> <bpel:copy>
> <bpel:from>$input.payload/tns:webServiceUrl</bpel:from>
> <bpel:to variable="WebServiceUrl" part="payload"/>
> </bpel:copy>
> <bpel:copy>
> <bpel:from variable="WebServiceUrl" part="payload"/>
> <bpel:to partnerLink="TaskServiceClient"/>
> </bpel:copy>
> </bpel:assign>
> 
> It works in apache ode 1.2, but it not in 1.3.4.
> When I start process I get error bellow.
> Can somebody help me with this problem?
> 
> Thanks,
> 
> Rafal
> 
> 
> 13:21:39,121 ERROR [ExternalService] Error sending message to Axis2
> for ODE mex {PartnerRoleMex#hqejbhcnphr5x5jl66do7b [PID
> {http://www.mg.gov.pl}Invoke-15] calling
> org.apache.ode.bpel.epr.WSAEndpoint@2db6ea.AddNewTask(...) Status
> REQUEST}
> 
> java.lang.NullPointerException
> 
> at org.apache.ode.bpel.epr.WSAEndpoint.getUrl(
> 
> at org.apache.ode.axis2.SoapExternalService.invoke(
> 
> at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(
> 
> at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(
> 
> at org.apache.ode.bpel.runtime.INVOKE.run(
> 
> at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
> 
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 
> at java.lang.reflect.Method.invoke(Unknown Source)
> 
> at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(
> 
> at org.apache.ode.jacob.vpu.JacobVPU.execute(
> 
> at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(
> 
> at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(
> 
> at org.apache.ode.bpel.engine.BpelProcess$1.invoke(
> 
> at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(
> 
> at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(
> 
> at org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(
> 
> at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
> 
> at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(
> 
> at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(
> 
> at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(
> 
> at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(
> 
> at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(
> 
> at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(
> 
> at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(
> 
> at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> 
> at java.util.concurrent.FutureTask.run(Unknown Source)
> 
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> 
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> 
> at java.lang.Thread.run(Unknown Source)
> 
> 13:21:39,121 ERROR [INVOKE] Failure during invoke: Error sending
> message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr5x5jl66do7b
> [PID {http://www.mg.gov.pl}Invoke-15] calling
> org.apache.ode.bpel.epr.WSAEndpoint@2db6ea.AddNewTask(...) Status
> REQUEST}
> 
> 13:21:39,121 INFO [BpelRuntimeContextImpl] ActivityRecovery:
> Registering activity 11, failure reason: Error sending message to
> Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr5x5jl66do7b [PID
> {http://www.mg.gov.pl}Invoke-15] calling
> org.apache.ode.bpel.epr.WSAEndpoint@2db6ea.AddNewTask(...) Status
> REQUEST} on channel 21
> 
> WSAEndpoint.java:93)SoapExternalService.java:156)MessageExchangeContextImpl.java:52)BpelRuntimeContextImpl.java:865)INVOKE.java:100)JacobVPU.java:451)JacobVPU.java:139)BpelRuntimeContextImpl.java:960)PartnerLinkMyRoleImpl.java:208)BpelProcess.java:283)BpelProcess.java:238)BpelProcess.java:279)BpelProcess.java:426)BpelEngineImpl.java:460)BpelServerImpl.java:450)SimpleScheduler.java:518)SimpleScheduler.java:513)SimpleScheduler.java:284)SimpleScheduler.java:239)SimpleScheduler.java:512)SimpleScheduler.java:496)

-- 
Tammo van Lessen - http://www.taval.de