2014-09-23 67 views
0

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

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

当我打从Web浏览器this URL,它会提示“需要验证”对话框,在这里我必须输入自己的用户名和密码,之后,我可以看到服务文档,架构文档等

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

回答

0

您可以在呼叫中传递凭证。 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可以随后的请求重新发送。

搜索Basic Auth和OdataConsumer,会显示几个示例。

+0

但是如何在ODataConsumer的对象中添加请求标头 – DCoder 2014-09-24 12:50:30

+0

抱歉使用了错误的语言示例 – 2014-09-24 13:10:06

相关问题