真的晕了~~~~Socket的Java xml 报文文档描述的好生僻啊

datahandler2 2016-04-07 08:57:16
Socke提交数据,数据格式以以XML为基本格式,对于请求报文,根报文域的XML标签固定为TRAN_REQ,对于应答报文,根报文域的XML标签固定为TRAN_RESP。非必输节点或空节点,可不出现。整体报文结构如表1:
域1 域2 域3 域4 域5 域6
报文总长度 合作方编码 交易服务码 签名域长度 签名域值 XML报文主体密文
---------------------------------------------------------------------------------------------------------
域1:报文总长度
固定8个字节,以字符串表示,值为:合作方编码长度+交易服务码长度+签名域长度+签名域值长度+XML密文长度,位数不足左补“0”。
域2:合作方编码
固定15个字节,以字符串表示,位数不足左补空格。
域3:交易服务码
固定8个字节,对应值可查看章节3.1服务码,以字符串表示,位数不足左补空格。
域4:签名域长度
固定4个字节,该长度为不经Base64编码的长度,以字符串表示,位数不足左补“0”。
域5:签名域值
字节数为签名域长度值,该域是整个XML报文明文参与签名后的值,包括XML标签,不经Base64编码。
域6:XML报文主体密文
字节数为剩余的字节数(域1的值扣去域2、域3、域4、域5的长度),该域是整个XML报文明文参与加密后的值,不经Base64编码。

注:具体的报文接口可查看交易接口的样例报文。

<?xml version="1.0" encoding="UTF-8"?>
<TRAN_REQ>
<TRAN_DATE>20151208</TRAN_DATE>
<TRAN_TIME>164737</TRAN_TIME>
<TRAN_ID>2015120810020000</TRAN_ID>
<ACC_NO>123456</ACC_NO>
<ACC_NAME>账号余额查询测试</ACC_NAME>
</TRAN_REQ>

==========================================
求接触过这玩意的,上面那个xml 还能怎么搞成上面文档描述的 变成报文有6个域~~~~
实在很看不懂啊~~~之前开发都是居于http方式。。。也搞过加密签名。。。
但突然换成Socket的Xml 报文我突然不知道怎么理解上面的那6个域~~~~求科普啊~~~
刚还特意去看了下对方给的Java 案例。。。看到构建这个报文格式真的是难理解~~~
...全文
214 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
datahandler2 2016-04-08
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
“长度”概念是很扯淡的,你可以直接忽略掉,照样可以正确解释 xml。 对方纠结“长度”概念,可能是对方是以“长连接 keep-Alive”方式接收到多条沾包消息,而又不会快速地区分一个 xml 的结束(关闭)符号,所以才憋出这个概念来。
恩,对方是以异步长链接方式进行收包。。。但看他们的文档写的好多术语,理解很生硬~~~
  • 打赏
  • 举报
回复
对于 xml 来说,例如 TRAN_ID 可以在 TRAN_DATE 之前出现,也可以在 ACC_NAME 之后出现,还可以多出来多余的字段,也可以少字段。所以这里所谓的“域1、域2、域3.....”顺序也是误导人的名词儿。 要理解一个东西,你需要懂得简化去理解它的本质,而不是叠加一堆概念。
  • 打赏
  • 举报
回复
“长度”概念是很扯淡的,你可以直接忽略掉,照样可以正确解释 xml。 对方纠结“长度”概念,可能是对方是以“长连接 keep-Alive”方式接收到多条沾包消息,而又不会快速地区分一个 xml 的结束(关闭)符号,所以才憋出这个概念来。
datahandler2 2016-04-07
  • 打赏
  • 举报
回复
??????

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