Java weblogic上的CXF客户端NTLM身份验证

Java weblogic上的CXF客户端NTLM身份验证,java,web-services,weblogic,cxf,ntlm,Java,Web Services,Weblogic,Cxf,Ntlm,我正在使用ApacheCXF开发一个sharepoint web service客户端,当客户端在weblogic服务器上运行时,我在NTLM身份验证方面遇到了很多问题 如果我在Eclipse上运行一个简单的测试,代码就可以正常工作,但是如果我在weblogic 10.3.6上部署的web应用程序上运行相同的代码,NTLM身份验证将失败并发送以下错误: org.apache.cxf.transport.http.HTTPException: HTTP response '401: Unautho

我正在使用ApacheCXF开发一个sharepoint web service客户端,当客户端在weblogic服务器上运行时,我在NTLM身份验证方面遇到了很多问题

如果我在Eclipse上运行一个简单的测试,代码就可以正常工作,但是如果我在weblogic 10.3.6上部署的web应用程序上运行相同的代码,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上的web应用程序上运行相同的代码有什么区别。有什么想法吗

身份验证代码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);
        }

更新:我在Tomcat 6.0.43中测试了相同的代码,它工作正常。

您可以创建一个Windows服务,将服务设置为在所需帐户下运行,或者在打开命令提示符时使用“以不同用户身份运行”选项,以便WebLogic将以所需用户的身份从命令行启动。

您的WebLogic进程是哪个帐户以windows管理员帐户运行,但我意识到我没有以管理员身份启动weblogic。是否可以以管理员身份启动weblogic?如何启动服务器?您是作为Windows服务运行还是从命令行运行?我是从命令行启动weblogic在这种情况下,weblogic应该在您登录到服务器的任何用户下启动。这不是你看到的吗?