0

SAP NetWeaver ゲートウェイによって提供される OData サービスを使用する Android でアプリケーションを開発しています。サービスを使用するために Odata4J ライブラリを使用しています。

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

Webブラウザーからこの URLにアクセスすると、「認証が必要です」ダイアログ ボックスが表示され、ユーザー名とパスワードを入力する必要があり、その後、サービス ドキュメント、スキーマ ドキュメントなどを表示できます。

私の質問は、Odata4J を使用してリクエストで資格情報を渡すにはどうすればよいですか? 認証が成功した後、追加のリクエストを認証するために何らかの種類のトークンを受け取りますか?

4

1 に答える 1

0

呼び出しで資格情報を渡すことができます。OAUTH、SAML2、X509、Basic認証など

例えば

   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 を検索すると、いくつかの例が表示されます。

于 2014-09-24T10:42:42.337 に答える