【问题标题】:Passing username and password to svcutil.exe?将用户名和密码传递给 svcutil.exe?
【发布时间】:2010-04-22 18:25:47
【问题描述】:

我们目前有使用用户名和密码保护的 OSB 服务。我在尝试使用 svcutil 生成服务代理时收到 401 未授权。我知道您需要设置一个 svcutil.exe.config 文件,但除了通过证书的示例之外,我找不到任何示例。

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

【问题讨论】:

    标签: wcf web-services svcutil.exe oracle-service-bus osb


    【解决方案1】:

    我认为你做不到。

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

    【讨论】:

    • 我正在验证您在此处所说的内容:msdn.microsoft.com/en-us/library/ms733775.aspx 注意:您不能使用配置来设置用户名和密码。此处显示的配置必须使用代码进行扩充以设置用户名和密码。
    【解决方案2】:

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

    【讨论】:

    • 这行得通!非常聪明。谢谢。但是,实际上,我建议 OP 只下载 WSDL!无论如何,您的代码必须与服务接口耦合。如果服务接口发生变化,与服务接口的实际更改相关的修改或测试代码相比,更新 wsdl 文件的小手动步骤将是微不足道的。手动更新 WSDL 可以让您控制何时发生这种情况。 WSDL 是一个契约,当它发生变化时,消费方应该知道。
    【解决方案3】:

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

    svcutil http://user:password@someurl?wsdl
    

    【讨论】:

    • 我在 URL 中使用嵌入的用户名和密码尝试了这种格式,但它不起作用。
    猜你喜欢
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 2018-07-15
    • 2017-11-27
    相关资源
    最近更新 更多