Usar el servicio web de integración del cargador de datos de HCM
Puede usar un servicio web SOAP del cargador de datos de HCM para importar y cargar los archivos de datos ubicados temporalmente en el servidor de WebCenter Content. Puede procesar esos archivos de datos manualmente desde la página Importar y cargar datos de la interfaz de usuario de Oracle Cloud HCM.
Primero debe instalar Oracle JDeveloper 11.1.1.9 para obtener las bibliotecas necesarias para llamar a los servicios web SOAP desde Oracle Cloud HCM.
Acerca del servicio de integración del cargador de datos de HCM
Puede utilizar un servicio web SOAP de Oracle Cloud HCM para cargar archivos mediante la API de SOAP.
Puede obtener los detalles del servicio web Servicio de cargador de datos de Oracle Fusion Cloud Human Resources en el enlace Developer Connect, en Herramientas del menú Navegador, al igual que cualquier otro servicio web SOAP.
Puede llamar al servicio web SOAP después de colocar el archivo ZIP que contiene los archivos DAT en el servidor de WebCenter Content. A continuación, puede protegerlo con la cuenta hcm/dataloader/import
. Este servicio web se puede utilizar para importar y cargar datos en Oracle Cloud HCM.
Acerca de los sobres de SOAP para llamar al cargador de datos de HCM
HCMDataLoader
: http://{Host}/hcmCommonDataLoader/HCMDataLoader
Acerca del método importAndLoadData
El método importAndLoadData
inicia el procesamiento de un archivo de datos alojado en el servidor WebCenter Content. Es un trabajo asíncrono que devuelve solo el ProcessId
del proceso ejecutado.
Utilice este sobre para realizar una llamada a la función importAndLoadData
en el servicio 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>
Los parámetros para el método importAndLoadData
que se envían con el sobre son:
ContentId: ID de contenido del archivo en el servidor WebCenter Content (el mismo valor que el parámetro dDocName
en la llamada de Java WebCenter Content).
Parámetros: pares nombre-valor. Los siguientes nombres de parámetros están disponibles, pero no son obligatorios:
-
ImportMaximumErrors
: porcentaje de las líneas de archivo en un error que se puede producir para un objeto de negocio antes de que se detenga el proceso de importación. -
LoadMaximumErrors
: porcentaje de instancias de objetos de negocio en un error que se puede producir para un objeto de negocio antes de que se detenga el proceso de validación y carga. -
LoadConcurrentThreads
: número de threads simultáneos al validar o cargar. -
LoadGroupSize
: número de objetos de negocio procesados como única unidad de trabajo por un thread simultáneo. -
FileEncryption
: tipo de cifrado de archivo. Por ejemplo, cifrado basado en contraseña (PBE). -
DeleteSourceFile
: valorY
oN
. Si se define enY
o se deja en blanco, suprime el archivo de origen del servidor de WebCenter Content después de transferir el contenido del archivo a las tablas temporales del cargador de datos de HCM y ya no es necesario.
Por ejemplo, la etiqueta <ns1:Parameters>
puede contener los siguientes pares de nombre y valor:<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>
Acerca del método getDataSetStatus
El método getDataSetStatus
devuelve el estado actual del archivo de datos especificado.
Utilice este sobre para realizar una llamada a la función getDataSetStatus
en el servicio 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>
Los parámetros para el método getDataSetStatus
que se envían con el sobre son:
ContentId: ID de contenido del archivo en el servidor WebCenter Content (el mismo valor que el parámetro dDocName
en la llamada de Java WebCenter Content).
ProcessId: ID del proceso iniciado y devuelto por el método importAndLoadData
.
Generar una clase de proxy para llamar a HCM DataLoader
Una opción para llamar a un servicio web SOAP de Oracle Cloud HCM es utilizar clases de proxy generadas.
Puede generar clases de proxy proporcionando la URL del archivo WSDL de servicio al generador que desee. Estas clases de proxy se utilizan para llamar al servicio web.
Nota:
Los servicios web SOAP de Oracle Cloud HCM están protegidos por las políticas de seguridad de Oracle Web Services Manager (OWSM).Acerca de las implicaciones de seguridad al utilizar el cargador de datos de HCM
Cuando un cliente llama a un servicio web SOAP del cargador de datos de HCM, el posterior debe cumplir la política de protección de mensajes para garantizar que la carga útil se transporte de forma cifrada o a través de la capa de transporte SSL.
El servicio web HCMDataLoader
está protegido mediante la siguiente política de Oracle Web Services Manager: oracle/wss11_saml_or_username_token_with_message_protection_service_policy
.
En el cliente, puede utilizar la siguiente política de Oracle Web Services Manager:oracle/wss11_username_token_with_message_protection_client_policy
.
Para utilizar esta política, el mensaje se debe cifrar mediante una clave pública proporcionada por el servidor. Cuando el mensaje llega al servidor, la clave privada del servidor puede descifrar el mensaje. Puede crear un KeyStore
para importar el certificado proporcionado en el archivo WSDL del servicio; sin embargo, por motivos de seguridad, debe solicitar al usuario la contraseña de Oracle Cloud HCM cada vez que ejecute el código.
Puede crear un archivo de texto de propiedades que se pueda analizar en el código para acceder a la información de Keystore
, por ejemplo:
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=;
Solicite al usuario sus credenciales de Oracle Cloud HCM mediante lo siguiente:
// 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();
En el ejemplo, fusionUserPass
es una variable que se puede utilizar para almacenar la contraseña de Oracle Cloud HCM del usuario y, a continuación, transferir al servicio web SOAP del cargador de datos de HCM.
Llamar al servicio web SOAP DataLoader de HCM
Puede cargar datos de un archivo ZIP en Oracle Cloud HCM mediante el servicio web SOAP del cargador de datos de HCM desde una clase Java.
En primer lugar, cree un archivo ZIP y cárguelo en el servidor WebCenter Content, ya sea manualmente o mediante programación. A continuación, puede cargar los datos mediante el servicio web importAndLoadData
.
Nota:
Los ejemplos de código proporcionados en esta solución se probaron con JDK versión 8 para llamar a servicios web en Oracle WebLogic Server 12c. Para utilizarlo con otras versiones de JDK y Oracle WebLogic Server, pruebe el código con bibliotecas específicas de las versiones deseadas.