2

我有一个场景,我需要使用 svcutil.exe 使用服务,但服务的 wsdl 包含以下部分

<xsd:schema targetNamespace="http://tempuri.org/Imports">
  <xsd:import schemaLocation="http://mysite/service.svc?xsd=xsd0" namespace="http://tempuri.org/"/>
  <xsd:import schemaLocation="http://mysite/service.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
  <xsd:import schemaLocation="http://mysite/service.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Pensjonskalkulator"/>
  <xsd:import schemaLocation="http://mysite/service.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
</xsd:schema>

问题是这些模式位置只能通过网络代理访问。如果我在 IE 设置中设置代理,我可以浏览 IE 中的架构位置。但看起来 svcutil.exe 在下载这些额外架构时会忽略这些设置。

下载额外信息时,如何让 svcutil.exe 使用我的 webproxy?

更新:实际上,在 Internet Explorer 中输入的代理设置适用于 svcutil.exe。是其他不相关的问题导致了我的问题。

4

2 回答 2

1

您可以将其添加到 svcutil.config

<system.net>   
  <defaultProxy>     
     <proxy proxyaddress="http://your.proxy.com:8080"  bypassonlocal="true" /> 
  </defaultProxy>
</system.net>

如果您的代理需要身份验证,请参阅此答案以提供用户名/密码和/或域。

于 2011-02-09T10:00:34.140 回答
1

可以通过在 Internet Explorer -> 工具 -> Internet 选项 -> 连接 -> LAN 设置 -> 代理服务器中设置它来指定 svcutil.exe 使用的代理,然后指定地址和端口。

于 2011-02-09T14:39:54.407 回答