Hi,

I'm currently implementing a process which uses the incoming soap
headers as the soap headers for the invocation of a webservice.

Simply put:

Client --> Process --> Webservice

So the client provides some headers to the process, which are being
used as the headers for the invocation of another webservice.
However since custom headers may be transferred as well (which are not
known in advance), I can't use the standard dynamic headers, or can I?

Luckily some ODE extensions seem to exist (http://ode.apache.org/assign.html):

urn:ode.apache.org/axis2-il/headers/
name: in
name: out

<bpel:assign>
                        <bpel:copy>
                                <bpel:from variable="input" part="payload"
extension="urn:ode.apache.org/axis2-il/headers/:in"/>
                                <bpel:to variable="output" part="payload"
extension="urn:ode.apache.org/axis2-il/headers/:out"/>
                        </bpel:copy>
</bpel:assign>

However this doesn't seem to work either. I always keep getting an error.

Without providing a part or header attribute, the file won't even
compile, therefore I assume that any input may be valid (part payload
exists btw)?
Invoking gives me the following error:

FATAL - GeronimoLog.fatal(120) | Internal Error
org.apache.ode.bpel.iapi.BpelEngineException:
java.lang.RuntimeException: java.lang.IllegalArgumentException: null
name
        at 
org.apache.ode.bpel.engine.ODEProcess.doInstanceWork(ODEProcess.java:490)
        at 
org.apache.ode.bpel.engine.ODEProcess.invokeProcess(ODEProcess.java:293)
        at 
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.doInvoke(MyRoleMessageExchangeImpl.java:122)
        at 
org.apache.ode.bpel.engine.UnreliableMyRoleMessageExchangeImpl$1.call(UnreliableMyRoleMessageExchangeImpl.java:44)
        at 
org.apache.ode.bpel.engine.UnreliableMyRoleMessageExchangeImpl$1.call(UnreliableMyRoleMessageExchangeImpl.java:1)
        at 
org.apache.ode.bpel.engine.ODEProcess$ProcessCallable.call(ODEProcess.java:1206)
        at 
org.apache.ode.bpel.engine.Contexts.execTransaction(Contexts.java:106)
        at 
org.apache.ode.bpel.engine.BpelServerImpl$TransactedCallable.call(BpelServerImpl.java:968)
        at 
org.apache.ode.bpel.engine.BpelServerImpl$ServerCallable.call(BpelServerImpl.java:948)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException:
java.lang.IllegalArgumentException: null name
        at 
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
        at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
        at 
org.apache.ode.bpel.rtrep.v2.RuntimeInstanceImpl.execute(RuntimeInstanceImpl.java:639)
        at 
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:595)
        at 
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.executeCreateInstance(BpelRuntimeContextImpl.java:583)
        at 
org.apache.ode.bpel.engine.ODEProcess.executeCreateInstance(ODEProcess.java:373)
        at org.apache.ode.bpel.engine.ODEProcess$2.call(ODEProcess.java:295)
        at org.apache.ode.bpel.engine.ODEProcess$2.call(ODEProcess.java:1)
        at 
org.apache.ode.bpel.engine.ODEProcess$ProcessCallable.call(ODEProcess.java:1206)
        at 
org.apache.ode.bpel.engine.BpelInstanceWorker.doInstanceWork(BpelInstanceWorker.java:174)
        at 
org.apache.ode.bpel.engine.BpelInstanceWorker.execInCurrentThread(BpelInstanceWorker.java:108)
        at 
org.apache.ode.bpel.engine.ODEProcess.doInstanceWork(ODEProcess.java:487)
        ... 13 more
Caused by: java.lang.IllegalArgumentException: null name
        at org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:745)
        at org.apache.ode.utils.DOMUtils.findChildByName(DOMUtils.java:738)
        at org.apache.ode.bpel.rtrep.v2.ASSIGN.evalRValue(ASSIGN.java:181)
        at org.apache.ode.bpel.rtrep.v2.ASSIGN.copy(ASSIGN.java:353)
        at org.apache.ode.bpel.rtrep.v2.ASSIGN.run(ASSIGN.java:76)
        at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
        ... 24 more

Any hints?

Cheers,
Markus

Reply via email to