<?xml version="1.0" encoding="UTF-8"?>
<process xmlns:bean="http://bean.boe.com/" xmlns:bpel="http://bpel.boe.com/" targetNamespace="http://bpel.boe.com/bpelj/" name="CancelShip.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="MaterialPackingServiceUtil" partnerLinkType="bean:MaterialPackingServiceUtil" />
        <partnerLink name="MaterialPackingServiceImpl" partnerLinkType="bean:MaterialPackingServiceImpl" />
        <partnerLink name="MaterialShipRequestServiceImpl" partnerLinkType="bean:MaterialShipRequestServiceImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="boxList" messageType="java.util.List" />
        <variable name="CancelShip" messageType="org.jdom.Document" />
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('CancelShip', '//Message/Body/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo" />
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('CancelShip', '//Message/Header/EVENTUSER')" />
        <variable name="MakeUnship" messageType="java.lang.String" />
        <variable name="message" messageType="org.jdom.Document" />
        <variable name="OICSender" messageType="java.lang.String" />
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('CancelShip', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="shipRequestName" messageType="java.lang.String" expression="getXmlData('CancelShip', '//Message/Body/SHIPREQUESTNAME')" />
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('CancelShip', '//Message/Body/SITENAME')" />
    </variables>
    <sequence>
        <receive name="CancelShip" bounds="70,30,149,62">
            <input variable="CancelShip" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="74,122,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="EventInfoUtil makeEventInfo" type="invokebean" description="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" bounds="62,257,165,102" partnerLink="EventInfoUtil" partnerLinkType="EventInfoUtil" operation="makeEventInfo" operationDesc="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input constant="MakeUnship" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input constant="CancelStockOut" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <output variable="eventInfo" />
        </invoke>
        <invoke name="MaterialPackingServiceUtil getStockOutBoxFromShipRequest" type="invokebean" description="public java.util.List getStockOutBoxFromShipRequest(java.lang.String shiprequest)" bounds="74,389,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getStockOutBoxFromShipRequest" operationDesc="public java.util.List getStockOutBoxFromShipRequest(java.lang.String shiprequest)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="shipRequestName" type="java.lang.String" />
            <output variable="boxList" />
        </invoke>
        <invoke name="MaterialPackingServiceImpl cancleExportBoxOut" type="invokebean" description="public void cancleExportBoxOut(com.cim.idm.framework.data.EventInfo eventInfo, java.util.List materialPackingKeyList, java.lang.String siteName)" bounds="74,524,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="cancleExportBoxOut" operationDesc="public void cancleExportBoxOut(com.cim.idm.framework.data.EventInfo eventInfo, java.util.List materialPackingKeyList, java.lang.String siteName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <input variable="boxList" type="java.util.List" />
            <input variable="siteName" type="java.lang.String" />
        </invoke>
        <invoke name="MaterialShipRequestServiceImpl updateComplete" type="invokebean" description="public void updateComplete(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String invoiceNo, java.lang.String shipRequestState)" bounds="74,659,141,105" partnerLink="MaterialShipRequestServiceImpl" partnerLinkType="MaterialShipRequestServiceImpl" operation="updateComplete" operationDesc="public void updateComplete(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String invoiceNo, java.lang.String shipRequestState)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="shipRequestName" type="java.lang.String" />
            <input constant="Confirmed" type="java.lang.String" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="63,794,162,103" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" bounds="74,927,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="replySubjectName" type="java.lang.String" />
            <input variable="CancelShip" type="org.jdom.Document" />
            <input constant="OICSender" type="java.lang.String" />
        </invoke>
    </sequence>
</process>

