从Android应用程序中使用SAP NetWeaver网关服务

时间:2014-09-23 06:08:21

标签: android odata sap odata4j netweaver

我正在Android中开发一个使用SAP NetWeaver网关提供的OData服务的应用程序,我正在使用Odata4J库来消费服务。

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

当我从网络浏览器点击this URL时,它会提示"需要验证"对话框,我必须输入我的用户名和密码,然后我可以看到服务文档,架构文档等。

我的问题是:如何使用Odata4J通过我的请求传递凭据?成功验证后是否收到任何类型的令牌以验证进一步的请求?

1 个答案:

答案 0 :(得分:0)

您可以通过通话传递凭据。 OAUTH,SAML2,X509,Basic Auth等。

例如

   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);

通常系统(如果配置正确)将发出MYSAPSSO2 cookie。 该cookie可以随后的请求重新发送。

搜索Basic Auth和OdataConsumer,会出现一些例子。