<?xml version="1.0" encoding="UTF-8"?>
<bpws:process exitOnStandardFault="yes" name="ValidationProcess"
    suppressJoinFailure="no"
    targetNamespace="http://sample.bpel.org/bpel/sample"
    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    xmlns:ns1="http://bpel.lmcu.fr/Notification/"
    xmlns:ns2="http://bpel.lmcu.fr/tests/Validation" xmlns:tns="http://sample.bpel.org/bpel/sample">
    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
        location="ValidationProcess.wsdl" namespace="http://sample.bpel.org/bpel/sample"/>
    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
        location="Notification.wsdl" namespace="http://bpel.lmcu.fr/Notification/"/>
    <bpws:partnerLinks>
        <bpws:partnerLink initializePartnerRole="no"
            myRole="ValidationProcessProvider" name="client"
            partnerLinkType="tns:ValidationProcessPLT" partnerRole="ValidationProcessRequester"/>
        <bpws:partnerLink initializePartnerRole="no"
            myRole="NotifierRole" name="Notification"
            partnerLinkType="tns:NotificationPLT" partnerRole="NotifiedRole"/>
    </bpws:partnerLinks>
    <bpws:variables>
        <bpws:variable messageType="tns:ValidationProcessRequestMessage" name="input"/>
        <bpws:variable
            messageType="tns:ValidationProcessResponseMessage" name="output"/>
        <bpws:variable messageType="ns1:transmitRequest" name="Message"/>
        <bpws:variable messageType="ns1:transmitResponse" name="Response1"/>
        <bpws:variable messageType="ns1:acceptRequest" name="NotificationResponse"/>
    </bpws:variables>
    <bpws:correlationSets>
        <bpws:correlationSet name="CorrelationSet"/>
    </bpws:correlationSets>
    <bpws:sequence name="Notification">
        <bpws:receive createInstance="yes" name="DemandeNotification"
            operation="initiate" partnerLink="client"
            portType="tns:ValidationProcess" variable="input"/>
        <bpws:assign name="Initialisations" validate="no">
            <bpws:copy>
                <bpws:from>
                    <bpws:literal>
                        <tns:ValidationProcessResponse xmlns:tns="http://bpel.lmcu.fr/test/ValidationProcess">
                            <tns:result/>
                        </tns:ValidationProcessResponse>
                    </bpws:literal>
                </bpws:from>
                <bpws:to part="payload" variable="output"/>
            </bpws:copy>
            <bpws:copy>
                <bpws:from part="payload" variable="input">
                    <bpws:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:Request]]></bpws:query>
                </bpws:from>
                <bpws:to part="requete" variable="Message"/>
            </bpws:copy>
        </bpws:assign>
        <bpws:invoke inputVariable="Message" name="EnvoiMessage"
            operation="transmit" outputVariable="Response1"
            partnerLink="Notification" portType="ns1:NotifiedPT">
            <bpws:correlations>
                <bpws:correlation initiate="yes" pattern="out-in" set="CorrelationSet"/>
            </bpws:correlations>
        </bpws:invoke>
        <bpws:receive name="ReceptionChoix" operation="accept"
            partnerLink="Notification" portType="ns1:NotifierPT" variable="NotificationResponse"/>
        <bpws:assign name="LectureReponse" validate="no">
            <bpws:copy>
                <bpws:from part="reponse" variable="Response1"/>
                <bpws:to part="payload" variable="output">
                    <bpws:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:result]]></bpws:query>
                </bpws:to>
            </bpws:copy>
        </bpws:assign>
        <bpws:invoke inputVariable="output" name="CompteRendu"
            operation="onResult" partnerLink="client" portType="tns:ValidationProcessCallback"/>
    </bpws:sequence>
</bpws:process>
