C#调用WebService(Soap)接口

本文介绍了如何在C#中调用WebService(Soap)接口,包括理解WebService和SOAP的基本概念,以及调通接口的步骤。通过PostMan和SoapUI进行调试,强调了SoapAction在请求头的重要性,并提供了使用WebRequest发送SOAP请求的代码示例。
摘要由CSDN通过智能技术生成

首先了解两点知识,1.什么时webserve,2.什么是soap

1.WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。 WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。 WebService=WSDL+SOAP+UDDI(webservice的注册)。WebServices 提供一个建立分布式应用的平台。

2.SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。或者更简单地说:SOAP 是用于访问网络服务的协议,基于 XML。SOAP 是一种用于发送消息的格式。

第一步:调通接口

在对接之前保证接口的是能调通的,我使用了PostMan和SoapUI进行调试。SoapUI是可以调通的,PostMan一开始调不通报了500的错误,后来发先是Headers没有写SoapAction。SoapAction的值在SoapUI中可以看到。

C#调用WebService有三种方式:直接引用、引用wsdl和soap请求。如果开发者可以直接访问到webservice,可以使用直接引用的方式。在Visual Studio中,可以通过添加服务引用来直接引用webservice,系统会自动生成引用代码。然后可以实例化引用的webservice对象来使用。\[2\] 如果无法直接访问webservice,可以使用引用wsdl文件的方式。首先需要获取webservice的wsdl文件,可以通过浏览器打开webservice服务,然后查看服务说明,这就是整个wsdl的内容。将wsdl文件保存为文本文件,然后将后缀名改为wsdl。在Visual Studio中,同样可以通过添加服务引用来引用wsdl文件,将wsdl文件的路径输入到URL中即可。然后可以实例化引用的webservice对象来使用。\[3\] 最后一种方式是使用SOAP请求来调用webservice。这种方式适用于无法直接引用webservice或wsdl文件的情况。可以使用HttpPost请求来发送SOAP请求,并解析返回的SOAP响应。这种方式需要手动构建SOAP请求和解析SOAP响应,相对复杂一些。 总结起来,C#调用webservice可以通过直接引用、引用wsdl和soap请求三种方式来实现。具体选择哪种方式取决于开发者的需求和情况。 #### 引用[.reference_title] - *1* [【C#调用 webservice 的三种方法总结](https://blog.csdn.net/weixin_44231544/article/details/124922474)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [C#调用WebService的三种方式](https://blog.csdn.net/m0_43398336/article/details/105082177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值