Webservice für HCM Data Loader-Integration verwenden
Mit einem SOAP-Webservice von HCM Data Loader können Sie die auf dem Server WebCenter Content bereitgestellten Datendateien importieren und laden. Sie können diese Datendateien manuell auf der Seite Daten importieren und laden in der Oracle Cloud HCM-Benutzeroberfläche verarbeiten.
Sie müssen zunächst Oracle JDeveloper 11.1.1.9 installieren, um die Librarys abzurufen, die zum Aufrufen von SOAP-Webservices aus Oracle Cloud HCM erforderlich sind.
Info zu HCM Data Loader Integration Service
Mit einem Oracle Cloud HCM-SOAP-Webservice können Sie Dateien mit der SOAP-API hochladen.
Sie können die Webservicedetails von Data Loader Service wie jeder andere SOAP-Webservice aus Oracle Fusion Cloud Human Resources im Link Developer Connect unter Tools im Menü Navigator abrufen.
Sie können den SOAP-Webservice aufrufen, nachdem Sie die ZIP-Datei mit den DAT-Dateien auf dem Server WebCenter Content gespeichert haben. Dann können Sie es mit dem hcm/dataloader/import
-Account sichern. Mit diesem Webservice können Sie Daten in Oracle Cloud HCM importieren und laden.
SOAP-Envelopes zum Aufrufen des HCM Data Loaders
HCMDataLoader
stellen: http://{Host}/hcmCommonDataLoader/HCMDataLoader
Informationen zur Methode importAndLoadData
Die Methode importAndLoadData
initiiert die Verarbeitung einer Datendatei, die auf dem Server WebCenter Content gehostet wird. Es handelt sich um einen asynchronen Job, der nur die ProcessId
des weitergeleiteten Prozesses zurückgibt.
Verwenden Sie diesen Umschlag, um die Funktion importAndLoadData
im SOAP-Webservice aufzurufen.
<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>
Die Parameter für die importAndLoadData
-Methode, die mit dem Envelope gesendet werden, sind:
ContentId: Inhalts-ID der Datei auf dem Server WebCenter Content (derselbe Wert wie der Parameter dDocName
im Java-Aufruf WebCenter Content).
Parameter: Name/Wert-Paare. Die folgenden Parameternamen sind verfügbar, sind jedoch nicht obligatorisch:
-
ImportMaximumErrors
: Prozentsatz der Dateizeilen in einem Fehler, der für ein Geschäftsobjekt auftreten kann, bevor der Importprozess stoppt. -
LoadMaximumErrors
: Prozentsatz der Geschäftsobjektinstanzen in einem Fehler, der für ein Geschäftsobjekt auftreten kann, bevor der Validierungs- und Ladeprozess stoppt. -
LoadConcurrentThreads
: Anzahl gleichzeitiger Threads beim Validieren oder Laden. -
LoadGroupSize
: Anzahl Geschäftsobjekte, die von einem Hintergrundthread als eine Einheit verarbeitet werden. -
FileEncryption
: Typ der Dateiverschlüsselung. Beispiel: Kennwortbasierte Verschlüsselung (PBE). -
DeleteSourceFile
: WertY
oderN
. Wenn dieser Wert aufY
gesetzt oder leer gelassen wird, wird die Quelldatei aus dem Server WebCenter Content gelöscht, nachdem der Dateiinhalt in die Staging-Tabellen von HCM Data Loader übertragen wurde und nicht mehr erforderlich ist.
Beispiel: Das Tag <ns1:Parameters>
kann die folgenden Name/Wert-Paare enthalten:<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>
Informationen zur Methode getDataSetStatus
Die Methode getDataSetStatus
gibt den aktuellen Status der angegebenen Datendatei zurück.
Verwenden Sie diesen Umschlag, um die Funktion getDataSetStatus
im SOAP-Webservice aufzurufen.
<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>
Die Parameter für die getDataSetStatus
-Methode, die mit dem Envelope gesendet werden, sind:
ContentId: Inhalts-ID der Datei auf dem Server WebCenter Content (derselbe Wert wie der Parameter dDocName
im Java-Aufruf WebCenter Content).
ProcessId: Die ID des Prozesses, der von der Methode importAndLoadData
initiiert und zurückgegeben wird.
Proxyklasse zum Aufrufen von HCM generieren DataLoader
Eine Option zum Aufrufen eines Oracle Cloud HCM-SOAP-Webservice besteht darin, generierte Proxyklassen zu verwenden.
Sie können Proxyklassen generieren, indem Sie dem gewünschten Generator die URL der Service-WSDL-Datei angeben. Mit diesen Proxyklassen wird der Webservice aufgerufen.
Hinweis:
Oracle Cloud HCM-SOAP-Webservices sind durch Oracle Web Services Manager-(OWSM-)Sicherheits-Policys geschützt.Auswirkungen auf die Sicherheit bei der Verwendung von HCM Data Loader
Wenn ein Client einen SOAP-Webservice von HCM Data Loader aufruft, muss der spätere die Message Protection Policy erfüllen, um sicherzustellen, dass die Payload verschlüsselt oder über die SSL-Transportschicht übertragen wird.
Der Webservice HCMDataLoader
wird mit der folgenden Oracle Web Services Manager-Policy gesichert: oracle/wss11_saml_or_username_token_with_message_protection_service_policy
.
Auf Clientseite können Sie die folgende Oracle Web Services Manager-Policy verwenden:oracle/wss11_username_token_with_message_protection_client_policy
.
Um diese Policy verwenden zu können, muss die Nachricht mit einem vom Server bereitgestellten Public Key verschlüsselt werden. Wenn die Nachricht den Server erreicht, kann die Nachricht vom Private Key des Servers entschlüsselt werden. Sie können eine KeyStore
erstellen, um das in der Service-WSDL-Datei angegebene Zertifikat zu importieren. Aus Sicherheitsgründen müssen Sie den Benutzer jedoch zur Eingabe des Oracle Cloud HCM-Kennworts auffordern, wenn Sie Ihren Code ausführen.
Sie können eine Eigenschaftstextdatei erstellen, die in Ihrem Code geparst werden kann, um auf die Keystore
-Informationen zuzugreifen. Beispiel:
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=;
Bitten Sie den Benutzer um die Oracle Cloud HCM-Zugangsdaten wie folgt:
// 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();
In dem Beispiel ist fusionUserPass
eine Variable, mit der das Oracle Cloud HCM-Kennwort des Benutzers gespeichert und dann an den SOAP-Webservice von HCM Data Loader übergeben werden kann.
SOAP-Webservice HCM DataLoader aufrufen
Sie können Daten aus einer ZIP-Datei in Oracle Cloud HCM laden, indem Sie den SOAP-Webservice von HCM Data Loader aus einer Java-Klasse verwenden.
Erstellen Sie zunächst eine ZIP-Datei, und laden Sie sie entweder manuell oder programmgesteuert in den Server WebCenter Content hoch. Anschließend können Sie die Daten mit dem Webservice importAndLoadData
laden.
Hinweis:
Die in dieser Lösung bereitgestellten Codebeispiele wurden mit JDK Version 8 zum Aufrufen von Webservices auf Oracle WebLogic Server 12c getestet. Zur Verwendung mit anderen JDK- und Oracle WebLogic Server-Versionen testen Sie den Code mit Librarys, die für die gewünschten Versionen spezifisch sind.