有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

SharePoint 2010 REST Java身份验证

我很高兴使用PowerShell访问SharePoint。它只是选择了默认凭证,我不必为此担心。那是为了原型设计

但我的实际代码是Java。现在我一点也不确定

即使我进行REST调用,如果我没有正确地进行身份验证,即使SOAP也会失败

方法1:NTLM

在这里,我唯一不确定的是工作站ID。我使用Citrix登录到VM,并且有一个显式的工作站ID。我使用它。 返回401

        DefaultHttpClient client = new DefaultHttpClient();

        HttpGet request = new HttpGet("http://teams.host.com/_vti_bin/listdata.svc/");

        NTCredentials credentials = new NTCredentials("user", 'pass', "workstation", "Domain");

        client.getCredentialsProvider().setCredentials(new AuthScope("teams.host.com",80), credentials);

        HttpResponse response = client.execute(request);

方法2:基本身份验证

        HttpGet request = new HttpGet("http://teams.host.com/_vti_bin/listdata.svc/");

        CredentialsProvider credentialsProvider = new BasicCredentialsProvider();

        credentialsProvider.setCredentials(AuthScope.ANY, 
                                           new UsernamePasswordCredentials("user", "password"));
        CloseableHttpClient httpClient = 
                    HttpClientBuilder.create().setDefaultCredentialsProvider(credentialsProvider).build();


        HttpResponse response = httpClient.execute(request);

返回401

我还可以用什么方法?消化因为我不知道PowerShell中的DefaultCredential是如何工作的,所以我又回到了绘图板上

我该如何调查这件事?我一定是在这段Java代码中犯了一些基本的错误。流程不对。这是我的猜想


共 (0) 个答案