peh*_*uen 5 c# service https certificate wsdl.exe
我一直在努力向提供商提供有关我在尝试使用其中一个WS时遇到的错误的更多信息.
他们让我使用wsdl.exe来执行以下命令:
wsdl.exe/l:CS /协议:SOAP/verbose/sharetypes https:example.com/?wsdl
我做到了,得到了:错误:处理' https://example.oom?wsdl '时出错.- 下载" https://example.com?wsdl "时出错. - 请求已中止:无法创建SSL/TLS安全通道.
事情是我有一个证书来导航" https://example.com?wsdl ",我认为它已正确安装.当我尝试在IE中转到该URL时,我只需要从列表中选择证书并给它一定的权限.然后显示wsdl.我让我的WS提供商告诉我如何告诉我命令:"使用ssl.使用此证书".他们告诉我问我的网络团队,但我没有这样的事情,所以我问谷歌,我发现:1)启用SSL/TLS(如果这意味着转到:IE> Internet选项>高级> SSL/TLS启用,我做了)和2)检查证书是否已安装且可用.我认为它是.
谁能告诉我我该怎么办?如何安装证书,但命令无法到达?
您是说您需要提供客户端证书才能导航到该网页?如果是这种情况,我不确定您是否可以wsdl.exe直接使用该工具连接到它.
但你不需要.在IE中加载WSDL并将其另存为XML,然后指向wsdl.exe该文件的本地副本.输出中唯一的区别是嵌入在代理类中的默认端点地址.您应该在运行时设置该值,但您始终只需编辑自动生成的C#代码并进行修复即可.实际的服务和数据合同以及实现代码将完全相同.
一个警告:如果这个WSDL是由WCF生成的,那么你还有一些额外的工作要做.WCF生成联合WSDL定义:通常有六个或更多单独的XSD文件构成整个WSDL定义.通常,连接相关信息可在一个文件中找到,而类型信息则使用以下标记从其他位置提取:
<wsdl:types>
<xsd:schema targetNamespace="foo">
<xsd:import schemaLocation="https://localhost/Foo.svc?xsd=xsd0" namespace="foo"/>
<xsd:import schemaLocation="https://localhost/Foo.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
<xsd:import schemaLocation="https://localhost/Foo.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Foo.Model"/>
<xsd:import schemaLocation="https://localhost/Foo.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System.Collections.ObjectModel"/>
</xsd:schema>
</wsdl:types>
Run Code Online (Sandbox Code Playgroud)
如果这是真的,您将需要做两件事来获得所需的WSDL:
<?include>指令或<wsdl:import>标签,这将引入第二个XML文件.您需要检查每个新文件,因为通常有二级和三级导入.将所有内容放入一个文件夹一旦完成,wsdl.exe应该运行正常.(在.NET 4.5中,内置支持动态展平WSDL文件,但在此之前,您必须手动执行此操作.)
| 归档时间: |
|
| 查看次数: |
8763 次 |
| 最近记录: |