Wednesday, 24 July 2019

SOACS - Dynamic Routing

Use the following steps to invoke target composites dynamically.

  • Create a schema file using below given schema. 
  • Create a variable (CustomEndPoint) to hold the dynamic URL. 
  • Select variable type as Element and select the element from the above created schema file. 
  • Assign the following endpoint elements to the variable - $CustomEndPoint.
    • use literal option (next to expression builder)
    • Use append rule. 
             <wsa:EndpointReference xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">
             <wsa:Address/>
            </wsa:EndpointReference>

  • assign the variable end point to following target element.
    • $CustomEndPoint/wsa:EndpointReference/wsa:Address 
  • Assign the variable - $CustomEndPoint to target partnerlink (Target side select the partner links and select the target reference)
  • Add the following name space to BPEL. 
    • xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"

Schema:


<?xml version='1.0' encoding='UTF-8'?>
<xsd:schema targetNamespace="http://docs.oasis-open.org/wsbpel/2.0/serviceref" 
xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified" blockDefault="#all">
   <xsd:annotation>
      <xsd:documentation>Service Reference Schema for WS-BPEL 2.0</xsd:documentation>
   </xsd:annotation>
   <xsd:element name="service-ref" type="sref:ServiceRefType">
      <xsd:annotation>
         <xsd:documentation>This element can be used within a from-spec.</xsd:documentation>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="ServiceRefType">
      <xsd:annotation>
         <xsd:documentation>This type definition is for service reference container.
This container is used as envelope to wrap around the actual endpoint reference value,
when a BPEL process interacts the endpoint reference of a partnerLink.
It provides pluggability of different versions of service referencing schemes
being used within a BPEL program. The design pattern here is similar to those of
expression language.</xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:any namespace="##other" processContents="lax"/>
      </xsd:sequence>
      <xsd:attribute name="reference-scheme" type="xsd:anyURI"/>
   </xsd:complexType>
</xsd:schema>

Sample NXSD for Writing HDL file

<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
            xmlns:tns="http://www.oracle.com/TaleoToHCMPrimaryWriteFile" targetNamespace="http://www.oracle.com/TaleoToHCMPrimaryWriteFile"
            elementFormDefault="qualified" attributeFormDefault="unqualified" nxsd:version="NXSD" nxsd:stream="chars"
            nxsd:encoding="US-ASCII">
  <xsd:element name="Root-Element">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Worker" type="tns:Worker_Type" maxOccurs="unbounded"/>
        <xsd:element name="PersonLegislativeData" type="tns:PersonLegislativeData_Type" maxOccurs="unbounded"/>
