Winform 连接Web Service 记录
一般自己控制的项目都会使用webApi,比较少使用WS,感觉要配置一堆东西很繁琐。
场景:多个系统间数据交互。
角色:我们属于下游系统,要把一部分数据格式化后上传到SAP中。
SAP提供了一个WS,使用VS自带的“添加引用服务”,录入WS地址,自定义命名空间,VS会自动生成一个类,类里包含了 WS中所有的方法、类型等等(因为做WS的语言不尽相同,所以使用的关键字也不同,在生成的类中若存在我们语言的关键字,须要自己替换下,保证编译通过);同时会在配置文件中插入WS相关的信息(大概就是SOAP协议版本,ENDPOINT等等),须要注意的是根据WS提供的WSDL描述文件不同,生成的配置可能会出现若干段,百度了下好像是指使用的SOAP协议版本,我们只要保留一段即可。
由于WS端设置了密码,所以在以上操作的时候系统会要求你输入帐号密码,输入后VS好像自动记录了,但我始终没有找到这个账号密码保存在哪里?如果不能配置的话WS端改了帐号密码我们不得重新编译代码?
经过上面的设置在写代码调试WS即可。
后来为了解决配置帐号密码的问题,按照别人帖子的指导,在“添加引用服务”→“高级”→“添加WEB引用”(在这个按钮旁边写入一段话“添加WEB引用而不是服务引用。这将基于.net framework 2.0 WEB服务技术生成代码”)后面的操作跟上面相同。
这里面有个类
System.Net.NetworkCredential(account,password)
接着按照WS的要求,提供数据,然后发送时带着帐号密码即可。
最近又碰到一个问题:
做法跟上面一样,别人的给的WEB引用地址后面会有若干个"?变量=值"这种结构,但是在添加服务引用时生成的配置文件中有一段<XXXX.Properties.Settings>
其中的VALUE值也是这个引用地址,但是会少了“?”后面的内容。
一直搞不清楚啥原因,测试把“?“”后的内容追加到VALUE,接口可用。
最新文章
- winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体
- 校友聊NABCD
- apache相关
- 使用WinDbg调试SQL Server——入门
- Haskell解决逆波兰式
- SQL2000的Enterprise Edition和Developer Edition有什么区别
- class&;object
- leetcode:House Robber(动态规划dp1)
- Java 8开发的4大顶级技巧
- windows系统下在dos命令行kill掉被占用的pid
- Maven使用总结
- 解析rss和atom文件出现乱码问题
- 步步学LINQ to SQL:为实体类添加关系【转】
- Asp.Net 常用工具类---Config操作(7)
- web程序员标准环境之DreamWeaver【推荐】
- PHP递归解决兔子问题,面试必备
- PHP知识梳理
- kali安装配置ftp
- ERP采购业务(三十七)
- 利用ST MCU内部基准参考电压监测电源电压及其它