Web services 使用具有身份验证凭据的BizTalk web服务

Web services 使用具有身份验证凭据的BizTalk web服务,web-services,authentication,biztalk,Web Services,Authentication,Biztalk,我试图通过在SOAP适配器端口中提供凭据来使用BizTalk中的web服务 我键入Web服务URL,然后可以选择匿名、基本、摘要和NTLM身份验证类型 如何提供我的用户名、密码和域?。。当使用soapUI进行测试时,它工作得非常好 提供凭证的唯一方法是基本凭证或摘要凭证,但无论我填写什么,都会出现“未授权”错误 奇怪的是,当我选择NTLM身份验证类型时,它实际上可以工作,但当我没有提供凭据时,它如何获得访问权限。而且我的服务器无法直接访问该服务?您的问题中缺少详细信息- web服务的安全性如何?

我试图通过在SOAP适配器端口中提供凭据来使用BizTalk中的web服务

我键入Web服务URL,然后可以选择匿名、基本、摘要和NTLM身份验证类型

如何提供我的用户名、密码和域?。。当使用soapUI进行测试时,它工作得非常好

提供凭证的唯一方法是基本凭证或摘要凭证,但无论我填写什么,都会出现“未授权”错误


奇怪的是,当我选择NTLM身份验证类型时,它实际上可以工作,但当我没有提供凭据时,它如何获得访问权限。而且我的服务器无法直接访问该服务?

您的问题中缺少详细信息- web服务的安全性如何? 当你说它使用soapUI工作时-确切地说是怎样的?您是否检查了如何向服务提供凭据?可能是soapUI是在具有相关服务权限的用户下运行的,这就是它工作的原因(类似于在NTLM身份验证下工作的BizTalk调用?)

毫无疑问,您知道,要使用Basic或Digest,您只需在发送端口中提供正确的凭据,并且假设它们是正确的,并且web服务的配置是正确的,那么一切都应该正常工作

为了仔细测试这一点,我首先要确保您在一个没有调用服务权限的用户下运行任何客户端(soapUI或自定义测试代码),确保您知道凭据,并且使用正确的凭据从另一个客户端成功地调用了服务(例如,如果您提供了错误的密码,请证明它失败),然后在发送端口中使用相同的用户名/密码组合

顺便说一句,检查代理设置也很有用;如果是代理拒绝了请求,而不是服务,事情可能会变得相当混乱,就像我在一些场合遇到的那样


在所有情况下,Fiddler的HttpAnalyzer都可以非常有用地了解在线流量之后发生的情况

这是一个内部web服务吗?该web服务可能在NTLM下工作,因为BizTalk帐户有权访问该web服务。该服务不是内部的,而是在一个完全不同的网络上。该服务供应商以域、用户名和密码的形式向我提供了AD用户。只有提供了这些凭据,才能调用WSDL及其提供的服务。查看WSDL或调用其服务时,我需要以域、用户名和密码的形式提供AD用户凭据。soapUI允许我在对服务进行测试调用,我可以正常工作,但当然只有在提供了这些服务的情况下才能正常工作。在BizTalk中,在SOAP适配器中,我提供WSDL URL,在使用基本或摘要时,我的AD用户凭据无法工作。但在NTLM模式下,我奇怪地工作了。这是因为我在向BizTalk解决方案添加web引用时提供了这些服务吗?不完全是,当using NTLM模式使用发送主机运行时使用的凭据