<xsd:element name="PersonName" type="tns:PersonName_Type" maxOccurs="unbounded"/>
<xsd:element name="WorkRelationship" type="tns:WorkRelationship_Type" maxOccurs="unbounded"/>
<xsd:element name="WorkTerms" type="tns:WorkTerms_Type" maxOccurs="unbounded"/>
<xsd:element name="Assignment" type="tns:Assignment_Type" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="Worker_Type">
    <xsd:sequence>
      <xsd:element name="METADATA" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="Worker" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveStartDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveEndDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="BloodType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="CorrespondenceLanguage" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="StartDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="DateOfBirth" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="DateOfDeath" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="CountryOfBirth" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="RegionOfBirth" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="TownOfBirth" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ApplicantNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="WaiveDataProtectFlag" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="CategoryCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ActionCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ReasonCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="GUID" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PER_PERSONS_DFF" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SOURCE_HIRE" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemOwner" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="SourceSystemId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PersonLegislativeData_Type">
    <xsd:sequence>
      <xsd:element name="METADATA" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonLegislativeData" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonLegislativeId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveStartDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveEndDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="LegislationCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="HighestEducationLevel" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="Sex" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemOwner" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="GUID" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PersonName_Type">
    <xsd:sequence>
      <xsd:element name="METADATA" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonNameId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveStartDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveEndDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="LegislationCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="NameType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="FirstName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="MiddleNames" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="LastName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="KnownAs" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="Suffix" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemOwner" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="GUID" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="WorkRelationship_Type">
    <xsd:sequence>
      <xsd:element name="METADATA" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="WorkRelationship" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="LegalEmployerName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="DateStart" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="WorkerType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="LegalEmployerSeniorityDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="ActualTerminationDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="EnterpriseSeniorityDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="LastWorkingDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="NotifiedTerminationDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PrimaryFlag" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="RehireRecommendationFlag" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ActionCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ReasonCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemOwner" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="WorkTerms_Type">
    <xsd:sequence>
      <xsd:element name="METADATA" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="WorkTerms" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="ActionCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveStartDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveEndDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveSequence" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveLatestChange" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="AssignmentNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="PersonNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PeriodOfServiceId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PersonId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="LegalEmployerName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="DateStart" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="WorkerType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="AssignmentStatusTypeCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProjectedStartDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProposedUserPersonType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProposedWorkerType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="BusinessUnitShortCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemOwner" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Assignment_Type">
    <xsd:sequence>
      <xsd:element name="METADATA" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="Assignment" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="ActionCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveStartDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveEndDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveSequence" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="EffectiveLatestChange" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="AssignmentNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
      <xsd:element name="WorkTermsNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="WorkTermsAssignmentId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="AssignmentType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="AssignmentStatusTypeCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="BusinessUnitShortCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="DateProbationEnd" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="AssignmentCategory" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="GradeCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="HourlySalariedCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="JobCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="LocationCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="NormalHours" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="Frequency" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="DepartmentName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PersonNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PeriodOfServiceId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PersonId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="WorkerType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="LegalEmployerName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PersonTypeCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SystemPersonType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="PrimaryAssignmentFlag" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProbationPeriod" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProbationUnit" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProjectedEndDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ReasonCode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProjectedStartDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProposedUserPersonType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="ProposedWorkerType" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="FLEX_PER_ASG_DF" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="FLEX_PER_ASG_LEG_DDF" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="VACATION_CODE" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="VAC_ADJ_DATE" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="WorkAtHomeFlag" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemOwner" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="|"/>
  <xsd:element name="SourceSystemId" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

Tuesday, 23 July 2019

Taleo to HCM Integration using Taleo Webservices


Use the following steps to extract the data from Taleo .


  • Use the following catalog WSDL to get the existing service details .  Following URL includes services which will provide candidate information. 
  • Open the WSDL using internet explorer. 
  • Right click the service and download the WSDL files.  We cant use the WSDL URL directly in SOAP UI.  Because of this reason we need to download the file. 
    • https://TaleoHostName/enterprise/soap?ServiceName=IntegrationManagementService?WSDL

  • Use the following catalog WSDL to get the transaction related service details.
  • Follow the above mentioned steps to download the WSDL files. 
    • https://TaleoHostName/transition/soap?ServiceName=IntegrationManagementService?WSDL

  • Get the required service WSDL URL's from above catalog service. 
  • Sample Service WSDL's for getting transaction and candidate details from Taleo are
    • To Get Transaction Entities
      • https://TaleoHostName/transition/soap?ServiceName=FindService?WSDL
    • To Get Candidate Entities. 
      • https://TaleoHostName/enterprise/soap?ServiceName=FindService?WSDL

  • Use the following sample request to get the Transaction details.
             TransactionRequest


  • Use the following sample request message to get the Candidate Information.
            CandidateRequest



  • Get the respons from Taleo for above requests. 
  • Create a response XSD using above response messages from Taleo
  • Use the response XSD message to map the response from Taleo to a structured response message using XSLT. 
  • Map the values from Taleo response message to corresponding HDL file. 
  • Use the following NXSD to write a HDL file. 
            NXSD_For_HDL



Sample Taleo Request to get Candidate Details

