cancel
Showing results for 
Search instead for 
Did you mean: 

HCP oData Provisioning and X-CSRF-Token

Former Member
0 Kudos

Hi support,

I'm not able to call a "CREATE" or "UPDATE" oData service registered in "oData Provisioning service"...

I always receive a 403 HTTP error (the same as if I do not pass any CSRF Token...);

I'll try to explain my tests, could you please help me in some way?

I develop an oData Service (SEGW transaction) and, at first, I publish it using /IWFND/MAINT_SERVICE transaction;

SAP Gateway Client - Local service

- If I test both GET and POST call via SAP Gateway Client all works; I could not manually set "X-CSRF-Token : Fetch" header parameter in GET call, since the Gateway Client show a message saying: "CSRF Token is handled by SAP Gateway Client"; in fact, when I test POST call, X-CSRF-Token header parameter is set automatically by the Test Client;

ARC - Local service

If I test both GET and POST call via ARC (Advanced Rest Client, a Chrome plugin used to do REST calls), all works well; in this case I have to manually ask X-CSRF-Token to the system (doing a GET call with "X-CSRF-Token : Fetch" header parameter); the response would contain a valid X-XSRF-Token I can use in the next POST call;

ARC - oData provisioning

My next step was to register this service in oData Provisioning HCP service:

- GET calls works well; if I set the "X-CSRF-Token : Fetch" parameter, oData response has a CSRF token in the header parameters;

- If I do a POST call, I always obtain a 403 HTTP error (both if I pass the CSRF token or NOT); in the response header I see a "X-Csrf-token : required" header parameter...;

Considerations:

- My user has both GW_ADMIN and GW_USER role in oData Provisioning service;

- CSRF token returned by the GET call is, in some way, different from the one returned by the oData published locally (only numbers in it and longer);

- Trying to pass a CSRF token obtained doing a GET call in "local" service to the "Cloud" service obviously do not work 🙂

- No log / error shown in oData Provisioning "Troubleshooting" section (obviously, no error also in the BACK-END system, since I'm not authorized to do a call and the system is not called at all);

- I'm using an HCP account (not a trial one);

Thanks to all,

BR

Manuel

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi all, at the end solution found:

http://scn.sap.com/thread/3786067

When using ARC, you sould pass both X-Csrf_Token and Cookie generated dring GET call.

Thanks,

Manuel

Answers (0)