【问题标题】:How to run svcutil.exe from behind authenticating proxy如何从身份验证代理后面运行 svcutil.exe
【发布时间】:2013-02-27 23:11:09
【问题描述】:

我想运行svcutil.exe 工具来访问互联网上的网络服务。不幸的是,每当我尝试时,都会收到一堆错误,其中包括以下消息:

请求失败,HTTP 状态为 407:需要代理身份验证(ISA 服务器需要授权才能完成请求。拒绝访问 Web 代理过滤器。

正如我从this related postmore details here)那里了解到的,问题是我坐在身份验证代理后面。那篇文章解释说我需要编辑app.config 文件,但我不知道该怎么做。我想我会使用/svcutilConfig:alternate_app.config 开关,但我不知道如何构造一个有效的.config 文件来传递给该开关。 svcutil.exe 使用的默认 app.config 文件是什么?

【问题讨论】:

    标签: wcf svcutil.exe


    【解决方案1】:

    好吧,我想我已经找到了问题的答案:

    原来svcutil.exe 使用的默认.config 文件名为svcutil.exe.config,并且(至少对我而言)它位于此文件夹中:

    C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin
    

    我决定直接编辑该文件(而不是摸索/svcutilConfig 开关)。我需要管理员权限才能这样做。

    该文件的最终内容如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <runtime>
        <generatePublisherEvidence enabled="false" />
      </runtime>
      <system.net> 
        <defaultProxy useDefaultCredentials="true" /> 
      </system.net>
    </configuration>
    

    (隐藏在&lt;system.net&gt;元素中的秘诀。)

    为了让这一切正常工作,我必须以管理员身份启动命令提示符,导航到上面列出的文件夹,然后从那里运行 svcutil.exe 命令。

    希望这可以帮助其他陷入困境的可怜人!感谢@AndrewWebb 为我提供的线索!

    【讨论】:

    • 是的,我也必须为 SvcUtil 执行此操作。对于 Web 应用程序,web.config 保留为“web.config”,但对于桌面应用程序,源代码中的 app.config 变为“.exe.config”,如您所见。手动编辑 svcutil.exe.config(和类似文件)对我来说已经非常熟悉了!另外:如果您首先遇到没有配置文件的桌面应用程序,您始终可以创建一个具有正确名称的应用程序,在 defaultProxy 配置中敲击,然后将其保存到 .exe 文件夹中住在。
    • 如果 svcutil.exe.config 不存在,您可以像上面的 kmote 一样创建它,它会正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 2023-03-25
    相关资源
    最近更新 更多