Skip to Content
avatar image
Former Member

Successfactors LMS sytem integration with ERP

Hi,

Actually my requirement is to fetch Employee learning history data from Successfactors LMS system to ERP system. By Using Rest API I can pull that data as shown in the below screen shot.

I tried to get data from LMS system to SAP ERP system as shown below, but I am getting 407  - ICM_HTTP_SSL_ERROR. Please let me know is there any possibility for this.

REPORT  ZZLMS_DMS_INTEGRATION_TEST.

DATA: lo_http_client     TYPE REF TO if_http_client,

       lv_service         TYPE string,

       lv_result          TYPE string,

       lo_ixml            TYPE REF TO if_ixml,

       lo_streamfactory   TYPE REF TO if_ixml_stream_factory,

       lo_istream         TYPE REF TO if_ixml_istream,

       lo_document        TYPE REF TO if_ixml_document,

       lo_parser          TYPE REF TO if_ixml_parser,

       lo_weather_element TYPE REF TO if_ixml_element,

       lo_weather_nodes   TYPE REF TO if_ixml_node_list,

       lo_curr_node       TYPE REF TO if_ixml_node,

       lv_value           TYPE string,

       lv_node_length     TYPE i,

       lv_node_index      TYPE i,

       lv_node_name       TYPE string,

       lv_node_value      TYPE string.

*DATA: lo_json TYPE REF TO /ui2/cl_json.

DATA: lv_json      TYPE string,

       lv_x_json    TYPE xstring,

       lv_subrc     TYPE sy-subrc,

       lv_errortext TYPE string.

lv_service = 'https://XXXXXX/learning/oauth-api/rest/v1/token'.

cl_http_client=>create_by_url(

   EXPORTING

     url                = lv_service

   IMPORTING

     client             = lo_http_client

   EXCEPTIONS

     argument_not_found = 1

     plugin_not_active  = 2

     internal_error     = 3

     OTHERS             = 4 ).

lo_http_client->request->set_method(

   method = if_http_request=>co_request_method_post ).

lo_http_client->request->if_http_entity~set_content_type(

   content_type = 'application/json' ).

lv_json = '{"grant_type": "client_credentials","scope":{"userId":"111035","companyId":"xxx-sbx","userType":"user","resourceType":"learning_public_api"},"client_id":"xxx-sbx",'

&& '"client_secret":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"'.

   lo_http_client->request->if_http_entity~set_cdata( data = lv_json ).

lo_http_client->send(

   EXCEPTIONS

     http_communication_failure = 1

     http_invalid_state         = 2 ).

lo_http_client->receive(

   EXCEPTIONS

     http_communication_failure = 1

     http_invalid_state         = 2

     http_processing_failed     = 3 ).

IF sy-subrc <> 0.

   CALL METHOD lo_http_client->get_last_error

     IMPORTING

       code    = lv_subrc

       message = lv_errortext.

   WRITE:/ 'Error: ', lv_subrc, '-', lv_errortext.

   EXIT.

ENDIF.


OUTPUT:   I am getting 407  - ICM_HTTP_SSL_ERROR.

Please help me is it possible to design code like this.

LMS.png (27.6 kB)
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Oct 23, 2015 at 03:38 PM

    Hello,

    Check your HTTP Method.When you pull the data I guess you should use get method instead of post.

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 23, 2015 at 03:27 PM

    Hi Kavitha,

    Can you check the necessary SFSF certificated as deployed properly with basis.

    Regards,

    Rashmi

    Add comment
    10|10000 characters needed characters exceeded