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& ...
随机推荐
- HQL查询 HQL Named parameter [xxx] not set 的解决办法
org.springframework.dao.InvalidDataAccessResourceUsageException: Named parameter [xxx] not set; nest ...
- MyEclipse+Tamcat配置
(尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/53982209 冷血之心的博客) 一.Tomcat 1 Tomcat ...
- P4883 mzf的考验[平衡树]
P4883 mzf的考验 维护一种数据结构 支持区间翻转 区间异或 区间求和- 显然 fhq treap 区间异或显然是拆位 ~~然后复杂度*20~~ 第一次先遍历一下整棵树 pushup 一下 就可 ...
- HTML+PHP+MySQL 制作最基础的登录页面及验证
第一步 进入mysql操作终端 新建一个数据库web1:create database web1; 然后在这个数据库里面新建一张表test:create table test(user varchar ...
- 0级搭建类002-Oracle Linux 8.x安装(OEL 8.0) 公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...
- html css二级导航栏
二级导航栏制作: 1.将一级导航栏去除列表样式(list-style:none),并给予浮动,使其横向排列(float:left) 2.给每个li中添加一个<a></a>标签, ...
- 基于EFCore3.0+Dapper 封装Repository
Wei.Repository 基于EFCore3.0+Dapper 封装Repository,实现UnitOfWork,提供基本的CURD操作,可直接注入泛型Repository,也可以继承Repos ...
- Quartz.NET 2.x教程
第1课:使用Quartz第2课:工作和触发器第3课:关于工作和JobDetails的更多信息第4课:有关触发器的更多信息第5课:SimpleTriggers第6课:CronTriggers第7课:Tr ...
- VUE 路由参数改变重新刷新数据
VUE 路由参数改变重新刷新数据 App.vue 里面使用路由,然后通过App.vue文件中的搜索功能搜索刷新路由文件中的列表. 修改 index.js 文件 首先在路由文件 index.js 文件中 ...
- Ionic 使用 NFC
Ionic 使用 NFC 哎哟喂,因为项目需要使用 Ionic 调用手机 NFC 功能,踩了好多坑,真的是,不过终于不负众望拿到了id.现在就记录一下我的步骤和踩过的坑! 步骤 我装的Ionic可能是 ...