Я разрабатываю клиент веб-службы sharepoint с Apache CXF, и у меня возникает много проблем с аутентификацией NTLM, когда клиент работает на сервере weblogic.CXF-клиент NTLM-аутентификация на weblogic
Если я бегу простой тест на Eclipse, код работает отлично, но если я запускаю тот же код на веб-приложения, развернутого на WebLogic 10.3.6, аутентификация NTLM не удается, и посылает следующее сообщение об ошибке:
org.apache.cxf.transport.http.HTTPException: HTTP response '401: Unauthorized' when communicating with http://win-server-2008/sitios /sitio_registro/_vti_bin/Lists.asmx
Я не знаю, в чем может быть разница между запуском одного и того же кода в тесте и веб-приложением, развернутым в weblogic. Есть идеи?
Код snipet аутентификации:
Client client = ClientProxy.getClient(listsSoap);
HTTPConduit http = (HTTPConduit) client.getConduit();
if (http instanceof AsyncHTTPConduit) {
AsyncHTTPConduit conduit = (AsyncHTTPConduit) http;
DefaultHttpAsyncClient defaultHttpAsyncClient;
try {
defaultHttpAsyncClient = conduit.getHttpAsyncClient();
} catch (IOException exception) {
throw new RuntimeException(exception);
}
Credentials credentials = new NTCredentials(conexionSharepointConfigVO.getUser(), conexionSharepointConfigVO.getPwd(), "", "");
defaultHttpAsyncClient.getCredentialsProvider().setCredentials(AuthScope.ANY,credentials);
((BindingProvider) listsSoap).getRequestContext().put(Credentials.class.getName(), credentials);
}
UPDATE: Я тестировал тот же код в Tomcat 6.0.43 и он работает нормально.
В какой учетной записи работает ваш WebLogic? –
Учетная запись администратора Windows, но я понял, что не начинаю weblogic как администратор. Можно ли запустить weblogic в качестве администратора? –
Как вы начинаете? Вы работаете как служба Windows или из командной строки? –