You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Simone Maletta <si...@alice.it> on 2008/01/30 11:58:50 UTC

Partner Links Type

Hy guys,
    I'm a italian student involved into my master thesis.
I'm trying to develope my work on ODE BPEL engine but I've got a UndeclaredPartnerLinkType compile error while I do this.
I generate this code from my thesis system, trying to create a  synchronous and asynchronous web-service: it has t owork asynchrounously while it call or is called from another web service and synchronously if it call a JBean.
I attach here my code, please guys help me.
Simone



<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<definitions 

targetNamespace="http://ode/bpel/bank.wsdl"

xmlns="http://schemas.xmlsoap.org/wsdl/"

xmlns:tns="http://ode/bpel/bank.wsdl"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/process/executable/plnktype">

<wsdl:message name="replyCCHeckMessage">

<wsdl:part name="approved" type="xsd:boolean"/>

<wsdl:part name="CCNum" type="xsd:integer"/>

</wsdl:message>

<wsdl:message name="requestInvokeCCCheckMessage">

<wsdl:part name="CCNum" type="xsd:integer"/>

</wsdl:message>

<wsdl:message name="requestCCheckMessage">

<wsdl:part name="CCNum" type="xsd:integer"/>

</wsdl:message>

<wsdl:message name="replyInvokeCCCheckMessage">

<wsdl:part name="approved" type="xsd:boolean"/>

</wsdl:message>

<wsdl:portType name="replyCCHeckPortType">

<wsdl:operation name="replyCCHeck">

<wsdl:input message="tns:replyCCHeckMessage"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="replyCCHeckSOAPBinding" type="tns:replyCCHeckPortType">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms"/>

<wsdl:operation name="replyCCHeck"/>

</wsdl:binding>

<wsdl:portType name="requestInvokeCCCheckPortType">

<wsdl:operation name="requestInvokeCCCheck">

<wsdl:input message="requestInvokeCCCheckMessage"/>

<wsdl:output message="replyInvokeCCCheckMessage"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="requestInvokeCCCheckSOAPBinding" type="tns:requestInvokeCCCheckPortType">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms"/>

<wsdl:operation name="requestInvokeCCCheck"/>

</wsdl:binding>

<wsdl:portType name="requestCCheckPortType">

<wsdl:operation name="requestCCheck">

<wsdl:output message="tns:requestCCheckMessage"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="requestCCheckSOAPBinding" type="tns:requestCCheckPortType">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms"/>

<wsdl:operation name="requestCCheck"/>

</wsdl:binding>

<plnk:partnerLinkType name="replyCCHeckPartnerLinkType">

<plnk:role name="send">

<plnk:portType name="tns:replyCCHeckPortType"/>

</plnk:role>

</plnk:partnerLinkType>

<plnk:partnerLinkType name="requestInvokeCCCheckPartnerLinkType">

<plnk:role name="me">

<plnk:portType name="tns:requestInvokeCCCheckMessagePortType"/>

</plnk:role>

<plnk:role name="you">

<plnk:portType name="tns:requestInvokeCCCheckMessagePortType"/>

</plnk:role>

</plnk:partnerLinkType>


<plnk:partnerLinkType name="replyInvokeCCCheckPartnerLinkType">

<plnk:role name="me">

<plnk:portType name="tns:requestInvokeCCCheckMessagePortType"/>

</plnk:role>

<plnk:role name="you">

<plnk:portType name="tns:requestInvokeCCCheckMessagePortType"/>

</plnk:role>

</plnk:partnerLinkType>

<plnk:partnerLinkType name="requestCCheckPartnerLinkType">

<plnk:role name="me">

<plnk:portType name="tns:requestCCheckMessagePortType"/>

</plnk:role>

</plnk:partnerLinkType> 

<wsdl:service name="bank">

<wsdl:port binding="replyInvokeCCCheckSOAPBinding" name="replyInvokeCCCheckPort">

<soap:address location="http://localhost:8080/ode/processes/replyInvokeCCCheck"/>

