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得到。

上一篇:高德APP全链路源码依赖分析工程


下一篇:JSTL标签库大全