Hi All!

I'm trying to integrate an existing Axis2 web service with Ode.

I can run simple BPEL processes which assign some values, etc.

But BPEL is something more than copy-from-to ;)

I have deployed Axis2 web service at
http://localhost:8080/axis2/services/TimerService (append ?wsdl for
WSDL).

It works, basically it has one method - public long getTimestamp().

I'm using Eclipse BPEL 2.0 to define BPLE processes, but I think that
it's somehow not
compatible with Ode.

I have created a very simple process that:
recieves call
invokes Timer
assigns timestamp to the output variable
returns the output

Eclipse validates BPEL and WSDL files, no errors are triggered, but
Ode throws an exception:

Caused by: java.lang.IllegalArgumentException: No service name for myRole plink
TimerPL
        at org.apache.ode.bpel.engine.BpelProcess.setRoles(BpelProcess.java:441)

        at org.apache.ode.bpel.engine.BpelProcess.access$1000(BpelProcess.java:7
5)
        at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelP
rocess.java:757)
        at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(Bpel
Process.java:704)
        at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProce
ss.java:716)
        at org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)
        at org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:597)

Well, if I look into my bpel file, I have:

                <bpws:partnerLink myRole="TimerPLT" name="TimerPL"
                        partnerLinkType="ns:TimerPLT" partnerRole="TimerPLT" />

the 'ns' namespace is imported by:

<bpws:import importType="http://schemas.xmlsoap.org/wsdl/";
                location="OdeTestArtifacts.wsdl"
                namespace="http://bpel.ode.sandbox.nuntius.xh.orgArtifacts"; />

the file 'OdeTestArtifacts.wsdl' is generated by Eclipse (based on
given WSDL URL)
it contains an import of  TimerService WSDL and adds partnerLinkType:

<plnk:partnerLinkType name="TimerPLT">
                <plnk:role name="TimerPLT" portType="wsdl:TimerServicePortType" 
/>
        </plnk:partnerLinkType>

(of course all generated automatically by Eclipse).

Everything looks OK. Validation passes.

 But Ode somehow doesn't  see service for partnerLink 'TimerPL'.

Am I missing something or is it Ode?

Maybe is it Eclipse? (if so, what tool can You recommend for designing
Ode-compatible BPEL processes).

thanks for any tips, of course I can provide full sources for this example.

best regards
Łukasz

Reply via email to