Utiliser le service Web d'intégration du chargeur de données HCM
Vous pouvez utiliser un service Web SOAP du chargeur de données HCM pour importer et charger les fichiers de données stockés temporairement sur le serveur WebCenter Content. Vous pouvez traiter ces fichiers de données manuellement à partir de la page Importer et charger des données de l'interface utilisateur Oracle Cloud HCM.
Vous devez d'abord installer Oracle JDeveloper 11.1.1.9 pour obtenir les bibliothèques requises pour appeler les services Web SOAP à partir d'Oracle Cloud HCM.
A propos du service d'intégration du chargeur de données HCM
Vous pouvez utiliser un service Web SOAP Oracle Cloud HCM pour télécharger des fichiers à l'aide de l'API SOAP.
Vous pouvez obtenir les détails du service Web Data Loader Service à partir d'Oracle Fusion Cloud Human Resources dans le lien Developer Connect, sous Outils dans le menu Navigateur, comme tout autre service Web SOAP.
Vous pouvez appeler le service Web SOAP après avoir placé le fichier ZIP contenant les fichiers DAT sur le serveur WebCenter Content. Vous pouvez ensuite le sécuriser avec le compte hcm/dataloader/import
. Ce service Web peut être utilisé pour importer et charger des données dans Oracle Cloud HCM.
A propos des enveloppes SOAP permettant d'appeler le chargeur de données HCM
HCMDataLoader
: http://{Host}/hcmCommonDataLoader/HCMDataLoader
A propos de la méthode importAndLoadData
La méthode importAndLoadData
lance le traitement d'un fichier de données hébergé sur le serveur WebCenter Content. Il s'agit d'un travail asynchrone qui renvoie uniquement la valeur ProcessId
du processus soumis.
Utilisez cette enveloppe pour appeler la fonction importAndLoadData
dans le service Web SOAP.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:importAndLoadData xmlns:ns1="http://xmlns.oracle.com/apps/hcm/common/dataLoader/core/dataLoaderIntegrationService/types/">
<ns1:ContentId></ns1:ContentId>
<ns1:Parameters></ns1:Parameters>
</ns1:importAndLoadData>
</soap:Envelope>
Les paramètres de la méthode importAndLoadData
envoyés avec l'enveloppe sont les suivants :
ContentId : ID de contenu du fichier sur le serveur WebCenter Content (valeur identique au paramètre dDocName
dans l'appel Java WebCenter Content).
Paramètres : paires nom-valeur. Les noms de paramètre suivants sont disponibles, mais ne sont pas obligatoires :
-
ImportMaximumErrors
: pourcentage de lignes de fichier dans une erreur qui peut se produire pour un objet fonctionnel avant arrêt du traitement d'importation. -
LoadMaximumErrors
: pourcentage d'instances d'objet fonctionnel en erreur pouvant survenir pour un objet fonctionnel avant arrêt du traitement de validation et de chargement. -
LoadConcurrentThreads
: nombre de threads simultanés lors de la validation ou du chargement. -
LoadGroupSize
: nombre d'objets fonctionnels traités comme une seule unité de travail par un thread simultané. -
FileEncryption
: type de chiffrement du fichier. Par exemple, PBE (Password Based Encryption). -
DeleteSourceFile
: valeurY
ouN
. Si la valeur estY
ou laissée vide, le fichier source est supprimé du serveur WebCenter Content une fois le contenu du fichier transféré dans les tables intermédiaires du chargeur de données HCM et n'est plus requis.
Par exemple, la balise <ns1:Parameters>
peut contenir les paires nom/valeur suivantes :<ns1:Parameters>ImportMaximumErrors=100,LoadMaximumErrors=100,LoadConcurrentThreads=4,FileEncryption=PGPSIGNED,DeleteSourceFile=N</ns1:Parameters>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header> <wsa:To>http://www.w3.org/2005/08/addressing/anonymous</wsa:To>
<wsa:Action>http://xmlns.oracle.com/apps/hcm/common/dataLoader/core/dataLoaderIntegrationService/HCMDataLoader/importAndLoadDataResponse</wsa:Action>
<wsa:MessageID>urn:uuid:ab36195f-775b-4688-a0e4-8a4e531e904c</wsa:MessageID>
<wsa:RelatesTo>urn:uuid:74c7b631-c20a-4d49-bf36-1f483f3dc43e</wsa:RelatesTo>
</env:Header>
<env:Body> <ns0:importAndLoadDataResponse xmlns:ns0="http://xmlns.oracle.com/apps/hcm/common/dataLoader/core/dataLoaderIntegrationService/types/"> <result xmlns="http://xmlns.oracle.com/apps/hcm/common/dataLoader/core/dataLoaderIntegrationService/types/">7958</result> </ns0:importAndLoadDataResponse>
</env:Body>
</env:Envelope>
A propos de la méthode getDataSetStatus
La méthode getDataSetStatus
renvoie le statut en cours du fichier de données spécifié.
Utilisez cette enveloppe pour appeler la fonction getDataSetStatus
dans le service Web SOAP.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getDataSetStatus xmlns:ns1="http://xmlns.oracle.com/apps/hcm/common/dataLoader/core/dataLoaderIntegrationService/types/">
<ns1:Parameters></ns1:Parameters>
</ns1:getDataSetStatus>
</soap:Envelope>
Les paramètres de la méthode getDataSetStatus
envoyés avec l'enveloppe sont les suivants :
ContentId : ID de contenu du fichier sur le serveur WebCenter Content (valeur identique au paramètre dDocName
dans l'appel Java WebCenter Content).
ProcessId : ID du processus lancé et renvoyé par la méthode importAndLoadData
.
Générer une classe de proxy pour l'appel de HCM DataLoader
L'une des options d'appel d'un service Web SOAP Oracle Cloud HCM consiste à utiliser des classes proxy générées.
Vous pouvez générer des classes de proxy en indiquant l'URL du fichier WSDL du service au générateur de votre choix. Ces classes proxy sont utilisées pour appeler le service Web.
Remarque :
Les services Web SOAP d'Oracle Cloud HCM sont protégés par les stratégies de sécurité OWSM (Oracle Web Services Manager).A propos des implications de sécurité lors de l'utilisation du chargeur de données HCM
Lorsqu'un client appelle un service Web SOAP du chargeur de données HCM, ce dernier doit satisfaire la stratégie de protection des messages pour s'assurer que les données traitées sont transportées de manière cryptée ou via la couche de transport SSL.
Le service Web HCMDataLoader
est sécurisé à l'aide de la stratégie Oracle Web Services Manager suivante : oracle/wss11_saml_or_username_token_with_message_protection_service_policy
.
Du côté client, vous pouvez utiliser la stratégie Oracle Web Services Manager suivante :oracle/wss11_username_token_with_message_protection_client_policy
.
Pour utiliser cette stratégie, le message doit être chiffré à l'aide d'une clé publique fournie par le serveur. Lorsque le message atteint le serveur, il peut être déchiffré par la clé privée du serveur. Vous pouvez créer un élément KeyStore
pour importer le certificat fourni dans le fichier WSDL du service. Toutefois, pour des raisons de sécurité, vous devez inviter l'utilisateur à saisir le mot de passe Oracle Cloud HCM chaque fois que vous exécutez le code.
Vous pouvez créer un fichier texte de propriétés qui peut être analysé dans votre code pour accéder aux informations Keystore
, par exemple :
FUSION_USERNAME=<Your Oracle Global Human Resources Cloud User Name>
DATAPATH=C:\\My\\Assets\\cloud.asset.hcm.java-dataload-example\\data\\
HCM_DATA_LOADER_SERVICE_WSDL_LOCATION=https://<<FusionURL>/hcmCommonDataLoader/HCMDataLoader?wsdl
UCM_IDC_WEBSERVICE_LOCATION=https://<FusionURL>/idcws/GenericSoapPort
KEYSTORE_LOCATION=<Your Keystore trust location>
KEYSTORE_PASSWORD=<YourTrustPassword>
KEYSTORE_ALIAS=orakey
GETDATASETSTATUS_DELAY=5
OK=OK
ERROR=Error
WARNING=Warning
CSV_FILE_ENCODING=UTF-8
DATA_SEPERATOR=;
Invitez l'utilisateur à fournir ses informations d'identification Oracle Cloud HCM à l'aide des éléments suivants :
// Accept password from user
Scanner scanReader = new Scanner(System.in); // Reading from System.in
System.out.println("Enter password for user "+propertiesFile.getProperty("FUSION_USERNAME")+" :");
fusionUserPass= scanReader.next(); // Scans the next token of the input as an int.
scanReader.close();
Dans l'exemple, fusionUserPass
est une variable qui peut être utilisée pour stocker le mot de passe Oracle Cloud HCM de l'utilisateur, puis transmise au service Web SOAP du chargeur de données HCM.
Appeler le service Web SOAP HCM DataLoader
Vous pouvez charger des données à partir d'un fichier ZIP vers Oracle Cloud HCM à l'aide du service Web SOAP du chargeur de données HCM à partir d'une classe Java.
Créez d'abord un fichier ZIP et téléchargez-le vers le serveur WebCenter Content manuellement ou par programmation. Vous pouvez ensuite charger les données à l'aide du service Web importAndLoadData
.
Remarque :
Les exemples de code fournis dans cette solution ont été testés avec JDK version 8 pour appeler des services Web sur Oracle WebLogic Server 12c. Pour une utilisation avec d'autres versions de JDK et d'Oracle WebLogic Server, testez le code avec des bibliothèques spécifiques aux versions souhaitées.