从Java应用程序中使用Sharepoint Office 365 Web服务

时间:2017-02-14 06:45:14

标签: java web-services sharepoint soap sharepoint-2013

我正在尝试从Java应用程序中使用Sharepoint Online Office 365开箱即用的Web服务(Lists.asmx)(从SoapUI 5.3开始)

我尝试了所有3种类型的身份验证(BasicNTLMSPNEGO/Kerberos),但总是出现403 FORBIDDEN错误

如果我添加X-FORMS_BASED_AUTH_ACCEPTED=f标头,我会获得401 UNAUTHORIZED或空的返回流,具体取决于身份验证类型

我已经检查过SharePoint 2010: consuming web services from NetSuite - 403 Forbidden error并尝试使用Authentication.asmx,但总是出现PasswordNotMatch错误,但我确定密码正确

我还检查了Authenticating Office 365 SharePoint Online OOTB services,但没有运气

所有测试都在Windows和Ubuntu环境中完成,以避免NTLM fails when consuming SharePoint web service from Java?

我用来连接到Sharepoint Online的用户可以。它具有管理员权限,我可以通过浏览器连接而没有任何问题。

我想念什么?

2 个答案:

答案 0 :(得分:3)

只能回答你告诉我们的事情:你必须看看你的服务要求的例子: http://www.webservicex.net/globalweather.asmx 这里的服务有这样的合同(wsdl): http://www.webservicex.net/globalweather.asmx?wsdl

哪个没有任何ws-security策略,因此不需要身份验证,但可能您的服务需要满足一些安全要求,您必须完成它们。

答案 1 :(得分:0)

这是我尝试使用Postman向SharePoint Web服务发出请求时发生的。当我以其他方式测试凭据时,我也收到了禁止的错误,并且它们工作正常。原来,这是另一个需要设置的参数,但显示为禁止。