JavaからSharepoint2010oDataサービスを呼び出しているため、400エラーが発生します。同じコード(NTLMを使用)を介して、XML形式のSharepoint2010リストに正常に接続できます。
SSL暗号化とNTLM認証の両方を使用する関連する投稿HttpClientが失敗し、同じサービス(listdata.svc)と400エラーについて話しているのがわかります。
上記の投稿のエラーを解決するために使用された正確な設定を知っている人はいますか?IISの.NET承認ルールを参照しているかどうかを誰かが知っていますか?
IIS7.5を使用しています。
私のコードは次のようになります。
String responseText = getAuthenticatedResponse(Url, domain, userName, password);
System.out.println("response: " + responseText);
このメソッドは、Java1.6HTTPURLConnectionを使用します。
private static String getAuthenticatedResponse(
final String urlStr, final String domain,
final String userName, final String password) throws IOException {
StringBuilder response = new StringBuilder();
Authenticator.setDefault(new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(
domain + "\\" + userName, password.toCharArray());
}
});
URL urlRequest = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) urlRequest.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("GET");
InputStream stream = conn.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(stream));
String str = "";
while ((str = in.readLine()) != null) {
response.append(str);
}
in.close();
return response.toString();
}
私が得るエラーは次のとおりです:
Response Excerpt:
HTTP/1.1 400 Bad Request..Content-Type: application/xml
<message xml:lang="en-US">Media type requires a '/' character. </message>
同様の問題は、Microsoftソーシャルメディアタイプで言及されています。誰かがこれに遭遇し、これを解決する方法を知っていますか?
どんな助けでも大歓迎です!
バニータ