Skip to main content
 首页 » 编程设计

c#之在 .Net 3.5 Web 项目中使用 HTTPS Web 服务

2024年01月13日25exmyth

我正在尝试使用仅在 HTTPS 上运行的 Web 服务,但在 VS 中使用“添加服务”方法或使用 WSDL 生成代码文件给我留下了一个声明其 http 的 Web 服务...

  <wsdl:service name="OGServ">  
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">XML Web Services element of OGServ Gateway</wsdl:documentation>  
    <wsdl:port name="OGServSoap" binding="tns:OGServSoap">  
      <soap:address location="http://ogserv.domain.co.uk/ogwsrv/og.asmx" />  
    </wsdl:port>  
    <wsdl:port name="OGServSoap12" binding="tns:OGServSoap12">  
      <soap12:address location="http://ogserv.domain.co.uk/ogwsrv/og.asmx" />  
    </wsdl:port>  
  </wsdl:service>  

这是否是即使我将 app.config(由添加服务生成)端点地址更改为 https 时它仍表示需要 HTTP 的原因?

错误:

EC.Tests.OGGatewayLayerTest (TestFixtureSetUp): 
System.ArgumentException : The provided URI scheme 'https' is invalid; expected 'http'. 
Parameter name: via 

请您参考如下方法:

当您将 Web 服务添加到您的项目时,请使用“https”URI 方案。这将生成一个具有正确位置属性的 WSDL 文件。沿着这些线的东西:

https://ogserv.domain.co.uk/ogwsrv/og.asmx?WSDL

如果您手动编辑 WSDL,那么当您使用 Visual Studio 中的“更新服务”选项时,您的更改将被覆盖。