惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
A
About on SuperTechFans
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
Vercel News
Vercel News
G
Google Developers Blog
J
Java Code Geeks
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
Cloudbric
Cloudbric
L
LINUX DO - 最新话题
MyScale Blog
MyScale Blog
H
Heimdal Security Blog
PCI Perspectives
PCI Perspectives
Attack and Defense Labs
Attack and Defense Labs
S
Security @ Cisco Blogs
Latest news
Latest news
I
Intezer
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
月光博客
月光博客
T
Threatpost
博客园 - 【当耐特】
S
Schneier on Security
P
Privacy International News Feed
G
GRAHAM CLULEY
T
Tenable Blog
AWS News Blog
AWS News Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
雷峰网
雷峰网
博客园 - Franky
Engineering at Meta
Engineering at Meta
美团技术团队
S
Secure Thoughts
T
Troy Hunt's Blog
Microsoft Security Blog
Microsoft Security Blog
SecWiki News
SecWiki News
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Cisco Talos Blog
Cisco Talos Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - 南疯

C#中获得月份中的第一天和最后一天和判断闰年 VS2008的网页报表可以直接打印了 Impossible 与 I’m possible 别吵了,.NET和JAVA两大帮派合并了! 让"指定的 MSProjectServerRole 帐户不属于 MSProjectServerRole 角色"去死吧 我所理解的工作流工作模式 BusinessObjects系统用户信息同步的解决类 关于BusinessObjects系统单点登录(SSO)解决办法(二) 关于BusinessObjects系统单点登录(SSO)解决办法(一) 教您怎样在C#中锁定Word内容,还教您怎样把人家的锁定内容破解了 一个封装比较完整的FTP类——clsFTP How to share Session variables across Domains(在不同域之间共享Session) 还是VS2005全角问题 博客园(堂)内的互助有感 一个完整的接口技术解决方案 一个完整的接口技术解决方案(八) 一个完整的接口技术解决方案(七) 一个完整的接口技术解决方案(五) 一个完整的接口技术解决方案(四)
一个完整的接口技术解决方案(六)
南疯 · 2006-11-04 · via 博客园 - 南疯

题注: 
      发表这篇解决方案,属于非盈利目的。主要是为了让大家了解一种接口技术解决方案文档的编写格式以及让大家评审在我的这个技术解决方案中的不足之处,以便大家指出并加以改进。 
      转载,下载或与各种形式使用这篇文章,必须注明文章的作者,出处。 
      其他未尽事宜,以国家法律规定的为准! 
                  作者:南疯 

8.2.13   获得字典

施工系统提交字典的分类ID,向外协系统发送请求。外协系统根据字典分类ID,返回对应的字典代码信息。字典代码的信息返回不受最大返回记录100条的限制,一次返回全部的该类字典代码。

请求报文:

<?xml version="1.0" encoding="utf-8"?>
<XmlData>
  
<UserInfo>
    
<User>ZhangSan</User>
    
<PassWord>123456</PassWord>
  
</UserInfo>
  
<Description>        
  
</Description>

  
<Records>
    
<DictionaryID>201</DictionaryID>
  
</Records>
</XmlData>

响应报文:

<?xml version="1.0" encoding="utf-8"?>
<XmlData>
  
<Description>
    
<Result>成功</Result>    <!--如果失败,则返回信息是“失败:(错误信息)”-->
  
</Description>
  
<Records>
    
<Record>
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
    
</Record>
    
<Record>
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
    
</Record>
    
<Record>
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
    
</Record>
  
</Records>
</XmlData>

报文说明:

标签名

说明

<XmlData>

报文数据主体

<Description>

报文头部信息

<Records>

记录集合

<Record>

一行记录

<UserInfo>

业务认证的用户信息

<User>

业务用户登录名

<PassWord>

业务用户验证口令

<DictionaryID>

字典类型ID。请求下载的字典类型,外协根据字典类型返回对应的字典。

<Field1>

<Field2>

<Field3>

<Field4>

一行字典中的英文字段名称。实际中,这些标签都是字典的英文名。字段的标签全部是大写。

具体的字段名称请参见提供的数据模型

<Result>

反馈报文中的下载成功与否信息。

如果下载成功,则信息是“成功”

如果下载失败,则信息是“失败:(后面是错误的详细信息)


8.3    外协系统向施工系统发送请求

外协系统向施工系统发送请求的数据目前有几点需要考虑:

u       如何请求发送一个变更后的业务数据

u       如何请求发送一个变更后的字典数据

u       文档发送请求

外协系统不会主动发送文档的变更信息给施工系统,因为文档的信息(文档的ID)变更是体现在业务的信息当中的,外协系统向施工系统发送业务的变更信息当中就包含了变更了的文档ID,只有在施工系统中进行业务需要获得文档的信息的时候,由施工系统主动发送请求到外协系统获得文档的信息或下载文档。

