cancel
Showing results for 
Search instead for 
Did you mean: 

SAP HCI - Suceess Factors REST API call

Former Member
0 Kudos

Hello All,

We are trying to acess the REST API generateNextPersonID in Suceess Factors .How to configure the below artifact. I have given the SF url , Client ID as user@company fromat and client secret as pasword.But it is not working.Please help.

Regards,

Tibin

Accepted Solutions (1)

Accepted Solutions (1)

Sriprasadsbhat
Active Contributor
0 Kudos

Hello Tibin,

I am able to generate the person id without any issues,please find the below screenshot.

Regards,

Sriprasad Shivaram Bhat

Former Member
0 Kudos

Hello Sriprasad,

I need your vaulable inpus on the below issue.Please help.

Regards,

Tibin

Answers (10)

Answers (10)

Former Member
0 Kudos

Hello Sriprasad,

Your are correct .I tried last day and it is working .I was using // after http and it is affecting the employee id generation.

https://address:port/http//Kenexa

I just kept single slash as below and started working for me.

https://address:port/http/Kenexa

Regards,

Tibin

Former Member
0 Kudos

Hi - I am getting the same error above.. and I am using single slash only..but still getting the same error.

My flow is as below.

Content Modifier - I have set the Header where I have set the Authorization

and Calling the odata url to fetch the data..but I get the error message as

cause: org.apache.camel.RuntimeExchangeException: Cannot analyze the Exchange.HTTP_PATH header, due to: cannot find the right HTTP_BASE_URI on the exchange

Any pointers on the above error Message ?

Former Member
0 Kudos

Which API you are trying to access.

Former Member
0 Kudos

I am trying to access the Todo List API for which I have generated a user token and set in the header via content modifier before the call.

Former Member
0 Kudos

Try to test without HTTP Sender.

Use a Timer (Run Once)and check whether your Content Modifier properties which you are set are right before processing using HTTP sender call from Postman.

Sriprasadsbhat
Active Contributor
0 Kudos

Hello Tibin,

I have tried its working fine with Postman.Below is the response which I got.

Could you please share the URL which you have used in Chrome and the screenshot of Sender HTTP Channel.

Regards,

Sriprasad Shivaram Bhat

Former Member
0 Kudos

Hello Sriprasad,

I was able to generate the employee numbers as you have suggested.Below are working scenarios.

1.I am using time event and triggering the flow, it is working

2.I am using sender SOAP adpater and calling from SOAP UI, It s working

But, recently the requurement have been changed and client is going to send the payload using HTTP Post to HCI .So I have now HTTP sender as adpater.Recenlty we had a test from client system ( client is sending data via HTTP Post) and we are facing issue on employee number generation.I am not understanding why it is affecting.

To replicate that I used Postman ( an add on tool in Chrome for HTTP Post) and I am facing the same issue. Nothing got changed and everying is similar as it is , but facing the issue,

Please help with issue urgenlty.I am unbale to find out the cause, becuase functionaly everying the same , only the triggerung point changed. 😞

HTTP

Error -

org.apache.camel.CamelExchangeException: Error creating URL. Exchange[ID-vsa2156378-ash-od-sap-biz-34252-1493463727958-262-6]. Caused by: [org.apache.camel.RuntimeExchangeException - Cannot analyze the Exchange.HTTP_PATH header, due to: Cannot analyze the Exchange.HTTP_PATH header, due to: cannot find the right HTTP_BASE_URI on the exchange: Exchange[ID-vsa2156378-ash-od-sap-biz-34252-1493463727958-262-6] on the exchange: Exchange[ID-vsa2156378-ash-od-sap-biz-34252-1493463727958-262-6]], cause: org.apache.camel.RuntimeExchangeException: Cannot analyze the Exchange.HTTP_PATH header, due to: cannot find the right HTTP_BASE_URI on the exchange: Exchange[ID-vsa2156378-ash-od-sap-biz-34252-1493463727958-262-6]

SOAP

Regards,

Tibin

Former Member
0 Kudos

Sriprasad,

Thanks a lot..

Really helped all you suggestions.Looking forward your help in future as well.

Regards,

Tibin

Sriprasadsbhat
Active Contributor
0 Kudos

Hello Tibin,

Good to know it worked.

You can use //d:personID and you have to add the namespace mapping in runtime configuration.

Also please close the thread if issue is resolved.

Regards,

Sriprasad Shivaram Bhat

Former Member
0 Kudos

Sriprasad,

Thanks a lot Sriprasad 🙂 .I tried similar as you have mentioned.After configuring I got 401 instead of 411 which I was facing before..

I was using the below credential with successfactors check box ticked. So I created a new credential for HTTP call without ticking the check box .It worked.

Below is the response.

1 more basic question here, How do i set this person id generated to a content modifier property.I have doubt to mention the xpath .

Regards,

Tibin

Former Member
0 Kudos

Hello Sriprasad,

Thanks for your quick help.

I have maintained the header parameter in content modifier as you have suggested , but it is showing error log to maintain content-length.

So I have I have maintained the content length, content type as per below screen shot and tried , but same error am facing eventhogh i maintained content length. I have set the content- length to other digits as well and tried .Required your valubale help.

I have tried in REST full services ( chrome add on ) and I am able to get the response.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Also Please find the test I have tried as per below .Kindly suggest.

Regards,

Tibin Joseph

Sriprasadsbhat
Active Contributor
0 Kudos

Hello Tibin,

Have content Modifier before the Request Reply ( where you are calling HTTP url ) without any body.

Regards,

Sriprasad Shivaram Bhat

Former Member
0 Kudos

Hello SriPrasad,

I have tried as you have suggested, but I am facing below error.

Can you please what's going wrong.

Message processing failed.

org.apache.camel.component.ahc.AhcOperationFailedException: HTTP operation failed invoking https://url of SF/odata/v2/generateNextPersonID with statusCode: 411

Can you explain what is the below:

Make sure there is no data ( incoming data ) coming to this external call( You have to set it to null)

Regards,Tibin

Sriprasadsbhat
Active Contributor
0 Kudos

Hello Tibin,

You can use HTTP Receiver adapter with below Query.

https://SF-URL/odata/v2/generateNextPersonID

Make sure there is no data ( incoming data ) coming to this external call( You have to set it to null)

Regards,

Sriprasad Shivaram Bhat