0

私は SBT を使用していませんが、Abdera を使用して、IBM SmarterCloud 上の現在のバージョンの Connections に対して直接 REST 呼び出しを行っています。問題の REST URL: https://apps.na.collabserv.com/search/serviceconfigs

観察

ラップトップから (Firefox と REST クライアント アドオンを使用して) テストすると、これは期待どおりに機能します。ATOM フィードが返ってきます。

同じ方法 (Firefox + REST クライアント) を使用して (別のネットワーク上の) サーバーからテストすると、ログイン ページである HTML が返されます。

さらに、同じサーバー上の Java プログラムから URL を呼び出すと、これと同じ結果が得られます。

いずれの場合も、基本認証で同じ資格情報を使用しています。

更新: サーバー上の Firefox の別のタブで最初に SmarterCloud にログインし、別のタブから以前と同じように URL を呼び出すと、機能します。必要に応じて ATOM フィードを取得します。当然、これは解決策としては不適切ですが、実際の解決策につながる可能性のある追加情報として提示します。

更新: さらなるテストにより、ローカル (ラップトップ) ログインがサーバーと同じ動作を示すことが示されています。同じブラウザーからのフォームベースのログインが必要であり、その後の REST 呼び出しが機能します。

更新: 関連する簡略化されたコード スニペットは次のとおりです。

private static Abdera ABDERA = new Abdera();
private static AbderaClient ABDERA_CLIENT = new AbderaClient(ABDERA);

...

String host = "https://apps.na.collabserv.com";
ABDERA_CLIENT.addCredentials(host, AuthScope.ANY_REALM, "basic", new UsernamePasswordCredentials("user", "password"));

...

ClientResponse response = ABDERA_CLIENT.get("https://apps.na.collabserv.com/search/serviceconfigs");

概要

発信元サーバーまたは呼び出しに関する何らかの原因により、SmarterCloud がログイン ページで応答しているようです。一方、ラップトップからの同じ呼び出しと資格情報は、期待どおりに機能します。

質問

これをトラブルシューティングするには、どこから始めればよいですか? プログラムによるログインを許可するクライアント資格情報を作成するにはどうすればよいですか?

応答ヘッダー

それが役立つ場合は、それぞれの場合に返される応答ヘッダーを次に示します。

失敗

Status Code: 200 OK
Cache-Control: no-cache
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 1850
Content-Type: text/html
Date: Tue, 08 Oct 2013 14:15:03 GMT
Pragma: no-cache
Server: WebSEAL/6.1.1.3 (Build 110428)
Set-Cookie: PD-H-SESSION-ID=4_0_IR4***masked***oRKlJI;secure; Path=/; HttpOnly BIGipServerE3A-WebSEAL-80-fe=2132806922.20480.0000;secure; path=/
Vary: Accept-Encoding
p3p: CP="NON CUR OTPi OUR NOR UNI"

成功

Status Code: 200 OK
Cache-Control: public, max-age=86400, s-maxage=86400, no-cache=set-cookie, private, must-revalidate
Content-Encoding: gzip
Content-Language: en-US
Content-Length: 1164
Content-Type: application/atom+xml; charset=UTF-8
Date: Mon, 07 Oct 2013 17:21:12 GMT
Expires: Tue, 08 Oct 2013 17:21:12 GMT
Server: WebSphere Application Server/8.0
Vary: Accept-Encoding
p3p: CP="NON CUR OTPi OUR NOR UNI"
x-lconn-auth: true
x-powered-by: Servlet/3.0
4

1 に答える 1