cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How do i call SuccessFactors API From SAPUI5?

former_member239819
Participant
0 Likes
1,935

I'm trying to access a SAP Successfactors API from an AJAX Call in a SAPUI5 application.

I can access the API fine using POSTMAN, and providing the Basic Authentication credentials.

How do I supply these credentials directly in AJAX. I've tried numerous ways from numerous post but no method seems to work.

Response from Google Dev Tools (Console Tab)

Failed to load https://api2.successfactors.eu/odata/v2/PerPerson?$select=personId: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://webidetesting#####-#####.dispatcher.hana.ondemand.com' is therefore not allowed access.

Response from Google Dev Tools (Network Tab)

Authentication credentials are required.Please provide a valid username, password and company id

Ajax.

var aData = jQuery.ajax({
                type:"GET",
                contentType:"application/json",
                crossDomain:true,
                url:"https://api2.successfactors.eu/odata/v2/PerPerson?$select=personId",
                xhrFields:{
                    withCredentials:true},
                beforeSend:function(req){
                    req.setRequestHeader('Authorization','Basic '+ btoa('Username:Password'));
                    req.setRequestHeader('Access-Control-Allow-Origin','*');},
                headers:{"Authorization":"Basic "+ btoa("Username"+":"+"Password"),"Access-Control-Allow-Origin":"*"},
                username:"Username",
                password:"Password",
                dataType:"json",async:false,
                success:function(data, textStatus, jqXHR){
                    oModel.setData({
                        modelData: data
                    });
                    alert("success to post");},
                error:function(oError){
                    console.log(oError);}});

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member239819
Participant
0 Likes

The solution was to setup the DESTINATION (RFC) in our on-Premise ABAP system.

0 Likes

Hi

Any help with this?

former_member239819
Participant
0 Likes

I got round this using a DESTINATION. This works fine for Basic Authentication but what if the Authorization is custom ? E.g :

Authorization : PreoDay xxxxxxxxxxxxxxxxxxxx.

junwu
SAP Champion
SAP Champion
0 Likes

do you have any idea about same origin policy?