プロキシサーバーを介してApache Client 4.5を使用して、私のservice-nowインスタンスに接続しようとしています。残念ながら、接続は以下の例外を除いて失敗しています。Apache Http Client 4.5 ServiceNowに統合する際の認証例外
HTTP/1.1 401不正 { "エラー":{ "メッセージ": "ユーザーが認証されない"、 "詳細": "認証情報を提供するために必要な"}、 "ステータス": "失敗"}
これは認証の例外が原因であることを理解できますが、以下のように資格情報を提供しているようです。
コードスニペット:ブラウザで試したとき、私は私がURLへのアクセス権を持っていることを前提とし
public void getRequestWithProxy() throws ClientProtocolException, IOException
{
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope("proxy.xxxx.com", 0000),
new UsernamePasswordCredentials("proxyuser", "proxypassword"));
credsProvider.setCredentials(
new AuthScope("instance.service-now.com", 443),
new UsernamePasswordCredentials("username", "password"));
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider).build();
try {
HttpHost target = new HttpHost("instance.service-now.com", 443, "https");
HttpHost proxy = new HttpHost("proxy.xxxx.com", 0000);
RequestConfig config = RequestConfig.custom()
.setProxy(proxy)
.build();
HttpGet httpget = new HttpGet("/api/now/table/incident");
httpget.setConfig(config);
System.out.println("Executing request " + httpget.getRequestLine() + " to " + target + " via " + proxy);
CloseableHttpResponse response = httpclient.execute(target, httpget);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
System.out.println(EntityUtils.toString(response.getEntity()));
} finally {
response.close();
}
} finally {
httpclient.close();
}
}
は同じURLので、「https://instance.service-now.com/api/now/table/incident」にアクセスしていますが、SSO(シングル歌うオン)を使用して正常に動作します。
紛失しているものを手伝ってください。
ありがとうございました。
ありがとうございます。