<soapenv:Envelope xmlns:par="http://hostname/common/xsd/parent" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken">
            <wsse:Username>UserName</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
            <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"></wsse:Nonce>
            <wsu:Created>2019-06-14T05:13:04.056Z</wsu:Created>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
      <findPartialEntities xmlns="http://www.taleo.com/ws/tee800/2009/01/find" xmlns:client="http://xmlns.oracle.com/GetNewHireDetailsFrmTaleo/GetNewHireDetailsFrmTaleo" xmlns:ns1="http://itk.taleo.com/ws/query" xmlns:ns2="http://www.taleo.com/ws/tee800/2009/01" xmlns:ns3="http://www.taleo.com/ws/integration/toolkit/2005/07" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://www.taleo.com/ws/tee800/2009/01/find" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/">
         <tns:mappingVersion>http://www.taleo.com/ws/tee800/2009/01</tns:mappingVersion>
         <tns:query>
            <ns1:query alias="Find New Hires" attributes="perfo.max.relation.deepness=8" locale="en" preventDuplicates="false" projectedClass="Candidate">
               <ns1:subQueries/>
               <ns1:projections>
                  <ns1:projection>
                     <ns1:field path="Number"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="DiversityAnswers,Question,Code"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="DiversityAnswers,PossibleAnswer,Description"/>
                  </ns1:projection>
                  <ns1:projection alias="RecruitmentSource">
                     <ns1:field path="TalentUser,Profile,RecruitmentSource,Description"/>
                  </ns1:projection>
                  <ns1:projection alias="sourceType">
                     <ns1:field path="TalentUser,Profile,RecruitmentSource,Type,RecruitmentSourceType.CustomDescription"/>
                  </ns1:projection>
                  <ns1:projection alias="studyLevel">
                     <ns1:field path="TalentUser,Profile,Studies,StudyLevel,StudyLevel.Code"/>
                  </ns1:projection>
               </ns1:projections>
               <ns1:filterings>
                  <ns1:filtering>
                     <ns1:equal>
                        <ns1:field path="Number"/>
                        <ns1:string>$CandidateId</ns1:string>
                     </ns1:equal>
                  </ns1:filtering>
               </ns1:filterings>
               <ns1:sortings>
                  <ns1:sorting>
                     <ns1:field path="Number"/>
                  </ns1:sorting>
               </ns1:sortings>
            </ns1:query>
         </tns:query>
         <tns:attributes>
            <tns:entry>
               <tns:key>pageindex</tns:key>
               <tns:value>1</tns:value>
            </tns:entry>
         </tns:attributes>
      </findPartialEntities>
   </soapenv:Body>
</soapenv:Envelope>

Sample Taleo Request to Get Transactions

