加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService接口数据交换标准--参数

发布时间:2020-12-17 02:54:39 所属栏目:安全 来源:网络整理
导读:本节对参数相关的定义做了详细说明,包括参数相关类以及参数标准。 参数相关类 TReturnManager public ? class ?TReturnManager? ... { ?????????? int ?returnNo? = ? 0 ; ????????? string ?returnMsg? = ? " 成功 " ; ?????????ArrayList?returnStr; ????
本节对参数相关的定义做了详细说明,包括参数相关类以及参数标准。

参数相关类

TReturnManager

public ? class ?TReturnManager? {


??????????
int?returnNo?=?0;


?????????
string?returnMsg?=?"成功";


?????????ArrayList?returnStr;


?????????TStrList?returnHead;


?????????DataTable?returnData;


?


?????????
//数据传输方式,true为使用DataTable序列化方式传输,false为使用TStrList方式传输


?????????
const?bool?XML_TYPE_SCHEMA?=?true;?


?


?????????
///?<summary>


?????????
///?构造函数


?????????
///?</summary>


?????????
public?TReturnManager(?)?{}


?


?????????
///?<summary>


?????????
///?根据TStrList构造


?????????
///?</summary>


?????????
///?<param?name="sl">TStrList数据</param>


?????????
public?TReturnManager(?TStrList?sl?)?{}


?


?????????
///?<summary>


?????????
///?根据DataTable构造


?????????
///?</summary>


?????????
///?<param?name="dt">DataTable数据</param>


?????????
public?TReturnManager(?DataTable?dt?)?{}


?


?????????
private?void?decodeStrList(){}


?


?????????
///?<summary>


?????????
///?设置返回值头部


?????????
///?</summary>


?????????
///?<param?name="sl">头部数据列表</param>


?????????
public?void?setHead(?TStrList?sl){}


?


?????????
///?<summary>


?????????
///?构造函数


?????????
///?</summary>


?????????
///?<param?name="se">自定义异常类</param>


?????????
public?TReturnManager(?TSvrException?se?)?{}


?


?????????
///?<summary>


?????????
///?构造函数


?????????
///?</summary>


?????????
///?<param?name="e">系统异常类</param>


?????????
public?TReturnManager(?System.Exception?e?)?{}


?


?????????
///?<summary>


?????????
///?返回XML格式数据,该函数为公开的函数,根据XML_TYPE_SCHEMA的值返回相应的数据


?????????
///?</summary>


?????????
///?<returns>返回的XML</returns>


?


?????????
public?string?returnXML(){}


?


?????????
///?<summary>


?????????
///?返回XML格式数据


?????????
///?</summary>


?????????
///?<returns>返回的XML</returns>


?????????
private?string?returnXMLSL(?){}


?


?????????
///?<summary>


?????????
///?返回DataTable格式数据


?????????
///?</summary>


?????????
///?<returns>返回的XML</returns>


?????????
private?string?returnXMLDT(){}


?????}

?

该类负责将TStrListDataTableTSvrException(自定义的异常类,继承自System.Exception)、System.Exception空数据等不同类型数据转换成在Web Service接口上传输的XML数据。

?

TStrList

? public ? class ?TStrList?


?????
{


?????????
private?ArrayList?FNameList;


?????????
private?ArrayList?FValueList;


?????????
private?ArrayList?FType;


?????????
private?string?FStrTitle?=?"NewStrList";


?????????
public?int?count?{get?;}


?


?????????
///?<summary>


?????????
///?编码为XML字符


?????????
///?</summary>


?????????
///?<returns></returns>


?????????
public?string?toXML(?){}


?


?????????
///?<summary>


?????????
///?输出为Base64格式字符串


?????????
///?</summary>


?????????
///?<returns></returns>


?????????
public?string?toXMLBase64(){}


?


?????????
///?<summary>


?????????
///?构建对象--字符串


?????????
///?</summary>


?????????
///?<param?name="str">字符</param>


?????????
///?<param?name="isxml">传入字符是否为XML格式的</param>


?????????
public?TStrList(?string?str,?bool?isxml)?{}


?


?????????
///?<summary>


?????????
///?构建对象--字符串


?????????
///?</summary>


?????????
///?<param?name="str">字符</param>


?????????
///?<param?name="isxml">传入字符是否为XML格式的</param>


?????????
///?<param?name="base64">传入字符是否为Base64编码的</param>


?????????
public?TStrList(?string?str,?bool?isxml,?bool?base64)?{}


?


?????????
///?<summary>


?????????
///?构建对象--DataTable


?????????
///?</summary>


?????????
///?<param?name="dt">传入的DataTable</param>


?????????
///?<param?name="str">标题</param>


?????????
public?TStrList(?DataTable?dt,?string?str)?{}


?


?????????
///?<summary>


?????????
///?系统数据类型转换成TStrList通用数据类型


?????????
///?</summary>


?????????
///?<param?name="systype">系统数据类型</param>


?????????
///?<returns>TStrList通用数据类型</returns>


?????????
public?string?systypeToLocalType(System.Type?systype){}


?


?????????
///?<summary>


?????????
///?根据name值取得value


?????????
///?</summary>


?????????
///?<param?name="namestr">字段名(不分大小写)</param>


?????????
///?<returns>字段值</returns>


?????????
public?string?valueByName(?string?namestr){}


?


?????????
///?<summary>


?????????
///?根据name取得type


?????????
///?</summary>


?????????
///?<param?name="namestr">字段名(不分大小写)</param>


?????????
///?<returns>字段类型</returns>


?????????
public?string?typeByName(string?namestr?){}


?


?????????
///?<summary>


?????????
///?增加新字段


?????????
///?</summary>


?????????
///?<param?name="namestr">字段名</param>


?????????
///?<param?name="valuestr">字段值</param>


?????????
///?<param?name="typestr">字段类型</param>


?????????
public?void?addNew(string?namestr,?string?valuestr,?string?typestr){}


?


?????????
///?<summary>


?????????
///?增加新字段


?????????
///?</summary>


?????????
///?<param?name="namestr">字段名</param>


?????????
///?<param?name="valuestr">字段值</param>


?????????
public?void?addNew(string?namestr,?string?valuestr){}


?


?????????
///?<summary>


?????????
///?过滤空值


?????????
///?</summary>


?????????
public?void?delSpace(){}


?


?????????
///?<summary>


?????????
///?删除指定字段


?????????
///?</summary>


?????????
///?<param?name="namestr">字段名</param>


?????????
public?void?deleteByName(?string?namestr?){}


?


?????????
///?<summary>


?????????
///?解码XML


?????????
///?</summary>


?????????
///?<param?name="xmlstring">传入的XML字符</param>


?????????
private?void?decodeXML(?string?xmlstring?){}


?


?????????
///?<summary>


?????????
///?通过字段名取得索引


?????????
///?</summary>


?????????
///?<param?name="namestr">字段名</param>


?????????
///?<returns>索引</returns>


?????????
private?int?getIndexByName(string?namestr){}


?


?????????
///?<summary>


?????????
///?是否存在该名称字段


?????????
///?</summary>


?????????
///?<param?name="namestr">字段名</param>


?????????
///?<returns>是否存在该名称字段</returns>


?????????
public?bool?hasThisName(string?namestr){}


?


?????????
///?<summary>


?????????
///?通过索引取得类型


?????????
///?</summary>


?????????
///?<param?name="index">索引值</param>


?????????
///?<returns>字段类型</returns>


?????????
public?string?getType(int?index){}


?


?????????
///?<summary>


?????????
///?通过索引取得字段名


?????????
///?</summary>


?????????
///?<param?name="index">索引值</param>


?????????
///?<returns>字段名</returns>


?????????
public?string?getName(int?index){}


?


?????????
///?<summary>


?????????
///?通过索引取得字段值


?????????
///?</summary>


?????????
///?<param?name="index">索引值</param>


?????????
///?<returns>字段值</returns>


?????????
public?string?getValue(int?index){}


?????????


?????????
public?string?StrTitle{get;}


?


?????????
///?<summary>


?????????
///?设置所有的名称为小写


?????????
///?</summary>


?????????
private?void?setNameToLowcase(){}


?


?????????
///?<summary>


?????????
///?克隆本对象数据


?????????
///?</summary>


?????????
public?TStrList?CloneAInstance{get;}


?


?????????
public?DataTable?AsDataTable{get;}


?????}

?

该类封装了一维表数据,其每个列表项具有namevaluetype三个属性。该类型的对象数据可以与DataTable的一行进行相互转换,在Web Service中作为复杂数据类型的参数传出。

?

TSvrException

public ? class ?TSvrException:?System.Exception?


?????
{


?????????
int?ENo;


?????????
string?EMsg;


?????????DataTable?EData;


?


?????????
///?<summary>


?????????
///?构造函数


?????????
///?</summary>


?????????
///?<param?name="Des">异常信息字符串</param>


?????????
public?TSvrException(?string?Des?){}


?


?????????
///?<summary>


?????????
///?构造函数


?????????
///?</summary>


?????????
///?<param?name="rno">异常编码</param>


?????????
///?<param?name="rmsg">异常信息</param>


?????????
public?TSvrException(?int?rno,?string?rmsg?)?{}


?


?????????
///?<summary>


?????????
///?异常编码


?????????
///?</summary>


?????????
public?int?rno{get;}


?


?????????
///?<summary>


?????????
///?设置返回数据


?????????
///?</summary>


?????????
///?<param?name="dt">数据表</param>


?????????
public?void?setEData(DataTable?dt){}


?


?????????
///?<summary>


?????????
///?异常信息


?????????
///?</summary>


?????????
public?string?rmsg?{get;}


?


?????????
///?<summary>


?????????
///?出现异常后可以返回数据


?????????
///?</summary>


?????????
public?DataTable?rdata?{get;}


?????}

?

该类继承自System.Exception类,用于封装自定义的异常信息。构造对象时可以传入异常代码和异常信息,也可以使用Des格式的异常信息。Des格式信息格式为“异常编码|异常信息”,例如“20|未找到数据”。

参数标准

接口参数对于intboolstring等基本数据类型采用直接传入,而对于数据表及列表等数据则需要封装成统一的格式,本标准使用了TStrListXML格式作为复杂数据参数的传输格式,其说明如下:

§???????? 该字符串使用标准XML格式

§???????? 该字符串是服务端TStrListXML形式

§???????? 可表示一条记录

示例为:

详细说明如下:

<? xml?version="1.0"?encoding="UTF-8" ?>


< row? title ="" >


????
< column? name ="Column1" ?type ="number" > 数据1 </ column >


????
< column? name ="Column2" ?type ="string" > 数据2 </ column >


</ row >

?

§???????? <row>为根节点,表示此行,<row>的子节点<column>表示本行的一列,包括nametype两个属性,分别表示列名和类型

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读