vb 6.0 调用顺丰BPS接口出错,急! 在线等

[复制链接]
查看11 | 回复10 | 2021-1-27 05:40:10 | 显示全部楼层 |阅读模式
PrivateSubcmdXD_Click()
DimSOAPAsNewSoapClient30'实例化SOAP对象
DimResultAsString'webservice接口返回代码
DimxmlAsString'生成xml格式的字符
DimoHTTPAsXMLHTTP'HTTP对象
DimoXmlDocAsDOMDocument
DimverifyCode1AsString'校验码
DimverifyCodeAsString'经过MD5加密后校验码
txtFHSJ.Text=Format(Now,"yyyy-mm-ddhh:mm:ss")
xml=GetWebXml()'获取报文第一个参数
verifyCode1=xml&"j8DzkIFgmlomPt0aLuwU"'将报文以及校验码拼接
verifyCode=Base64Encode(MD532OR16(verifyCode1,16))'第二个参数MD516位加密转为64位
MsgBoxverifyCode
txtQQBWXX.Text=xml&""&verifyCode
SOAP.MSSoapInit"http://bsp-ois.sit.sf-express.com:9080/bsp-ois/ws/sfexpressService?wsdl"'初始化连接
'SOAP.MSSoapInit"http://localhost:2649/Home/Text"
SOAP.ClientProperty("ServerHTTPRequest")=True
SOAP.ConnectorProperty("Timeout")=3600000'连接属性
Result=SOAP.sfexpressService(xml,verifyCode)
txtFHBWXX.Text=Result


分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层
参数已经核实对照过了没有问题。两个参数都是字符串类型的
回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层
万能答案:
让对方提供样例程序
回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层



回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层
学会用OleView查看ocx或dll的接口。
回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层
对方值提供了C#的,里面都已经封装好了。VB6.0这些只能手写
回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层
如果对方的C#代码没有问题(“官方”提供的一般都不会有问题),那只能说明你的“翻译”不正确。


回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层
不要做A语言代码修改为B语言代码的无用功。
也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。
只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。
即可很方便地让A、B两种语言之间协调工作。
比如:
A将请求数据写到文件a.txt,写完后改名为aa.txt
B发现aa.txt存在时,读取其内容,调用相应功能,将结果写到文件b.txt,写完后删除aa.txt,再将b.txt改名为bb.txt
A发现bb.txt存在时,读取其内容,读完后删除bb.txt
以上A可以替换为任何一种开发语言或开发环境,B可以替换为任何一种与A不同的开发语言或开发环境。
除非A或B不支持判断文件是否存在、文件读写和文件更名。
但是谁又能举出不支持判断文件是否存在、文件读写和文件更名的开发语言或开发环境呢?
可以将临时文件放在RamDisk上提高效率减少磨损磁盘。
数据的结构很复杂的话,文本文件的格式问题可参考json或xml
共享临时文本文件这种进程之间的通讯方法相比其它方法的优点有很多,下面仅列出我现在能想到的:
·进程之间松耦合
·进程可在同一台机器上,也可跨机,跨操作系统,跨硬件平台,甚至跨国。
·方便调试和监视,只需让第三方或人工查看该临时文本文件即可。
·方便在线开关服务,只需删除或创建该临时文本文件即可。
·方便实现分布式和负载均衡。
·方便队列化提供服务,而且几乎不可能发生队列满的情况(除非硬盘空间满)
·……
“跨语言、跨机,跨操作系统,跨硬件平台,跨国,跨*.*的”苦海无边,
回头是“使用共享纯文本文件进行信息交流”的岸!

回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层
使用XMLHTTP不能调用接口吗?为什么要使用SoapClient30?
回复

使用道具 举报

千问 | 2021-1-27 05:40:10 | 显示全部楼层
赵老师刷新记录了,一帖复制了两段赵氏语录,干脆编一本红宝书吧。但是你没发现对方调用的是webservice吗?SOAPCLIENT也能正常初始化。
刚才测了一下,你这个方法只有一个参数的重载,只要传XML就行了,楼主看文档不仔细啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行