针对前面这些问题,接口方案的解决方法如下:

8.3.1发送变更后的数据

外协系统在业务数据发生变更(新增、修改、逻辑删除)的时候,会自动发送请求到施工系统要求施工系统进行更新。

注意,外协系统中没有记录上的物理删除,外协系统中所有的删除业务都是逻辑上的删除,仅仅在删除标志位上面标记为“1”。所以,外协系统没有向施工系统发送物理删除的请求。

请求报文:

<?xml version="1.0" encoding="utf-8"?>
<XmlData>
  
<UserInfo>
    
<User>ZhangSan</User>
    
<PassWord>123456</PassWord>
  
</UserInfo>
  
<Description>
    
<Note>项目经理已经对数据进行了审批</Note>
  
</Description>
  
<Records>
    
<Record>
      
<KeyField>KeyValue</KeyField>
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
      
<Field4>Value4</Field4>
    
</Record>
    
<Record>
      
<KeyField>KeyValue</KeyField>
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
      
<Field4>Value4</Field4>
    
</Record>
    
<Record>
      
<KeyField>KeyValue</KeyField>
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
      
<Field4>Value4</Field4>
    
</Record>
  
</Records>
</XmlData>

响应报文:

<?xml version="1.0" encoding="utf-8"?>
<XmlData>
  
<Description>
    
<Result>成功</Result>  <!--如果失败,则<Result>里面内容是:失败:(错误原因),同时,KeyField的值为空-->
  
</Description>
  
<Records>    
  
</Records>
</XmlData>

报文说明:

标签名

说明

<XmlData>

报文数据主体

<Description>

报文头部信息

<Records>

记录集合

<Record>

一行记录

<UserInfo>

业务认证的用户信息

<User>

业务用户登录名

<PassWord>

业务用户验证口令

<Note>

业务的简单描述。比如:开工报告审批、施工组织方案审批 等

<KeyField>

一行记录中的主键英文字段名称。实际中,这些标签都是字典的英文名。字段的标签全部是大写。

具体的主键字段名称请参见提供的数据模型

<Field1>

<Field2>

<Field3>

<Field4>

一行记录中的英文字段名称。实际中,这些标签都是字典的英文名。字段的标签全部是大写。

具体的字段名称请参见提供的数据模型

<Result>

反馈报文中的保存成功与否信息。

如果保存成功,则信息是“成功”

如果保存失败,则信息是“失败:(后面是错误的详细信息)

8.3.2发送变更后的字典

外协系统在字典数据发生变更(新增、修改、逻辑删除)的时候,会自动发送请求到施工系统要求施工系统进行更新施工系统的对照字典。

即使是仅仅一个字典条目发生了改变,外协系统向施工系统发送的报文中还是包含了该类字典的所有条目。

请求报文:

<?xml version="1.0" encoding="utf-8"?>
<XmlData>
  
<UserInfo>
    
<User>ZhangSan</User>
    
<PassWord>123456</PassWord>
  
</UserInfo>
  
<Description>
    
<DictionaryID>201</DictionaryID>
  
</Description>
  
<Records>
    
<Record>      
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
      
<Field4>Value4</Field4>
    
</Record>
    
<Record>      
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
      
<Field4>Value4</Field4>
    
</Record>
    
<Record>      
      
<Field1>Value1</Field1>
      
<Field2>Value2</Field2>
      
<Field3>Value3</Field3>
      
<Field4>Value4</Field4>
    
</Record>
  
</Records>
</XmlData>

响应报文:

<?xml version="1.0" encoding="utf-8"?>
<XmlData>
  
<Description>
    
<Result>成功</Result>  <!--如果失败,则<Result>里面内容是:失败:(错误原因),同时,KeyField的值为空-->
  
</Description>
  
<Records>    
  
</Records>
</XmlData>

报文说明:

标签名

说明

<XmlData>

报文数据主体

<Description>

报文头部信息

<Records>

记录集合

<Record>

一行记录

<UserInfo>

业务认证的用户信息

<User>

业务用户登录名

<PassWord>

业务用户验证口令

<DictionaryID>

字典类型ID。发生变更的字典类型。

<Field1>

<Field2>

<Field3>

<Field4>

一行记录中的英文字段名称。实际中,这些标签都是字典的英文名。字段的标签全部是大写。

具体的字段名称请参见提供的数据模型

<Result>

反馈报文中的保存成功与否信息。

如果保存成功,则信息是“成功”

如果保存失败,则信息是“失败:(后面是错误的详细信息)

8.3.3文档发送请求

   外协系统不会主动发送文档的变更信息给施工系统,因为文档的信息(文档的ID)变更是体现在业务的信息当中的,外协系统向施工系统发送业务的变更信息当中就包含了变更了的文档ID,只有在施工系统中进行业务需要获得文档的信息的时候,由施工系统主动发送请求到外协系统获得文档的信息或下载文档。