C#如何使用Soap协议调用WebService?
WebService是什么?它的作用?
WebService是一个平台独立、低耦合的、自包含的、基于可编程的可使用xml描述、调用的web应用程序,用于开发分布式的交互式的应用程序。
Soap是什么?它的作用?
Simple Object Access Protocol(简单对象访问协议)是交换数据的一种协议规范,是一种轻量的、简单的、基于xml的协议,用于web应用程序之间交换信息或数据交互的结构化或固化的信息。
如何创建基于Soap协议的WebService?
1、创建一个基于SoapHeader类的头部信息类
public class Header : SoapHeader
{
private string _code = string.Empty;
private string _token = string.Empty; public string Code
{
get
{
return _code;
} set
{
_code = value;
}
} public string Token
{
get
{
return _token;
} set
{
_token = value;
}
} public Header()
{ } public Header(string r_code, string r_token)
{
this._code = r_code;
this._token = r_token;
}
}
2、声明类&创建验证方法
         public Header header = new Header();
         string code = "simoje";
         string token = "helloworld";
         private bool ValidateToken(string _code, string _token)
         {
             if (header.Code == code && header.Token == token)
             {
                 return true;
             }
             else
             {
                 return false;
             }
         }
3、创建成员方法
         [SoapHeader("header")]
         [WebMethod]
         public string HelloWorld(string para)
         {
             // do some things
         }
注:SoapHeader括号中是声明的类实例名
如何使用Soap协议调用WebService?
1、引用WebService,取名为hello_service
2、声明Header类,并传入code与token
hello_service.Header header = new hello_service.Header();
validate.Code = "simoje";
validate.Token = "hello_world";
3、调用HelloWorld方法
             hello_service.Simoje_APISoapClient api = new hello_service.Simoje_APISoapClient();
             JObject jo = new JObject(
                 new JProperty("para", "some paras"));
             api.HelloWorld(header, jo.ToString());
注:JObject为newtonsoft.dll封装的json类,可在http://www.cnblogs.com/simoje/p/4766215.html得到。
C#如何使用Soap协议调用WebService?的更多相关文章
- 使用CXF实现基于Soap协议的WebService
		
本文介绍使用CXF实现基于Soap协议的WebService(CXF的版本是3.0.0) 一. 前言 Java有三种WebService规范:Jax-WS,Jax-RS,Jaxm 1. Jax-WS( ...
 - Java 发送SOAP请求调用WebService,解析SOAP报文
		
https://blog.csdn.net/Peng_Hong_fu/article/details/80113196 记录测试代码 SoapUI调用路径 http://localhost:8082/ ...
 - 在ASP.NET Web Application中通过SOAP协议调用Bing搜索服务
		
本文介绍了如何在ASP.NET Web Application中将Bing搜索作为Web Service来使用,并通过HTTP的SOAP协议在ASP.NET Web Application中调用Bin ...
 - Android之SOAP协议与WebService服务器交互,解决超时的问题
		
网络搜索大部分不能实际解决问题.特意将解决方法写下.创建MyAndroidHttpTransport 类 , package com.example.omhandroid.lib; import or ...
 - Java调用WebService方法总结(8)--soap.jar调用WebService
		
Apache的soap.jar是一种历史很久远的WebService技术,大概是2001年左右的技术,所需soap.jar可以在http://archive.apache.org/dist/ws/so ...
 - iOS webservice接口soap协议调用遇到的问题
		
这是第一次调webservice的接口,并且后台没太做过移动端的接口,所以遇到了很多让人崩溃的困难.吃一堑长一智,所以这种时候懒得写博客的我就要趁着这股热乎劲把这次的过程记录下来啦~ 首先要做的就是, ...
 - HttpURLConnection 直接发送soap消息调用webservice
		
httpConn = (HttpURLConnection) new URL(urlString).openConnection(); httpConn.setRequestProperty(& ...
 - webservice第二篇【自定义webservice服务、soa、uddi概念、soap协议】
		
自定义webservice服务 我们在上一章节中已经使用wsimport生成本地代理来调用webservice的服务了,其实我们自己写的web应用程序也是可以发布webservice的 我们发布了we ...
 - [转]Net 下采用GET/POST/SOAP方式动态调用WebService C#实现
		
本文转自:http://www.cnblogs.com/splendidme/archive/2011/10/05/2199501.html 一直以来,我们都为动态调用WebService方法而烦恼. ...
 
随机推荐
- padding/border与width的关系
			
本文讲述 padding / border 的设置后是否对 width 有影响,width 等于 auto 与 100% 的区别 CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边 ...
 - 利用js2image把代码压缩成圣诞树
			
马上圣诞节了,作为一名程序猿,如何体现自己独特的过节风格,如何在朋友圈发一张专属自己的祝福照片我觉得很有必要,你们说是不是. 谈到圣诞节,话说程序猿和圣诞之间的关系还有这么一个笑话: Q:程序员为什么 ...
 - iOS 视图与视图层次结构(内容根据iOS编程)
			
视图基础 视图是 UIView 对象,或者其子对象. 视图知道如何绘制自己. 视图可以处理事件,例如触摸(touch). 视图会按照层次结构排列,位于视图层次结构顶端的是应用窗口. 视图层次结构 任何 ...
 - NanUI for Winform发布,让Winform界面设计拥有无限可能
			
如今,尽管WPF.UWP大行其道,大有把Winform打残干废的趋势.但是还是有那么一波顽固不化的老家伙们固守着Winform,其中就包括我. 好吧,既然都说Winform做得软件不如WPF界面美观效 ...
 - EntityFrame Work 6 Code First 配置字段为varchar 类型
			
EntityFrame Work 6 配置字符串属性是否支持Unicode 内容 默认情况下,字符串为Unicode(SQLServer 中的nvarchar).您可以使用IsUnicode 方法指定 ...
 - Xamarin.ios引用第三方SDK
			
引言 诚然,Xamarin是个优秀的跨平台解决方案,但毕竟还是不能将Native中所有的方法都直接实现.诸如各种第三方库,也都只有java/oc原生版本的SDK,无法直接拿过来直接使用.但,不能直接拿 ...
 - swift类、继承、接口
			
import Foundation class Hello{ var _name:String?="swift global" init(name:String){ //定义类中有 ...
 - 为input输入框添加圆角并去除阴影
			
<input type="text" name="bianhao" value="" placeholder="请输入商品编 ...
 - [译]Godot系列教程三 - 场景实例化(续)
			
场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这 ...
 - php基础知识
			
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言[脚本在服务器上执行]. PHP 文件能够包含文本.HTML.CSS 以及 PHP 代码,在服务器上的执行结果以纯文本返回浏览器. php可以 ...