我正在尝试从Java应用程序中使用Sharepoint Online Office 365开箱即用的Web服务(Lists.asmx
)(从SoapUI 5.3
开始)
我尝试了所有3种类型的身份验证(Basic
,NTLM
,SPNEGO/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的用户可以。它具有管理员权限,我可以通过浏览器连接而没有任何问题。
我想念什么?
答案 0 :(得分:3)
只能回答你告诉我们的事情:你必须看看你的服务要求的例子: http://www.webservicex.net/globalweather.asmx 这里的服务有这样的合同(wsdl): http://www.webservicex.net/globalweather.asmx?wsdl
哪个没有任何ws-security策略,因此不需要身份验证,但可能您的服务需要满足一些安全要求,您必须完成它们。
答案 1 :(得分:0)
这是我尝试使用Postman向SharePoint Web服务发出请求时发生的。当我以其他方式测试凭据时,我也收到了禁止的错误,并且它们工作正常。原来,这是另一个需要设置的参数,但显示为禁止。