<soapenv:Envelope xmlns:par="http://hostname/taleo/common/xsd/parent" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-">
            <wsse:Username>userName</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
            <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"></wsse:Nonce>
            <wsu:Created>2019-06-14T05:13:04.056Z</wsu:Created>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
      <findPartialEntities xmlns="http://www.taleo.com/ws/tr800/2009/04/find"
  xmlns:client="http://xmlns.oracle.com/GetNewHireDetailsFrmTaleo"
  xmlns:ns1="http://itk.taleo.com/ws/query" xmlns:ns2="http://www.taleo.com/ws/tr800/2009/04"
  xmlns:ns3="http://www.taleo.com/ws/integration/toolkit/2005/07"
  xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
  xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
  xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding"
  xmlns:tns="http://www.taleo.com/ws/tr800/2009/04/find"
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/">
         <tns:mappingVersion>http://www.taleo.com/ws/tr800/2009/04</tns:mappingVersion>
         <tns:query>
            <ns1:query alias="Find New Hires" attributes="perfo.max.relation.deepness=8" locale="en" preventDuplicates="false" projectedClass="TransitionProcess">
               <ns1:subQueries/>
               <ns1:projections>
                  <ns1:projection>
                     <ns1:field path="ProfileInformation,Candidate,Number"/>
                  </ns1:projection>
                  <ns1:projection alias="State">
                     <ns1:field path="ProfileInformation,Candidate,ResidenceLocation,StateLocation,Abbreviation"/>
                  </ns1:projection>
                  <ns1:projection alias="FirstName">
                     <ns1:field path="ProfileInformation,Candidate,FirstName"/>
                  </ns1:projection>
                  <ns1:projection alias="LastName">
                     <ns1:field path="ProfileInformation,Candidate,LastName"/>
                  </ns1:projection>
                  <ns1:projection alias="MiddleInitial">
                     <ns1:field path="ProfileInformation,Candidate,MiddleInitial"/>
                  </ns1:projection>
                  <ns1:projection alias="Suffix">
                     <ns1:field path="ProfileInformation,Candidate,Suffix"/>
                  </ns1:projection>
                  <ns1:projection alias="PreferredName">
                     <ns1:field path="ProfileInformation,Candidate,Preferred_5fName"/>
                  </ns1:projection>
                  <ns1:projection alias="InternalFlag">
                     <ns1:field path="ProfileInformation,Candidate,InternalApplication"/>
                  </ns1:projection>
                  <ns1:projection alias="EmployeeNumber">
                     <ns1:field path="ProfileInformation,Candidate,EmployeeNumber"/>
                  </ns1:projection>
                  <ns1:projection alias="HomePhone">
                     <ns1:field path="ProfileInformation,Candidate,HomePhone"/>
                  </ns1:projection>
                  <ns1:projection alias="MobilePhone">
                     <ns1:field path="ProfileInformation,Candidate,MobilePhone"/>
                  </ns1:projection>
                  <ns1:projection alias="Address1">
                     <ns1:field path="ProfileInformation,Candidate,Address"/>
                  </ns1:projection>
                  <ns1:projection alias="Address2">
                     <ns1:field path="ProfileInformation,Candidate,Address2"/>
                  </ns1:projection>
                  <ns1:projection alias="City">
                     <ns1:field path="ProfileInformation,Candidate,City"/>
                  </ns1:projection>
                  <ns1:projection alias="ZipCode">
                     <ns1:field path="ProfileInformation,Candidate,ZipCode"/>
                  </ns1:projection>
                  <ns1:projection alias="Country">
                     <ns1:field path="ProfileInformation,Candidate,ResidenceLocation,CountryLocation,Abbreviation"/>
                  </ns1:projection>
                  <ns1:projection alias="region">
                     <ns1:field path="ProfileInformation,Candidate,ResidenceLocation,RegionLocation,NetworkLocation.Abbreviation"/>
                  </ns1:projection>
                  <ns1:projection alias="SocialSecurityNumber">
                     <ns1:field path="ProfileInformation,Candidate,SocialSecurityNumber"/>
                  </ns1:projection>
                  <ns1:projection alias="Email">
                     <ns1:field path="ProfileInformation,Candidate,EmailAddress"/>
                  </ns1:projection>
                  <ns1:projection alias="JobSchedule">
                     <ns1:field path="ProfileInformation,Application,Requisition,JobInformation,JobSchedule,JobSchedule.Code"/>
                  </ns1:projection>
                  <ns1:projection alias="ActualStartDate">
                     <ns1:field path="ProfileInformation,Application,Offers,ActualStartDate"/>
                  </ns1:projection>
                  <ns1:projection alias="WorkLocation">
                     <ns1:field path="ProfileInformation,Application,Requisition,JobInformation,PrimaryLocation,Code"/>
                  </ns1:projection>
                  <ns1:projection alias="JobCode">
                     <ns1:field path="ProfileInformation,Application,Requisition,BaseJobTemplate,JobCode"/>
                  </ns1:projection>
                  <ns1:projection alias="OrgName">
                     <ns1:field path="ProfileInformation,Application,Requisition,JobInformation,Organization,Organization.Code"/>
                  </ns1:projection>
                  <ns1:projection alias="ManagerID">
                     <ns1:field path="ProfileInformation,Application,Requisition,HiringManager,EmployeeID"/>
                  </ns1:projection>
                  <ns1:projection alias="Department">
                     <ns1:field path="ProfileInformation,Application,Requisition,Department,Name"/>
                  </ns1:projection>
                  <ns1:projection alias="PayBasis">
                     <ns1:field path="ProfileInformation,Application,Offers,PayFrequencyBasis,Description"/>
                  </ns1:projection>
                  <ns1:projection alias="Salary">
                     <ns1:field path="ProfileInformation,Application,Offers,Salary"/>
                  </ns1:projection>
                  <ns1:projection alias="PayValue">
                     <ns1:field path="ProfileInformation,Application,Offers,PayValue"/>
                  </ns1:projection>
                  <ns1:projection alias="DateOfBirth">
                     <ns1:field path="ProfileInformation,Candidate,Birthday"/>
                  </ns1:projection>
                  <ns1:projection alias="EmployeeNumber">
                     <ns1:field path="ProfileInformation,Candidate,EmployeeNumber"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="ProfileInformation,Application,Number"/>
                  </ns1:projection>
                  <ns1:projection alias="HireType">
                     <ns1:field path="ProfileInformation,Application,Requisition,JobInformation,HireType,Code"/>
                  </ns1:projection>
                  <ns1:projection alias="EmplStatus">
                     <ns1:field path="ProfileInformation,Application,Requisition,JobInformation,acc_5femployee_5fstatus,Description"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="ProfileInformation,ProfileInformation,Application,Application,Offers,Offer,Status,OfferStatus.Description"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="Process,Process,State,Description"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="Process,Process,Definition,Status,Code"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="ProfileInformation,Application,Offers,Offer_5fHired_5fJob_5fCode_5fACC,Code"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="ProfileInformation,Application,Offers,Offer_5fHired_5fJob_5fCode_5fACC_5fAdmin,Code"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="ProfileInformation,Application,Offers,Offer_5fHired_5fJob_5fCode_5fSS,Code"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="ProfileInformation,Application,Offers,Offer_5fHired_5fJob_5fCode_5fWCU,Code"/>
                  </ns1:projection>
                  <ns1:projection>
                     <ns1:field path="ProfileInformation,Application,Offers,Offer_5fHired_5fJob_5fCode_5fWCU_5fAdmin,Code"/>
                  </ns1:projection>
               </ns1:projections>
               <ns1:filterings>
                  <ns1:filtering>
                     <ns1:equal>
                        <ns1:field path="ProfileInformation,Application,Offers,Status,OfferStatus.Description"/>
                        <ns1:string>Accepted</ns1:string>
                     </ns1:equal>
                  </ns1:filtering>
                  <ns1:filtering>
                     <ns1:containsIgnoreCase>
                        <ns1:field path="Process,Steps,Definition,Name"/>
                        <ns1:string>Onboarding Process Complete</ns1:string>
                     </ns1:containsIgnoreCase>
                  </ns1:filtering>
                  <ns1:filtering>
                     <ns1:equal>
                        <ns1:field path="Process,Steps,State,Description"/>
                        <ns1:string>Completed</ns1:string>
                     </ns1:equal>
                  </ns1:filtering>
                 <ns1:filtering>
                     <ns1:greaterThan>
                        <ns1:field path="Process,Steps,EndDate"/>
                        <ns1:date>2019-01-01T00:00:00</ns1:date>
                     </ns1:greaterThan>
                  </ns1:filtering>
               </ns1:filterings>
               <ns1:sortings>
                  <ns1:sorting>
                     <ns3:field path="ProfileInformation,Candidate,Number"/>
                  </ns1:sorting>
               </ns1:sortings>
            </ns1:query>
         </tns:query>
         <tns:attributes>
            <tns:entry>
               <tns:key>pageindex</tns:key>
               <tns:value>1</tns:value>
            </tns:entry>
         </tns:attributes>
      </findPartialEntities>
   </soapenv:Body>