</wsdl:port>

<wsdl:port binding="requestCCheckSOAPBinding" name="requestCCheckPort">

<soap:address location="http://localhost:8080/ode/processes/requestCCheck"/>

</wsdl:port>

</wsdl:service>


</definitions>

BPEL

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<process 

name="bank"

targetNamespace="http://ode/bpel/unit-test" 

xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"

xmlns:tns="http://ode/bpel/unit-test"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:test="http://ode/bpel/bank.wsdl"

queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"

expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">

<import location="bankWSDL.wsdl"

namespace="http://ode/bpel/unit-test.wsdl"

importType="http://schemas.xmlsoap.org/wsdl/"/>

<variables>

<variable name="approvedVariable" type="xsd:boolean"/>

<variable name="CCNumVariable" type="xsd:integer"/>

<variable messageType="test:replyCCHeckMessage" name="replyCCHeckSend"/>

<variable messageType="test:requestInvokeCCCheckMessage" name="requestInvokeCCCheckSend"/>

<variable messageType="test:requestCCheckMessage" name="requestCCheckReceive"/>

<variable messageType="test:replyInvokeCCCheckMessage" name="replyInvokeCCCheckReceive"/> 

<variable name="4" type="xsd:boolean"/>

<variable name="3" type="xsd:boolean"/>

<variable name="2" type="xsd:boolean"/>

<variable name="1" type="xsd:boolean"/>

</variables>

<partnerLinks>

<partnerLink myRole="me" partnerRole="you" name="replyCCHeck" partnerLinkType="test:replyCCHeckPartnerLinkType"/>

<partnerLink myRole="me" partnerRole="you" name="requestInvokeCCCheck" partnerLinkType="test:requestInvokeCCCheckPartnerLinkType"/>

<partnerLink myRole="me" partnerRole="you" name="requestCCheck" partnerLinkType="test:requestCCheckPartnerLinkType"/>

<partnerLink myRole="me" partnerRole="you" name="replyInvokeCCCheck" partnerLinkType="test:replyInvokeCCCheckPartnerLinkType"/>

</partnerLinks>

<sequence>

<assign>

<copy>

<from>false</from>

<to variable="4"/>

</copy>

<copy>

<from>false</from>

<to variable="3"/>

</copy>

<copy>

<from>false</from>

<to variable="2"/>

</copy>

<copy>

<from>false</from>

<to variable="1"/>

</copy>

</assign>

<flow>

<!-- <sequence>

<switch/>

<target linkName="4to3"/>

</sequence>-->

<sequence>

<if name="3">

<condition>true</condition>

<assign>

<copy>

<from variable="approvedVariable"/>

<to part="approved" variable="replyCCHeckSend"/>

</copy>

<copy>

<from variable="CCNumVariable"/>

<to part="CCNum" variable="replyCCHeckSend"/>

</copy>

</assign>

<invoke createInstance="yes" operation="replyCCHeckSEND" partnerLink="replyCCHeck" portType="replyCCHeckPortType" variable="replyCCHeck"/>

<assign>

<copy>

<from>false</from>

<to variable="3"/>

</copy>

<copy>

<from>true</from>

<to variable="4"/>

</copy>

</assign>

</if>

<source linkName="3to4" transitionCondition="4"/>

<target linkName="3to2"/>

</sequence>

<sequence>

<if name="4">

<condition>true</condition>

<assign>

<copy>

<from variable="CCNumVariable"/>

<to part="CCNum" variable="requestInvokeCCCheckSend"/>

</copy>

</assign>

<invoke createInstance="yes" inputVariable="requestInvokeCCCheckSend" operation="requestInvokeCCCheckINVOKE" outputVariable="replyInvokeCCCheck" partnerLink="requestInvokeCCCheck" portType="requestInvokeCCCheckPortType"/>

<assign>

<copy>

<from part="approved" variable="requestInvokeCCCheckSend"/>

<to variable="approvedVariable"/>

</copy>

</assign>

<assign>

<copy>

<from>false</from>

