I am trying to create a basic BPEL process using ODE.

The process has

1) Receive
2) Invoke
3) Reply

I have created the BPEL, WSDL for process and have the WSDL for
external web service.

I am trying to write the deploy.xml file but dont know what values to
give for Service Name And Port. The WSDL for my process doesnt have
Service Name and Port.

All the examples in ODE have service endpoints for process WSDL? Is
this required as i dont see this for BPEL flows in other products.

<deploy xmlns="http://ode.fivesight.com/schemas/2006/06/27/dd";
        xmlns:pns="http://process.com"; xmlns:wns="http://wsdl.process.com";>
        <process name="pns:CarRentalProcess">
                <active>true</active>
                <provide partnerLink="XXXX">
                        <service name="wns:XXXX" port="XXXX"/>
                </provide>
        </process>
</deploy>

WSDL for BPEL process

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
        xmlns:tns="http://wsdl.process.com";
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="CarRentalProcess"
        xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/";
        xmlns:reserve="http://car.com";
        targetNamespace="http://wsdl.process.com";>
        <wsdl:import namespace="http://car.com";
                location="./CarRentalManagerService.wsdl" />

        <wsdl:message name="CarRentalProcessRequestMessage">
                <wsdl:part name="checkAvailability"
type="reserve:CarRentalManagerSEI_checkAvailability" />
        </wsdl:message>
        
        <wsdl:portType name="CarRentalProcessPT">
                <wsdl:operation name="checkAvailability">
                        <wsdl:input message="tns:CarRentalProcessRequestMessage" 
/>
                </wsdl:operation>
        </wsdl:portType>
        <!-- Partner link type -->
        <plnk:partnerLinkType name="CarRentalProcessLT">
                <plnk:role name="carRentalProcessService">
                        <plnk:portType name="tns:CarRentalProcessPT" />
                </plnk:role>
        </plnk:partnerLinkType>

</wsdl:definitions>

and BPEL

<?xml version="1.0" encoding="utf-8"?>

<process name="CarRentalProcess" targetNamespace="http://process.com";
        xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/";
        xmlns:xs="http://www.w3.org/2001/XMLSchema";
        xmlns:carrental="http://process.com";
        xmlns:reserve="http://car.com";>

<partnerLinks>

      <partnerLinks>
         <partnerLink name="client"
                             partnerLinkType="carrental:CarRentalProcessLT"
                             myRole="carRentalProcessService"
                             partnerRole="carRentalProcessServiceCustomer"/>
          <partnerLink name="carRentalManager"
                  partnerLinkType="carrental:carRentalLT"
                  partnerRole="carRentalManagerService"/>

       </partnerLinks>

       <variables>
          <variable name="CarRentalProcessRequest"
                           
messageType="carrental:CarRentalProcessRequestMessage"/>
           <variable name="CarRentalManagerRequest"
               messageType="reserve:CarRentalManagerSEI_checkAvailability"/>
          <variable name="CarRentalManagerResponse"

messageType="reserve:CarRentalManagerSEI_checkAvailabilityResponse"/>
           <variable name="CarRentalProcessResponse"
               messageType="carrental:CarRentalProcessResponseMessage"/>
       </variables>

       <sequence>
          <sequence>
        
                 <!-- Receive the initial request for business travel from client 
-->
                 <receive partnerLink="client"
                          portType="carrental:CarRentalProcessPT"
                          operation="checkAvailability"
                          variable="CarRentalProcessRequest"
                          createInstance="yes" />

                   <assign>
                        <copy>
                          <from variable="CarRentalProcessRequest" 
part="checkAvailability"/>
                          <to variable="CarRentalManagerRequest" 
part="checkAvailability"/>
                        </copy>
                   </assign>

                   <invoke partnerLink="carRentalManager"
                      portType="reserve:CarRentalManagerSEI"
                      operation="checkAvailability"
                      inputVariable="CarRentalManagerRequest"
                      outputVariable="CarRentalManagerResponse" />
        
                   <assign>
                        <copy>
                          <from variable="CarRentalManagerResponse"
part="checkAvailabilityResponse"/>
                          <to variable="CarRentalManagerResponse"
part="checkAvailabilityResponse"/>
                        </copy>
                   </assign>
        
                   <reply partnerLink="client"
                          portType="carrental:CarRentalProcessPT"
                          operation="checkAvailability"
                          variable="CarRentalProcessResponse"/>
       </sequence>

</partnerLinks>
</process>

Regards
Krish

Reply via email to