Tuesday, 28 January 2014

Create AIA Session Manager

===================================================================================================
Create AIA Session Manager
===================================================================================================

Namespace :

xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns10="http://siebel.com/webservices"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"

Security Variable :

    <variable name="SystemID" type="xsd:string"/>
    <variable name="SessionToken" element="ns10:SessionToken"/>
    <variable name="SiebelWSHeader" element="ns10:WSHeader"/>

System ID dec :

    <assign name="Assign_SystemID">
      <copy>
        <from expression="aia:getServiceProperty('{http://xmlns.oracle.com/ABCSImpl/Siebel/Industry/Comms/SubmitOrderSiebelCommsProvABCSImpl}SubmitOrderSiebelCommsProvABCSImpl','Default.SystemID',false())"/>
        <to variable="SystemID"/>
      </copy>
    </assign>

Get ComponentInstanceID() :

<copy>
            <from variable="SystemID"/>
            <to variable="Invoke1_Get_InputVariable" part="payload"
                query="/ns1:GetAIASessionPoolManagerGetRequest/ns1:HostId"/>
          </copy>
          <copy>
            <from expression="ora:getComponentInstanceId()"/>
            <to variable="Invoke1_Get_InputVariable" part="payload"
                query="/ns1:GetAIASessionPoolManagerGetRequest/ns1:InstanceId"/>
          </copy>

Assign annotation :

        <bpelx:annotation>
          <bpelx:general>
            <bpelx:property name="userLabel">
              <![CDATA[ScopeGetSessionToken]]>
            </bpelx:property>
          </bpelx:general>
        </bpelx:annotation>


Siebel Invokation :

    <invoke name="Invoke_Siebel_Service"
            inputVariable="Invoke1_VFQ_spcUSSD_spcOrder_spcProvisioning_spcWF_InputVariable"
            outputVariable="Invoke1_VFQ_spcUSSD_spcOrder_spcProvisioning_spcWF_OutputVariable"
            partnerLink="Siebel_Update_service"
            portType="ns2:VFQ_spcUSSD_spcOrder_spcProvisioning_spcWF"
            operation="VFQ_spcUSSD_spcOrder_spcProvisioning_spcWF"
            bpelx:invokeAsDetail="no"
            bpelx:inputHeaderVariable="SiebelWSHeader"/>


Post Get Assignment :

          <copy>
            <from variable="Invoke1_Get_OutputVariable" part="payload"
                  query="/ns1:GetAIASessionPoolManagerResponse/ns1:SessionToken"/>
            <to variable="SessionToken" query="/ns10:SessionToken"/>
          </copy>
          <copy>
            <from variable="Invoke1_Get_OutputVariable" part="payload"
                  query="/ns1:GetAIASessionPoolManagerResponse/ns1:SessionToken"/>
            <to variable="SiebelWSHeader"
                query="/ns10:WSHeader/ns10:SessionToken"/>
          </copy>

Inside invokation :

bpelx:inputHeaderVariable="SiebelWSHeader"


Release Session :

    <scope name="Scope2" variableAccessSerializable="no" bpelx:skipCondition="string-length(bpws:getVariableData('SessionToken','/ns10:SessionToken'))=0">
     
      <bpelx:annotation>
        <bpelx:general>
          <bpelx:property name="userLabel">
            <![CDATA[ScopeReleaseSessionToken]]>
          </bpelx:property>
        </bpelx:general>
      </bpelx:annotation>


        <assign name="AssignPopulateReleaseSessionPoolServiceVariable">
          <copy>
            <from variable="SystemID"/>
            <to variable="Invoke_Release_AIASessionPoolManager_Release_InputVariable"
                part="payload"
                query="/ns2:ReleaseAIASessionPoolManagerRequest/ns2:HostId"/>
          </copy>
          <copy>
            <from variable="SessionToken" query="/ns10:SessionToken"/>
            <to variable="Invoke_Release_AIASessionPoolManager_Release_InputVariable"
                part="payload"
                query="/ns2:ReleaseAIASessionPoolManagerRequest/ns2:UpdatedSessionToken"/>
          </copy>
          <copy>
            <from expression="ora:getCompositeInstanceId()"/>
            <to variable="Invoke_Release_AIASessionPoolManager_Release_InputVariable"
                part="payload"
                query="/ns2:ReleaseAIASessionPoolManagerRequest/ns2:InstanceId"/>
          </copy>
        </assign>

No comments:

Post a Comment