Hi
I build 2 HelloWorld projects, the one invoking the other in a BPEL process.
It is like the Ping-Pong-Example, but instead of one invoking another
serviceunit, I invoke a deployed WebService. I'm using maven projects with
Apache Servicemix 3.3.1 und Apache Ode 1.3.3.
Im invoking my second process which also deployed on the same servicemix
with this code:


<bpel:process name="HelloWorld" targetNamespace="
http://www.test.com/HelloWorld";
    suppressJoinFailure="yes" xmlns:tns="http://www.test.com/HelloWorld";
    xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
    xmlns:xsd="http://www.example.org/HelloWorld"; xmlns:ns1="
http://www.test.com/HelloWorld2";
    xmlns:ns="http://www.example.org/HelloWorld2";>

    <!-- Import the client WSDL -->
    <bpel:import namespace="http://www.test.com/HelloWorld2";
        location="HelloWorld2.wsdl" importType="
http://schemas.xmlsoap.org/wsdl/";></bpel:
import>
    <bpel:import location="HelloWorld.wsdl"
        namespace="http://www.test.com/HelloWorld"; importType="
http://schemas.xmlsoap.org/wsdl/"; />

    <bpel:partnerLinks>
        <!-- The 'client' role represents the requester of this service. -->
        <bpel:partnerLink name="client" partnerLinkType="tns:HelloWorld"
            myRole="HelloWorldProvider" />
        <bpel:partnerLink name="client2" partnerLinkType="ns1:HelloWorld2"
            partnerRole="HelloWorld2Provider"></bpel:partnerLink>
    </bpel:partnerLinks>

...
    <bpel:sequence name="main">
...
        <bpel:invoke name="Invoke" partnerLink="client2" operation="process"
portType="ns1:HelloWorld2" inputVariable="input2"
outputVariable="output2"></bpel:invoke>
...
    </bpel:sequence>
</bpel:process>


The partnerlink is deployed in this deploy.xml

<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03";
    xmlns:HelloWorld="http://www.test.com/HelloWorld";>
    <process name="HelloWorld:HelloWorld">
        <active>true</active>
        <retired>false</retired>
        <process-events generate="all" />
        <provide partnerLink="client">
            <service name="HelloWorld:HelloService" port="HelloPort" />
        </provide>
        <invoke partnerLink="client2">
            <service name="HelloWorld:Hello2Service" port="Hello2Port" />
        </invoke>
    </process>
</deploy>


The invoked webservice is referenced in this xbean.xml:

<beans xmlns:http="http://servicemix.apache.org/http/1.0";
       xmlns:tns="http://www.test.com/HelloWorld";>

    <http:endpoint service="tns:Hello2Service"
                 endpoint="Hello2Port"
                 role="provider"
                 locationURI="http://localhost:8080/HelloWorld2/";
                 soap="true"/>

</beans>


But everytime I invoke my Servive with SoapUI I get this error:

ERROR - JacobVPU                       - Method "run" in class
"org.apache.ode.b
pel.runtime.INVOKE" threw an unexpected exception.
java.lang.ClassCastException: org.apache.ode.jbi.JbiEndpointReference cannot
be
cast to org.apache.ode.bpel.epr.MutableEndpoint
        at
org.apache.ode.jbi.EndpointReferenceContextImpl.getConfigLookup(Endpo
intReferenceContextImpl.java:116)
        at
org.apache.ode.store.ProcessConfImpl.getEndpointProperties(ProcessCon
fImpl.java:423)
        at
org.apache.ode.bpel.engine.BpelProcess.getTimeout(BpelProcess.java:10
89)
        at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.scheduleInvokeCheck
(BpelRuntimeContextImpl.java:842)
        at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeC
ontextImpl.java:780)
        at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
        at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:4
51)
        at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
        at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntime
ContextImpl.java:875)
        at
org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(Pa
rtnerLinkMyRoleImpl.java:206)
        at
org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java
:237)
        at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.ja
va:408)
        at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineIm
pl.java:439)
        at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerIm
pl.java:441)
        at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleSchedu
ler.java:411)
        at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleSchedu
ler.java:405)
        at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simpl
eScheduler.java:218)
        at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleSchedule
r.java:404)
        at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleSchedule
r.java:401)
        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(ThreadPoolExec
utor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
        at java.lang.Thread.run(Thread.java:619)


What am I doing wrong, I attached the projects. Plz help me.

Reply via email to