首页新闻找找看学习计划

delphi代码转C#代码的问题

0
悬赏园豆:40 [已解决问题] 解决于 2019-09-01 16:44

delphi结构体中的pchar类型的字段,我转为c#结构体的string字段;
赋值的代码分别为:
delphi:oTask.taskBody:=pchar(getBody(sCode));
c#:oTask.taskBody = GetBody(sCode);
2个getbody函数都是获取一段相同的xml。
xml在补充里面,如图

不知道哪里的问题,delphi运行没问题,转过来的c#代码请求接口就是报错:任务对象中的任务体(请求报文)格式校验不通过。
求大佬指导

问题补充:

问心、的主页 问心、 | 初学一级 | 园豆:104
提问于:2019-05-21 14:37

博问支持 markdwon 代码高亮语法

dudu 5个月前

@dudu: 用的markdown编辑的,但是出来就不是代码模式的

问心、 5个月前

@问心、: “我的博问”右侧有个“编辑器设置”

dudu 5个月前
< >
分享
最佳答案
0

使用了其它访问模式

问心、 | 初学一级 |园豆:104 | 2019-09-01 16:43
其他回答(1)
0

里面的双引号都加个转义符,举个例子:version="1.0"

收获园豆:40
三人乐乐 | 园豆:3145 (老鸟四级) | 2019-05-21 15:08

有转义符 贴到这个上面就没了

支持(0) 反对(0) 问心、 | 园豆:104 (初学一级) | 2019-05-21 15:11

@问心、: 你把这个去掉:SFZH=‘’

支持(0) 反对(0) 三人乐乐 | 园豆:3145 (老鸟四级) | 2019-05-21 15:14

@三人乐乐: 这个不能去 这是格式要求,你看我上面的问题补充,delphi里面也是有的

支持(0) 反对(0) 问心、 | 园豆:104 (初学一级) | 2019-05-21 15:15

@问心、: 你去掉试过没,先定位是哪里的格式错误

支持(0) 反对(0) 三人乐乐 | 园豆:3145 (老鸟四级) | 2019-05-21 15:25

@三人乐乐: 试了 还是一样的错误。

支持(0) 反对(0) 问心、 | 园豆:104 (初学一级) | 2019-05-21 15:26

@问心、: 你把 xml 简化一下,先只读取一个字段,看下出错不

支持(0) 反对(0) 三人乐乐 | 园豆:3145 (老鸟四级) | 2019-05-21 17:07

@三人乐乐: 不行的 少个字段就请求不了 这些都是配置 请求方ID之类的

支持(0) 反对(0) 问心、 | 园豆:104 (初学一级) | 2019-05-21 17:11

@三人乐乐: <?xml version="1.0" encoding="utf-8"?><RBSPMessage><Version>02</Version><SenderID>C00-00001799</SenderID><TimeStamp></TimeStamp><Validity></Validity><Security><Signature Algorithm="des"/><CheckCode Algorithm=""/><Encrypt></Encrypt></Security><Method><EndUser><UserName>陈亮</UserName><UserIDCard>610112197004191016</UserIDCard><UserDept>610100</UserDept><UserCertID></UserCertID></EndUser><Name>Query</Name><Items><Item><Name>DataObjectCode</Name><Value Type="string"><Data>B033</Data></Value></Item><Item><Name>Condition</Name><Value Type="string"><Data>SFZH='61032419820917371X'</Data></Value></Item><Item><Name>RequiredItems</Name><Value Type="arrayOf_string"><Row><Data>XM</Data><Data>XB</Data><Data>MZ</Data><Data>CSRQ</Data><Data>SFZH</Data><Data>ZZXZ</Data><Data>CSD</Data><Data>XP</Data></Row></Value></Item><Item><Name>InfoCodeMode</Name><Value Type="string"><Data></Data></Value></Item></Items></Method></RBSPMessage>这是c#生成的xml报文

支持(0) 反对(0) 问心、 | 园豆:104 (初学一级) | 2019-05-21 17:13

@三人乐乐: <?xml version="1.0" encoding="UTF-8"?><RBSPMessage><Version>02</Version><SenderID>C00-00001799</SenderID><TimeStamp></TimeStamp><Validity></Validity><Security><Signature Algorithm="des"/><CheckCode Algorithm=""/><Encrypt></Encrypt></Security><Method><EndUser><UserName>闄堜寒</UserName><UserIDCard>610112197004191016</UserIDCard><UserDept>610100</UserDept><UserCertID></UserCertID></EndUser><Name>Query</Name><Items><Item><Name>DataObjectCode</Name><Value Type="string"><Data>B033</Data></Value></Item><Item><Name>Condition</Name><Value Type="string"><Data>SFZH='51302119920107343X'</Data></Value></Item><Item><Name>RequiredItems</Name><Value Type="arrayOf_string"><Row><Data>XM</Data><Data>XB</Data><Data>MZ</Data><Data>CSRQ</Data><Data>SFZH</Data><Data>ZZXZ</Data><Data>CSD</Data><Data>XP</Data></Row></Value></Item><Item><Name>InfoCodeMode</Name><Value Type="string"><Data></Data></Value></Item></Items></Method></RBSPMessage>这是delphi生成的报文 2个我都用比对工具 比对过了 除了SFZH的值不一样

支持(0) 反对(0) 问心、 | 园豆:104 (初学一级) | 2019-05-21 17:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册