Web Service接口数据交换标准--返回值

本节对返回值标准进行了详细说明,包括返回值相关类型和返回值数据标准。

返回值相关类:

TXmlReturn

     public class TXmlReturn

     {

         private int frno;

         private string frmsg;

         private ArrayList fdatalist;

         private TStrList fhead;

         private string fxml;

         private TStrList fcolumnlist;

         private DataTable fdatatable;

 

         /// <summary>

         /// 构造函数

         /// </summary>

         /// <param name="rxml">需要解析的已编码数据</param>

         public TXmlReturn( string rxml ){}

 

         /// <summary>

         /// 将已编码数据进行解码

         /// </summary>

         private void decodeReturn(){}}

 

         /// <summary>

         /// 填充列列表

         /// </summary>

         private void fillFColumnList(){}

 

         /// <summary>

         /// 填充数据列表

         /// </summary>

         private void fillFDataList(){}

 

         /// <summary>

         /// 将数据还原为DataTable类型

         /// </summary>

         private void decodeToDataTable(){}

 

         /// <summary>

         /// 根据数据类型字符串返回系统类型

         /// </summary>

         /// <param name="typestr"></param>

         /// <returns></returns>

         private System.Type getTypeByTypeString(string typestr){}

 

         /// <summary>

         /// DataTable类型数据返回值

         /// </summary>

         public DataTable rdatatable{get;}

 

         /// <summary>

         /// 返回状态码

         /// </summary>

         public int rno{get;}

 

         /// <summary>

         /// 返回的状态信息

         /// </summary>

         public string rmsg{get;}

 

         /// <summary>

         /// 返回的数据头部,如果为DataTable序列化数据,则无此项

         /// </summary>

         public TStrList rhead{get;}

 

         /// <summary>

         /// 数据列表,每一项为TStrList类型

         /// </summary>

         public ArrayList rdata{get;}

 

         /// <summary>

         /// 列列表

         /// </summary>

         public TStrList rcolumnlist{get;}

 

         /// <summary>

         /// 数据记录条数

         /// </summary>

         public int DataRowCount{get;}

 

         /// <summary>

         /// 数据列数

         /// </summary>

         public int DataColumnCount{get;}

     }

该类对TReturnManager返回的数据进行解析,将字符串型数据还原为包含返回状态码,返回状态信息,返回状态数据的原始数据。

返回值标准

返回数据形式由TReturnManagerXML_TYPE_SCHEMA常量决定,标准如下:

XML_TYPE_SCHEMA = trueDataTable序列化的传输方式

§         使用标准XML格式

§         分为状态、dataSchemadata三个节点

§         状态为必须具备的节点,其他两个节点可选

 

示例为:

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

<return rno="0" rmsg="成功">

     <dataSchema>

         <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

              <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="zh-CN">

                   <xs:complexType>

                       <xs:choice maxOccurs="unbounded">

                            <xs:element name="Table1">

                                 <xs:complexType>

                                     <xs:sequence>

                                          <xs:element name="id" type="xs:string" minOccurs="0" />

                                          <xs:element name="password" type="xs:string" minOccurs="0" />

                                          <xs:element name="sex" type="xs:string" minOccurs="0" />

                                          <xs:element name="name" type="xs:string" minOccurs="0" />

                                     </xs:sequence>

                                 </xs:complexType>

                            </xs:element>

                       </xs:choice>

                   </xs:complexType>

              </xs:element>

         </xs:schema>

     </dataSchema>

     <data>

         <NewDataSet>

              <Table1>

                   <id>123456</id>

                   <password />

                   <sex>F</sex>

                   <name>张三</name>

              </Table1>

         </NewDataSet>

     </data>

</return>

 

其详细说明如下

§         <return>根结点,即状态节点,rnormsg两个属性分别表示返回状态码和状态信息。

§         <dataSchema><data><return>的两个子节点,分别为DataSetGetXmlSchemaGetXml的数据,以便接收端可以直接将其转换为DataTable

 

XML_TYPE_SCHEMA = falseTStrList类型传输方式

§         使用标准XML格式

§         分为状态、头部、列标题、数据体四个节点

§         状态为必须具备的节点,其他三个节点可选

 

示例为:

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

<return rno="0" rmsg="成功">

<head>

<param name="title" type="string">测试数据</param>

<param name="row" type="int">1</param>

</head>

    <columnlist>

        <columntitle>rwd_gzlh</columntitle>

        <columntitle>gzlh</columntitle>

    </columnlist>

    <data rowcount="1">

        <row title="">

            <column name="column1" type="string">测试数据1</column>

            <column name="column2" type="string">测试数据2</column>

        </row>

    </data>

</return>

 

 

 

其详细说明如下:

§         <return>根结点,即状态节点,rnormsg两个属性分别表示返回状态码和状态信息。

§         <head>头节点,可选,用于保存返回值额外信息,其每个子节点<param>表示一个参数,其包括nametype两个属性,分别表示参数名和类型。

§         <columnlist>列标题节点,可选(如有<data>节点,则该节点必存在),保存了返回值中各列的名称。<columntitle>节点为其子节点,表示各列标题。

§         <data>数据体节点,可选,保存了二维数据值。子节点<row>表示一行,<row>的子节点<column>表示本行的一列。列子节点表示形式同<head>中的<param>节点。

 

 

标签:
文章分类 FK Coding

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

点赞
如果您觉得很赞,我将非常乐意接受虚拟币的捐赠,以示您对我的肯定。

比特币钱包地址:
1PqpqA8FyH3NbfCrbcRd1YxQk3LEsSEYDV
莱特币钱包地址:
LRTdmovGGVEHCKWz7JdL9aiB7VZkuNycJf
站点勋章
网站统计