<!--
  ///////////////////////////////////////////////////////////////////////////////////////////// 
  // Oracle JDeveloper BPEL Designer 
  // 
  // Created: Fri Jul 17 21:20:08 CST 2009
  // Author:  Administrator
  // Purpose: Asynchronous BPEL Process
  ///////////////////////////////////////////////////////////////////////////////////////////// 
-->
<process name="whu_wps_soap" targetNamespace="http://xmlns.oracle.com/whu_wps_soap" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ns1="http://ws.lmars.whu.edu.cn/wps" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:client="http://xmlns.oracle.com/whu_wps_soap" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"><!-- ================================================================= --><!-- PARTNERLINKS                                                      --><!-- List of services participating in this BPEL process               --><!-- ================================================================= -->
  <partnerLinks><!-- 
    The 'client' role represents the requester of this service. It is 
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:whu_wps_soap" myRole="whu_wps_soapProvider" partnerRole="whu_wps_soapRequester"/>
    <partnerLink name="WHU-LIESMARS-WPS" partnerRole="WPSPortType_Role" partnerLinkType="ns1:WPSPortType_PL"/>
  </partnerLinks><!-- ================================================================= --><!-- VARIABLES                                                         --><!-- List of messages and XML documents used within this BPEL process  --><!-- ================================================================= -->
  <variables><!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable" messageType="client:whu_wps_soapRequestMessage"/><!-- Reference to the message that will be sent back to the 
    requester during callback
    -->
    <variable name="outputVariable" messageType="client:whu_wps_soapResponseMessage"/>
    <variable name="Invoke_1_getCapabilities_InputVariable" messageType="ns1:getCapabilitiesInputMsg"/>
    <variable name="Invoke_1_getCapabilities_OutputVariable" messageType="ns1:getCapabilitiesOutputMsg"/>
  </variables><!-- ================================================================= --><!-- ORCHESTRATION LOGIC                                               --><!-- Set of activities coordinating the flow of messages across the    --><!-- services integrated within this business process                  --><!-- ================================================================= -->
  <sequence name="main"><!-- Receive input from requestor. 
    Note: This maps to operation defined in whu_wps_soap.wsdl
    -->
    <receive name="receiveInput" partnerLink="client" portType="client:whu_wps_soap" operation="initiate" variable="inputVariable" createInstance="yes"/><!-- Asynchronous callback to the requester.
     Note: the callback location and correlation id is transparently handled 
     using WS-addressing.
     -->
    <assign name="Assign_SOAP_Input">
      <copy>
        <from variable="inputVariable" part="payload" query="/client:whu_wps_soapProcessRequest/client:input"/>
        <to variable="Invoke_1_getCapabilities_InputVariable" part="payload" query="/ns1:getCapabilities"/>
      </copy>
    </assign>
    <invoke name="Invoke_WHU_IMARS_WPS_GetCapabilities" partnerLink="WHU-LIESMARS-WPS" portType="ns1:WPSPortType" operation="getCapabilities" inputVariable="Invoke_1_getCapabilities_InputVariable" outputVariable="Invoke_1_getCapabilities_OutputVariable"/>
    <assign name="Assign_SOAP_Output">
      <copy>
        <from variable="Invoke_1_getCapabilities_OutputVariable" part="payload" query="/ns1:getCapabilitiesResponse"/>
        <to variable="outputVariable" part="payload" query="/client:whu_wps_soapProcessResponse/client:result"/>
      </copy>
    </assign>
    <invoke name="callbackClient" partnerLink="client" portType="client:whu_wps_soapCallback" operation="onResult" inputVariable="outputVariable"/>
  </sequence>
</process>