<to variable="2"/>

</copy>

<copy>

<from>true</from>

<to variable="3"/>

</copy>

</assign>

</if>

<source linkName="2to3" transitionCondition="3"/> 

<target linkName="2to1"/>

</sequence>

<sequence>

<if name="5">

<condition>true</condition>

<receive createInstance="yes" operation="requestCCheckRECEIVE" partnerLink="requestCCheck" portType="requestCCheckPortType" variable="requestCCheck"/>

<assign>

<copy>

<from part="CCNum" variable="requestCCheck"/>

<to variable="CCNumVariable"/>

</copy>

</assign>

<assign>

<copy>

<from>false</from>

<to variable="1"/>

</copy>

<copy>

<from>true</from>

<to variable="2"/>

</copy>

</assign>

</if>

<source linkName="1to2" transitionCondition="2"/>

</sequence>

</flow>

</sequence>

</process>





Re: Partner Links Type

Posted by Łukasz Budnik <lu...@gmail.com>.
Hi Simone!

I can see that every partnerLink in Your BPEL has two roles:

myRole="me" partnerRole="you"

Main BPEL process partnerLink should have myRole attribute.
Other partnerLinks should have partnerRole attribute set.

best regards
Łukasz

On 30/01/2008, Simone Maletta <si...@alice.it> wrote:
> Hy guys,
>     I'm a italian student involved into my master thesis.
> I'm trying to develope my work on ODE BPEL engine but I've got a UndeclaredPartnerLinkType compile error while I do this.
> I generate this code from my thesis system, trying to create a  synchronous and asynchronous web-service: it has t owork asynchrounously while it call or is called from another web service and synchronously if it call a JBean.
> I attach here my code, please guys help me.
> Simone
>
>
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>
> <definitions
>
> targetNamespace="http://ode/bpel/bank.wsdl"
>
> xmlns="http://schemas.xmlsoap.org/wsdl/"
>
> xmlns:tns="http://ode/bpel/bank.wsdl"
>
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>
> xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/process/executable/plnktype">
>
> <wsdl:message name="replyCCHeckMessage">
>
> <wsdl:part name="approved" type="xsd:boolean"/>
>
> <wsdl:part name="CCNum" type="xsd:integer"/>
>
> </wsdl:message>
>
> <wsdl:message name="requestInvokeCCCheckMessage">
>
> <wsdl:part name="CCNum" type="xsd:integer"/>
>
> </wsdl:message>
>
> <wsdl:message name="requestCCheckMessage">
>
> <wsdl:part name="CCNum" type="xsd:integer"/>
>
> </wsdl:message>
>
> <wsdl:message name="replyInvokeCCCheckMessage">
>
> <wsdl:part name="approved" type="xsd:boolean"/>
>
> </wsdl:message>
>
> <wsdl:portType name="replyCCHeckPortType">
>
> <wsdl:operation name="replyCCHeck">
>
> <wsdl:input message="tns:replyCCHeckMessage"/>
>
> </wsdl:operation>
>
> </wsdl:portType>
>
> <wsdl:binding name="replyCCHeckSOAPBinding" type="tns:replyCCHeckPortType">
>
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms"/>
>
> <wsdl:operation name="replyCCHeck"/>
>
> </wsdl:binding>
>
> <wsdl:portType name="requestInvokeCCCheckPortType">
>
> <wsdl:operation name="requestInvokeCCCheck">
>
> <wsdl:input message="requestInvokeCCCheckMessage"/>
>
> <wsdl:output message="replyInvokeCCCheckMessage"/>
>
> </wsdl:operation>
>
> </wsdl:portType>
>
> <wsdl:binding name="requestInvokeCCCheckSOAPBinding" type="tns:requestInvokeCCCheckPortType">
>
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms"/>
>
> <wsdl:operation name="requestInvokeCCCheck"/>
>
> </wsdl:binding>
>
> <wsdl:portType name="requestCCheckPortType">
>
> <wsdl:operation name="requestCCheck">
>
> <wsdl:output message="tns:requestCCheckMessage"/>
>
> </wsdl:operation>
>
> </wsdl:portType>
>
> <wsdl:binding name="requestCCheckSOAPBinding" type="tns:requestCCheckPortType">
>
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms"/>
>
> <wsdl:operation name="requestCCheck"/>
>
> </wsdl:binding>
>
> <plnk:partnerLinkType name="replyCCHeckPartnerLinkType">
>
> <plnk:role name="send">
>
> <plnk:portType name="tns:replyCCHeckPortType"/>
>
> </plnk:role>
>
> </plnk:partnerLinkType>
>
> <plnk:partnerLinkType name="requestInvokeCCCheckPartnerLinkType">
>
> <plnk:role name="me">
>
> <plnk:portType name="tns:requestInvokeCCCheckMessagePortType"/>
>
> </plnk:role>
>
> <plnk:role name="you">
>
> <plnk:portType name="tns:requestInvokeCCCheckMessagePortType"/>
>
> </plnk:role>
>
> </plnk:partnerLinkType>
>
>
> <plnk:partnerLinkType name="replyInvokeCCCheckPartnerLinkType">
>
> <plnk:role name="me">
>
> <plnk:portType name="tns:requestInvokeCCCheckMessagePortType"/>
>
> </plnk:role>
>
> <plnk:role name="you">
>
> <plnk:portType name="tns:requestInvokeCCCheckMessagePortType"/>
>
> </plnk:role>
>
> </plnk:partnerLinkType>
>
> <plnk:partnerLinkType name="requestCCheckPartnerLinkType">
>
> <plnk:role name="me">
>
> <plnk:portType name="tns:requestCCheckMessagePortType"/>
>
> </plnk:role>
>
> </plnk:partnerLinkType>
>
> <wsdl:service name="bank">
>
> <wsdl:port binding="replyInvokeCCCheckSOAPBinding" name="replyInvokeCCCheckPort">
>
> <soap:address location="http://localhost:8080/ode/processes/replyInvokeCCCheck"/>
>
> </wsdl:port>
>
> <wsdl:port binding="requestCCheckSOAPBinding" name="requestCCheckPort">
>
> <soap:address location="http://localhost:8080/ode/processes/requestCCheck"/>
>
> </wsdl:port>
>
> </wsdl:service>
>
>
> </definitions>
>
> BPEL
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>
> <process
>
> name="bank"
>
> targetNamespace="http://ode/bpel/unit-test"
>
> xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>
> xmlns:tns="http://ode/bpel/unit-test"
>
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
> xmlns:test="http://ode/bpel/bank.wsdl"
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
>
> expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
>
> <import location="bankWSDL.wsdl"
>
> namespace="http://ode/bpel/unit-test.wsdl"
>
> importType="http://schemas.xmlsoap.org/wsdl/"/>
>
> <variables>
>
> <variable name="approvedVariable" type="xsd:boolean"/>
>
> <variable name="CCNumVariable" type="xsd:integer"/>
>
> <variable messageType="test:replyCCHeckMessage" name="replyCCHeckSend"/>
>
> <variable messageType="test:requestInvokeCCCheckMessage" name="requestInvokeCCCheckSend"/>
>
> <variable messageType="test:requestCCheckMessage" name="requestCCheckReceive"/>
>
> <variable messageType="test:replyInvokeCCCheckMessage" name="replyInvokeCCCheckReceive"/>
>
> <variable name="4" type="xsd:boolean"/>
>
> <variable name="3" type="xsd:boolean"/>
>
> <variable name="2" type="xsd:boolean"/>
>
> <variable name="1" type="xsd:boolean"/>
>
> </variables>
>
> <partnerLinks>
>
> <partnerLink myRole="me" partnerRole="you" name="replyCCHeck" partnerLinkType="test:replyCCHeckPartnerLinkType"/>
>
> <partnerLink myRole="me" partnerRole="you" name="requestInvokeCCCheck" partnerLinkType="test:requestInvokeCCCheckPartnerLinkType"/>
>
> <partnerLink myRole="me" partnerRole="you" name="requestCCheck" partnerLinkType="test:requestCCheckPartnerLinkType"/>
>
> <partnerLink myRole="me" partnerRole="you" name="replyInvokeCCCheck" partnerLinkType="test:replyInvokeCCCheckPartnerLinkType"/>
>
> </partnerLinks>
>
> <sequence>
>
> <assign>
>
> <copy>
>
> <from>false</from>
>
> <to variable="4"/>
>
> </copy>
>
> <copy>
>
> <from>false</from>
>
> <to variable="3"/>
>
> </copy>
>
> <copy>
>
> <from>false</from>
>
> <to variable="2"/>
>
> </copy>
>
> <copy>
>
> <from>false</from>
>
> <to variable="1"/>
>
> </copy>
>
> </assign>
>
> <flow>
>
> <!-- <sequence>
>
> <switch/>
>
> <target linkName="4to3"/>
>
> </sequence>-->
>
> <sequence>
>
> <if name="3">
>
> <condition>true</condition>
>
> <assign>
>
> <copy>
>
> <from variable="approvedVariable"/>
>
> <to part="approved" variable="replyCCHeckSend"/>
>
> </copy>
>
> <copy>
>
> <from variable="CCNumVariable"/>
>
> <to part="CCNum" variable="replyCCHeckSend"/>
>
> </copy>
>
> </assign>
>
> <invoke createInstance="yes" operation="replyCCHeckSEND" partnerLink="replyCCHeck" portType="replyCCHeckPortType" variable="replyCCHeck"/>
>
> <assign>
>
> <copy>
>
> <from>false</from>
>
> <to variable="3"/>
>
> </copy>
>
> <copy>
>
> <from>true</from>
>
> <to variable="4"/>
>
> </copy>
>
> </assign>
>
> </if>
>
> <source linkName="3to4" transitionCondition="4"/>
>
> <target linkName="3to2"/>
>
> </sequence>
>
> <sequence>
>
> <if name="4">
>
> <condition>true</condition>
>
> <assign>
>
> <copy>
>
> <from variable="CCNumVariable"/>
>
> <to part="CCNum" variable="requestInvokeCCCheckSend"/>
>
> </copy>
>
> </assign>
>
> <invoke createInstance="yes" inputVariable="requestInvokeCCCheckSend" operation="requestInvokeCCCheckINVOKE" outputVariable="replyInvokeCCCheck" partnerLink="requestInvokeCCCheck" portType="requestInvokeCCCheckPortType"/>
>
> <assign>
>
> <copy>
>
> <from part="approved" variable="requestInvokeCCCheckSend"/>
>
> <to variable="approvedVariable"/>
>
> </copy>
>
> </assign>
>
> <assign>
>
> <copy>
>
> <from>false</from>
>
> <to variable="2"/>
>
> </copy>
>
> <copy>
>
> <from>true</from>
>
> <to variable="3"/>
>
> </copy>
>
> </assign>
>
> </if>
>
> <source linkName="2to3" transitionCondition="3"/>
>
> <target linkName="2to1"/>
>
> </sequence>
>
> <sequence>
>
> <if name="5">
>
> <condition>true</condition>
>
> <receive createInstance="yes" operation="requestCCheckRECEIVE" partnerLink="requestCCheck" portType="requestCCheckPortType" variable="requestCCheck"/>
>
> <assign>
>
> <copy>
>
> <from part="CCNum" variable="requestCCheck"/>
>
> <to variable="CCNumVariable"/>
>
> </copy>
>
> </assign>
>
> <assign>
>
> <copy>
>
> <from>false</from>
>
> <to variable="1"/>
>
> </copy>
>
> <copy>
>
> <from>true</from>
>
> <to variable="2"/>
>
> </copy>
>
> </assign>
>
> </if>
>
> <source linkName="1to2" transitionCondition="2"/>
>
> </sequence>
>
> </flow>
>
> </sequence>
>
> </process>
>
>
>
>
>