</soapenv:Envelope>

SOACS - Convert delimited string to an array of XML elements.

Use following XPATH function to convert/map a delimited string to an unbounded xml element.

Use CopyList rule in assign activity to map the value.

From Value: 

oraext:create-nodeset-from-delimited-string('{http://www.TargetElementNamespace.org}$TargetElement',$InputDelimitedString,'$DelimeterValue')


To Value : 
$Unbounded Target Element Name


$TargetElement  - Unbounded Target Element
$DelimeterValue may be "," or "|" 

Friday, 10 May 2019

Middleware Selection Criteria



  1. Usability: ask yourself about the degree of complexity of the installation, the supplementary tools that you need and the type of usability of the development environment.
  2. Maintainability: how is the product managed? Can you monitor the services by means of a graphical user interface?
  3. Community: Is there content available for the platform? Are there active public forums?
  4. Company support: Here you need to know whether the support service is provided during business hours, if it has a direct line, e-mail, on-site support, etc.
  5. Functionality: types of features provided.
  6. Flexibility: Is it possible to customize the product? Does it meet the company’s specific needs?
  7. Expansion ability: What types of standards do the interfaces use? Does it have extensions?
  8. Connectors: Are there available adapters for B2B products such as SAP or Salesforce?
  9. Costs: Calculate the total cost of owning the product: maintenance, necessary auxiliary products, connectors, licenses, etc.
  10. Licenses: Type of license and subscription model. Are updates free? Do they have alternatives when requirements change?

Oracle Fusion - Order Management Cross Reference

Summary:  This guide outlines the steps to manage cross-reference data for Sales Order FBDI upload for the source systems,  including export...