我需要为客户端公开的服务生成WCF代理.该服务被严格锁定,因此这很难实现.另外,我是WCF的新手,所以我可能会遗漏一些明显的东西......
客户端只打开了我们生产服务器的防火墙 - 所以我无法在我的开发机器上从Visual Studio生成代理.此外,该服务仅通过HTTPS公开.它要求我们使用客户端证书进行身份验证...
我希望在生产盒上运行svcutil来生成.cs文件,然后在本地复制文件.但是svcutil拒绝运行,因为客户端使用的是自签名证书.它给了我以下错误:
底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.根据验证程序,远程证书无效.
我尝试将服务的证书添加为受信任的根证书,但这不起作用.在证书MMC管理单元中,我得到"Windows没有足够的信息来验证证书".
有没有办法绕过svcutil执行的安全检查?
当我远程访问生产服务器时,我可以从IE成功浏览到WSDL.我只需点击"继续浏览此网站(不推荐)".我还必须选择已安装的客户端证书,它可以正常工作.然后我可以通过IE手动下载WSDL和XSD文件.因此,另一种替代方案可能是从WSDL和XSD的本地副本生成WCF代理,而不是针对实时服务运行svcutil.但我不知道如何正确地做到这一点.
我尝试将静态WSDL和XSD文件放在我们托管的另一个网站上,并将
错误:导出期间生成的模式存在验证错误:源:行:1列:1415验证错误:complexType'http :// [domain-name]/Promotions/2009-02-17:InsertReferralPromo_Response '已经已经宣布.
我错过了一些明显的方法吗?或者我们应该要求客户放松他们的安全性?:)
谢谢你的帮助,你可以给我......
理查德