zoukankan      html  css  js  c++  java
  • C#如何使用Soap协议调用WebService?

    WebService是什么?它的作用?

    WebService是一个平台独立、低耦合的、自包含的、基于可编程的可使用xml描述、调用的web应用程序,用于开发分布式的交互式的应用程序。

    Soap是什么?它的作用?

    Simple Object Access Protocol(简单对象访问协议)是交换数据的一种协议规范,是一种轻量的、简单的、基于xml的协议,用于web应用程序之间交换信息或数据交互的结构化或固化的信息。

     

    如何创建基于Soap协议的WebService?

    1、创建一个基于SoapHeader类的头部信息类

     1     public class Header : SoapHeader
     2     {
     3         private string _code = string.Empty;
     4         private string _token = string.Empty;
     5 
     6         public string Code
     7         {
     8             get
     9             {
    10                 return _code;
    11             }
    12 
    13             set
    14             {
    15                 _code = value;
    16             }
    17         }
    18 
    19         public string Token
    20         {
    21             get
    22             {
    23                 return _token;
    24             }
    25 
    26             set
    27             {
    28                 _token = value;
    29             }
    30         }
    31 
    32         public Header()
    33         {
    34 
    35         }
    36 
    37         public Header(string r_code, string r_token)
    38         {
    39             this._code = r_code;
    40             this._token = r_token;
    41         }
    42     }
    View Code

    2、声明类&创建验证方法

     1         public Header header = new Header();
     2 
     3         string code = "simoje";
     4         string token = "helloworld";
     5 
     6         private bool ValidateToken(string _code, string _token)
     7         {
     8             if (header.Code == code && header.Token == token)
     9             {
    10                 return true;
    11             }
    12             else
    13             {
    14                 return false;
    15             }
    16         }
    View Code

    3、创建成员方法

    1         [SoapHeader("header")]
    2         [WebMethod]
    3         public string HelloWorld(string para)
    4         {
    5             // do some things
    6         }
    View Code

    注:SoapHeader括号中是声明的类实例名

     

    如何使用Soap协议调用WebService?

    1、引用WebService,取名为hello_service

    2、声明Header类,并传入code与token

    1              hello_service.Header header = new hello_service.Header();
    2              validate.Code = "simoje";
    3              validate.Token = "hello_world";
    View Code

    3、调用HelloWorld方法

    1             hello_service.Simoje_APISoapClient api = new hello_service.Simoje_APISoapClient();
    2 
    3             JObject jo = new JObject(
    4                 new JProperty("para", "some paras"));
    5 
    6 
    7             api.HelloWorld(header, jo.ToString());
    View Code

    注:JObject为newtonsoft.dll封装的json类,可在http://www.cnblogs.com/simoje/p/4766215.html得到。

     

     

     

    ...
  • 相关阅读:
    oracle EXP导出一张表时使用query参数指定where条件
    Centos7-安装Apache2.4+PHP5.6
    VMWare 14 Workstation Pro 下载与安装
    Mysql的视图、存储过程、函数、索引全解析
    Eclipse Java注释模板设置详解
    Tomcat 80端口 配置及域名访问步骤
    LeetCode——merge-k-sorted-lists
    LeetCode——rotate-list
    LeetCode——jump-game-ii
    LeetCode——jump-game
  • 原文地址:https://www.cnblogs.com/simoje/p/5140281.html
Copyright © 2011-2022 走看看