asp.net使用wsdl文件调用接口,以及调用SSL接口报错“根据验证过程 远程证书无效”的处理
1.调用wsdl接口,首先需要将wsdl文件转换为cs文件:
进入VS 开发人员命令提示行,输入如下命令:
c:/Program Files/Microsoft Visual Studio 8/VC>wsdl /language:c# /n:wsdlLib /out:c:/TestService.cs http://211.138.102.146:8092/FBI2BOSSInterFace.asmx?wsdl
注意:http://211.138.102.146:8092/FBI2BOSSInterFace.asmx?wsdl 为wsdl 地址,
也可以是wsdl路径:C:/Temp/TestService.wsdl
重要参数解析:
/language:
用于生成的代理类的语言。请从“CS”、“VB”、“JS”、“VJS”、
“CPP”中选择,或者为实现 System.CodeDom.Compiler.CodeDomProvider
的类提供一个完全限定的名称。默认语言为“CS”(CSharp)。
缩写形式为“/l:”。
/namespace:
生成的代理或模板的命名空间。默认命名空间
为全局命名空间。缩写形式为“/n:”。
/out:
生成的代理代码的文件名或目录路径。默认文件名是从
服务名派生的。缩写形式为“/o:”。
其他参数详细解析:
wsdl.exe <选项> ...
- 选项 -
-
指向 WSDL 协定、XSD 架构或 .discomap 文档的 URL 或路径。
/nologo
取消显示版权标志。
/language:
用于生成的代理类的语言。请从“CS”、“VB”、“JS”、“VJS”、
“CPP”中选择,或者为实现 System.CodeDom.Compiler.CodeDomProvider
的类提供一个完全限定的名称。默认语言为“CS”(CSharp)。
缩写形式为“/l:”。
/sharetypes
打开类型共享功能。此功能针对不同服务之间共享
的相同类型(命名空间、名称和网络签名必须相同)
创建一个具有单一类型定义的代码文件。
请使用 http:// URLs 作为命令行参数来引用
服务,或为本地文件创建一个 discomap 文档。
/verbose
指定 /sharetypes 开关时显示额外信息。
缩写形式为“/v”。
/fields
生成字段而非属性。缩写形式为“/f”。
/order
为粒子成员生成显式顺序标识符。
/enableDataBinding
在所有生成的类型上实现 INotifyPropertyChanged 接口,
以启用数据绑定。缩写形式为“/edb”。
/namespace:
生成的代理或模板的命名空间。默认命名空间
为全局命名空间。缩写形式为“/n:”。
/out:
生成的代理代码的文件名或目录路径。默认文件名是从
服务名派生的。缩写形式为“/o:”。
/protocol:
重写要实现的默认协议。请从“SOAP”、“SOAP12”、
“HttpGet”、“HttpPost”中选择。
/username:
/password:
/domain:
连接到要求身份验证的服务器时使用的凭据。
缩写形式为“/u:”、“/p:”和“/d:”。
/proxy:
用来处理 HTTP 请求的代理服务器的 URL。
默认为使用系统代理服务器设置。
/proxyusername:
/proxypassword:
/proxydomain:
连接到要求身份验证的代理服务器时使用的凭据。
缩写形式为“/pu:”、“/pp:”和“/pd:”。
/appsettingurlkey:
在代码生成中用来读取 URL 属性的
默认值的配置项。默认为不从配置
文件中读取。缩写形式为“/urlkey:”。
/appsettingbaseurl:
计算 URL 段时使用的基 URL。
还必须指定 appsettingurlkey 选项。URL 段是
从 appsettingbaseurl 计算
WSDL 文档中的 URL 的相对 URL 的结果。缩写形式为“/baseurl:”。
/parsableerrors
输出错误,其格式与编译器报告的格式类似。
- 高级 -
/server
服务器开关已被否决。请改用 /serverInterface。
使用基于协定的 ASP.NET,为 Xml Web Services 实现
生成抽象类。默认情况下,生成客户端代理
类。
/serverInterface
为 ASP.Net Web 服务的服务器端实现生成
接口。将为 wsdl 文档中的每个绑定生成
一个接口。wsdl 单独实现 wsdl 协定(实现
接口的类在类方法上不应包括下列任意一项:
更改 wsdl 协定的 Web 服务属性或序列化
属性)。缩写形式为“/si”。
/parameters:
从指定的 xml 文件读取命令行选项。这样可以
指定命令行中无法使用的选项,例如选择
生成的异步编程模型类型。有关详细信息,
请参阅工具文档。缩写形式为“/par:”。
2.调用SSL接口报错,是因为SSL网站证书不可用或者到期等问题,默认阻止了程序对其的访问
1. 发生以下任一操作为真:该证书是自签名的,而不是增加一条,作为凭证。 该证书已过期。 该证书是由那不是你的机器上安装根证书签名。 吊销列表进行探讨,但不能尝试获得对服务器的证书,看看您是否需要安装客户端端上的任何特定的证书来得到它的工作。
2. .NET是看到在连接的另一端无效的SSL证书。有一种解决方法,但不是生产代码:
// Put this somewhere that is only once - like an initialization method ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateCertificate); ... static bool ValidateCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; }
3. 更短的版本,上面的解决方案:
ServicePointManager.ServerCertificateValidationCallback += (o, c, ch, er) => true;
asp.net使用wsdl文件调用接口,以及调用SSL接口报错“根据验证过程 远程证书无效”的处理的更多相关文章
- 调用webservice接口,报错:(十六进制值0x01)是无效的字符
#事故现场 调用webservice接口,报错:(十六进制值0x01)是无效的字符. 如图: 意思是webservice返回的信息中包含无效的字符,无法解析成xml: #分析 使用postman向we ...
- ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法
原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...
- 【原创】大叔问题定位分享(20)hdfs文件create写入正常,append写入报错
最近在hdfs写文件的时候发现一个问题,create写入正常,append写入报错,每次都能重现,代码示例如下: FileSystem fs = FileSystem.get(conf); Outpu ...
- iOS-C文件添加到iOS项目中,运行报错
iOS-C文件添加到iOS项目中,运行报错 问题: 往项目中添加一个空的c文件, 编译运行; 出现2,30个编译错误. 原因: 由于在项目中添加了Pch文件,在文件中所有代码还没有开始运行之前, pc ...
- 错误笔记 对象为null时调用改对象的方法会报错
对象为null时调用改对象的方法会报错
- ASP.NET CORE MVC 2.0 项目中引用第三方DLL报错的解决办法 - InvalidOperationException: Cannot find compilation library location for package
目前在学习ASP.NET CORE MVC中,今天看到微软在ASP.NET CORE MVC 2.0中又恢复了允许开发人员引用第三方DLL程序集的功能,感到甚是高兴!于是我急忙写了个Demo想试试,我 ...
- DUBBO报错分析—1(连接zookeeper成功,调用方法无反应,不报错)
思路分析 调用方法时,最后调用执行的是mapper的sql语句,既然调用对应的方法无法获取返回值,多是sql错误,但是并未报sql错误,说明可能是与sql相关的数据源配置错误. 过程调试 经尝试,当直 ...
- 使用laravel框架开发接口时ajax post请求报错419
nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...
- nginx转发上传图片接口图片的时候,报错413
我这边有一个接口是上传图片,使用nginx进行代理,上传大一点的图片,直接调用我的接口不会报错,但是调用nginx上传图片就会报错"413 Request Entity Too Large& ...
随机推荐
- Java连载74-字符串常用方法、正则表达式简介
一.字符串相关的常用方法简介 package com.bjpowernode.java_learning; public class D74_1_StringCommonMethod { pub ...
- javaweb利用javabean将数据库中内容遍历在页面输出
效果如下图 它所实现的就是把数据库中一个表中所有的数据一条一条以表格的形式输出在网页上, 实现方法如下 首先我们要从数据库读取数据,这里要借助javabean来方便我们传递数据 以上面的为例,我要输出 ...
- 备战2020年金三银四,看这一篇面试文章就够了(合适各级Java人员)
本文不是原创.为整理所得!但是内容是很干货的!我看了也有帮助.做个分享. 企业开始上班,就意味着大批量的招聘需求正在路上.在即将到来的金三银四跳槽面试季,提前祝贺大家拿到大厂offer.前程似锦.前程 ...
- vue登录管理
pc端页面登录逻辑,用户未登录状态下可以访问所有页面,但是请求数据是有限的,只有在登录状态下才能访问全部数据,同时未登录状态下,可视区有遮挡元素提示登录. 主要使用的技术vue.vuex.vue-ro ...
- VSCode常用插件汇总
vscode常用插件汇总: 点击插件名字,查看使用文档 vscode-fileheader : 添加注释到文件头,并支持自动更新文件修改时间. EditorConfig for vs code : ...
- 安装Bind到CentOS(YUM)
运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:Bind-x 硬件要求:无 安装过程 1.配置YUM源 [root@localhost ~]# ...
- python之路(列表,元组)
列表 list:基础数据类型之一,可以索引,切片,步长,切片+步长可以增删改查,可迭代,可嵌套字典,元组,列表 一.索引,切片,步长 list01 = [1,2,3,'eric','west'] 1. ...
- AI 所需的数学基础
一.[微积分] 基础概念(极限.可微与可导.全导数与偏导数):只要学微积分,就必须要明白的概念,否则后面什么都无法继续学习. 函数求导:求导是梯度的基础,而梯度是 AI 算法的基础,因此求导非常重要! ...
- 134.cookie、session的工作机制
cookie和session (1)cookie:在网站中,http请求时无状态的,也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求的是哪个用户(在中国我们因为IP ...
- 1、腾讯云搭建Hadoop3集群
1主机名和IP配置 1.1主机名 1.首先使用root用户名和root密码分别登录三台服务器 2.分别在三台虚拟机上执行命令: hostnamectl set-hostname node1 hostn ...