0

I am developing an application in Android which consumes OData services provided by SAP NetWeaver gateway, I am using Odata4J library for consuming services.

ODataConsumer consumer = ODataConsumers
 .create("https://sapes1.sapdevcenter.com/sap/opu/odata/IWFND/RMTSAMPLEFLIGHT/");

when I am hitting this URL from web browser, it prompts "Authentication Required" dialog box where I have to enter my username and password and after that I can see service document, schema document etc.

My question is: how can I pass credentials with my request using Odata4J? Do I receive any kind of token after successful authentication for authenticating further requests?

Boghyon Hoffmann
  • 17,103
  • 12
  • 72
  • 170
DCoder
  • 3,486
  • 7
  • 36
  • 68

1 Answers1

0

You can pass credentials with the call. OAUTH,SAML2,X509, Basic Auth etc.

eg

   ODataConsumer.newBuilder(serviceUri).setClientBehaviors(OClientBehaviors.basicAuth(user,
   password)).build();


  //sorry this was the c# 
  var creds = username + ":" + password;
  var encodedCreds = Convert.ToBase64String(Encoding.ASCII.GetBytes(creds));
  requestHeaders.Add("Authentication", "Basic" + encodedCreds);

Normally the system (if configured properly) will issue a MYSAPSSO2 cookie. This cookie can be re-sent with subsequent requests.

search for Basic Auth and OdataConsumer, a few examples will show up.

phil soady
  • 11,043
  • 5
  • 50
  • 95