استخدام خدمة الويب لتكامل محمل بيانات HCM
يمكنك استخدام خدمة ويب HCM Data Loader SOAP لاستيراد ملفات البيانات التي يتم تخزينها مؤقتًا في خادم WebCenter Content وتحميلها. يمكنك معالجة ملفات البيانات هذه يدويًا من صفحة استيراد البيانات وتحميلها في واجهة مستخدم Oracle Cloud HCM.
يجب أولاً تثبيت Oracle JDeveloper 11.1.1.9، للحصول على المكتبات المطلوبة لاستدعاء خدمات ويب SOAP من Oracle Cloud HCM.
حول HCM Data Loader Integration Service
يمكنك استخدام خدمة ويب SOAP لـ Oracle Cloud HCM لتحميل الملفات باستخدام واجهة برمجة تطبيقات SOAP.
يمكنك الحصول على تفاصيل خدمة الويب Data Loader Service من Oracle Fusion Cloud Human Resources في ارتباط اتصال المطور، ضمن أدوات في قائمة المستكشف، تمامًا مثل أي خدمة ويب SOAP أخرى.
يمكنك استدعاء خدمة ويب SOAP بعد وضع ملف ZIP الذي يحتوي على ملفات DAT على خادم WebCenter Content. ثم يمكنك تأمينه باستخدام حساب hcm/dataloader/import
. يمكن استخدام خدمة الويب هذه لاستيراد البيانات وتحميلها في Oracle Cloud HCM.
حول ظروف SOAP لاستدعاء محمل بيانات HCM
ويب HCMDataLoader
SOAP: http://{Host}/hcmCommonDataLoader/HCMDataLoader
حول أسلوب importAndLoadData
يبدأ الأسلوب importAndLoadData
معالجة ملف بيانات مستضاف على خادم WebCenter المحتوى. وهي مهمة غير متزامنة تعرض ProcessId
فقط للعملية التي تم تنفيذها.
استخدم هذا المظروف لإجراء استدعاء لدالة importAndLoadData
في خدمة ويب 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>
معلمات أسلوب importAndLoadData
التي يتم إرسالها مع المظروف هي:
ContentId: معرف محتوى الملف على خادم WebCenter Content (نفس قيمة معلمة dDocName
في استدعاء WebCenter Content Java).
المعلمات: أزواج الاسم-القيمة. تتوفر أسماء المعلمات التالية، ولكنها ليست إلزامية:
-
ImportMaximumErrors
: نسبة سطور الملفات التي بها خطأ والتي يمكن حدوثها لوحدة العمل قبل إيقاف عملية الاستيراد. -
LoadMaximumErrors
: نسبة طبعات وحدات الأعمال التي بها خطأ والتي يمكن حدوثها في وحدة العمل قبل إيقاف عمليتي المراجعة والتحميل. -
LoadConcurrentThreads
: عدد سلاسل العمليات المتزامنة عند المراجعة أو التحميل. -
LoadGroupSize
: عدد كائنات الأعمال التي تمت معالجتها كوحدة عمل فردية بواسطة سلسلة عمليات متزامنة. -
FileEncryption
: نوع تشفير الملف. على سبيل المثال، التشفير المستند إلى كلمة السر (PBE). -
DeleteSourceFile
: القيمةY
أوN
. في حالة التعيين إلىY
أو تركه فارغًا، يتم حذف الملف المصدر من خادم WebCenter Content بعد نقل محتوى الملف إلى جداول مراحل محمل بيانات HCM ولم يعد مطلوبًا.
على سبيل المثال، يمكن أن تحتوي علامة <ns1:Parameters>
على أزواج الاسم والقيمة التالية:<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>
حول الأسلوب getDataSetStatus
يرجع الأسلوب getDataSetStatus
الحالة الحالية لملف البيانات المحدد.
استخدم هذا المظروف لإجراء استدعاء لدالة getDataSetStatus
في خدمة ويب 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>
معلمات أسلوب getDataSetStatus
التي يتم إرسالها مع المظروف هي:
ContentId: معرف محتوى الملف على خادم WebCenter Content (نفس قيمة معلمة dDocName
في استدعاء WebCenter Content Java).
ProcessId: معرف العملية التي تم بدؤها وإرجاعها بواسطة الأسلوب importAndLoadData
.
تكوين كلاس Proxy لاستدعاء HCM DataLoader
أحد خيارات استدعاء خدمة ويب Oracle Cloud HCM SOAP هو استخدام طبقات الوكيل المنشأة.
يمكنك إنشاء فئات الوكيل عن طريق توفير عنوان URL لملف WSDL للخدمة إلى المنشئ الذي تختاره. يتم استخدام فئات الوكيل هذه لاستدعاء خدمة الويب.
ملاحظة:
تتم حماية خدمات ويب Oracle Cloud HCM SOAP بواسطة سياسات تأمين Oracle Web Services Manager (OWSM).حول تأثيرات الأمان عند استخدام محمل بيانات HCM
عندما يقوم العميل باستدعاء خدمة ويب HCM Data Loader SOAP، يجب أن يفي الأخير بنظام حماية الرسائل للتأكد من نقل الحمولة بطريقة مشفرة أو عبر طبقة نقل SSL.
يتم تأمين خدمة الويب HCMDataLoader
باستخدام سياسة Oracle Web Services Manager التالية: oracle/wss11_saml_or_username_token_with_message_protection_service_policy
.
في جانب العميل، يمكنك استخدام نظام Oracle Web Services Manager التالي:oracle/wss11_username_token_with_message_protection_client_policy
.
لاستخدام هذا النهج، يجب تشفير الرسالة باستخدام مفتاح عام يوفره الخادم. عندما تصل الرسالة إلى الخادوم، يمكن فك تعمية الرسالة بواسطة المفتاح الخاص للخادوم. يمكنك تكوين KeyStore
لاستيراد الشهادة المقدمة في ملف WSDL للخدمة، ولكن لأسباب أمنية يجب مطالبة المستخدم بكلمة سر Oracle Cloud HCM عند تشغيل التعليمة البرمجية.
يمكنك إنشاء ملف نص خصائص يمكن تحليله في التعليمات البرمجية للوصول إلى معلومات Keystore
، على سبيل المثال:
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=;
طالب المستخدم بصلاحيات Oracle Cloud HCM الخاصة به باستخدام ما يلي:
// 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();
في المثال، fusionUserPass
هو متغير يمكن استخدامه لتخزين كلمة سر Oracle Cloud HCM الخاصة بالمستخدم، ثم تمريره إلى خدمة ويب HCM Data Loader SOAP.
استدعاء خدمة ويب HCM DataLoader SOAP
يمكنك تحميل البيانات من ملف ZIP إلى Oracle Cloud HCM باستخدام خدمة ويب HCM Data Loader SOAP من فئة Java.
قم أولاً بتكوين ملف ZIP وتحميله إلى خادم WebCenter Content إما يدويًا أو برمجيًا. ثم يمكنك تحميل البيانات باستخدام خدمة الويب importAndLoadData
.
ملاحظة:
تم اختبار عينات التعليمات البرمجية المتوفرة في هذا الحل باستخدام الإصدار 8 من JDK لاستدعاء خدمات الويب على Oracle WebLogic Server 12c. للاستخدام مع إصدارات JDK وOracle WebLogic Server الأخرى، اختبر التعليمات البرمجية باستخدام مكتبات خاصة بالإصدارات المطلوبة.