2010-04-22 46 views
12

我们有当前使用用户名和密码进行安全保护的OSB服务。尝试使用svcutil生成服务代理时,我遇到401未经授权的情况。我知道你需要设置一个svcutil.exe.config文件,但我找不到任何例子,只有通过证书的例子。将用户名和密码传递给svcutil.exe?

有谁知道如何使用svcutil发送用户名和密码?

回答

10

我不认为你可以做到这一点。

在这种情况下,您可以做的是在浏览器中连接到该地址,然后将WSDL文件下载并保存到本地磁盘,并在该本地副本上调用svcutil.exe - 或者要求该web服务的发布者给出您不需要身份验证的URL,或仅向您发送相关的WSDL和可能的XSD文件,以便您可以为该服务创建客户端代理。

+0

我确认你在说什么在这里:http://msdn.microsoft.com/en-us/library/ms733775.aspx 注: 您不能使用配置设置的用户名和密码。此处显示的配置必须使用代码来设置用户名和密码。 – webwires 2010-04-27 20:59:24

9

您无法在svcutil中进行身份验证,但可以在Windows中为目标计算机设置凭据。转到您的帐户管理页面,然后转到您的存储凭据。添加一个包含目标主机名和凭据的新条目。在此之后,您可以使用svcutil和URL。

+0

This Works!非常聪明。谢谢。但是,实际上,我建议OP只下载WSDL!无论如何,你的代码必然与服务接口相连。如果服务接口发生变化,与修改或测试与服务接口的实际更改相关的代码相比,更新wsdl文件的小手动步骤将变得微不足道。手动更新WSDL可以控制何时发生这种情况。 WSDL是一个合同,消费方应该知道它何时发生变化。 – DanO 2013-01-17 19:03:49

-2

试试这个。这应该适用于任何需要用户名和密码的网页。

svcutil http://user:[email protected]?wsdl 
+0

我尝试了这种格式,在URL中使用了嵌入式用户名和密码,但它没有起作用。 – 2014-10-22 18:45:09

相关问题