【问题标题】:Consuming SAP NetWeaver Gateway Services from Android app从 Android 应用程序使用 SAP NetWeaver Gateway 服务
【发布时间】:2014-09-23 06:08:20
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: android odata odata4j sap-gateway


    【解决方案1】:

    您可以通过调用传递凭据。 OAUTH、SAML2、X509、基本认证等

    例如

       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,会显示一些示例。

    【讨论】:

    • 但是如何在 ODataConsumer 的对象中添加请求头
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2011-05-11
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    相关资源
    最近更新 更多