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

vb_Man_6 2017-07-04 04:57:07
Private Sub cmdXD_Click()
Dim SOAP As New SoapClient30 '实例化SOAP对象
Dim Result As String 'webservice接口返回代码
Dim xml As String '生成xml格式的字符
Dim oHTTP As XMLHTTP 'HTTP对象
Dim oXmlDoc As DOMDocument
Dim verifyCode1 As String '校验码
Dim verifyCode As String '经过MD5加密后校验码

txtFHSJ.Text = Format(Now, "yyyy-mm-dd hh:mm:ss")
xml = GetWebXml() '获取报文 第一个参数
verifyCode1 = xml & "j8DzkIFgmlomPt0aLuwU" '将报文以及校验码拼接
verifyCode = Base64Encode(MD532OR16(verifyCode1, 16)) '第二个参数 MD5 16位加密转为64位
MsgBox verifyCode
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
...全文
6866 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
stephen_deng 2019-01-09
  • 打赏
  • 举报
回复
楼主解决了吗?加Q82801915交流下
stephen_deng 2019-01-09
  • 打赏
  • 举报
回复
我也遇到差不多的问题,VB调用顺丰API,好麻烦,
赵4老师 2017-09-21
  • 打赏
  • 举报
回复
引用 9 楼 Runnerchin 的回复:
赵老师刷新记录了,一帖复制了两段赵氏语录,干脆编一本红宝书吧。但是你没发现对方调用的是web service吗?SOAPCLIENT也能正常初始化。 刚才测了一下,你这个方法只有一个参数的重载,只要传XML就行了,楼主看文档不仔细啊
我用的都是野路子,出不了书,也上不了大雅之堂。
X-i-n 2017-09-21
  • 打赏
  • 举报
回复
赵老师刷新记录了,一帖复制了两段赵氏语录,干脆编一本红宝书吧。但是你没发现对方调用的是web service吗?SOAPCLIENT也能正常初始化。 刚才测了一下,你这个方法只有一个参数的重载,只要传XML就行了,楼主看文档不仔细啊
舉杯邀明月 2017-09-21
  • 打赏
  • 举报
回复
引用 9 楼 Runnerchin 的回复:
赵老师刷新记录了,一帖复制了两段赵氏语录,干脆编一本红宝书吧。但是你没发现对方调用的是web service吗?SOAPCLIENT也能正常初始化。 ………………
shiguangxin 2017-09-20
  • 打赏
  • 举报
回复
使用 XMLHTTP 不能调用接口吗? 为什么要使用 SoapClient30 ?
赵4老师 2017-07-06
  • 打赏
  • 举报
回复
不要做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 共享临时文本文件这种进程之间的通讯方法相比其它方法的优点有很多,下面仅列出我现在能想到的: ·进程之间松耦合 ·进程可在同一台机器上,也可跨机,跨操作系统,跨硬件平台,甚至跨国。 ·方便调试和监视,只需让第三方或人工查看该临时文本文件即可。 ·方便在线开关服务,只需删除或创建该临时文本文件即可。 ·方便实现分布式和负载均衡。 ·方便队列化提供服务,而且几乎不可能发生队列满的情况(除非硬盘空间满) ·…… “跨语言、跨机,跨操作系统,跨硬件平台,跨国,跨*.*的”苦海无边, 回头是“使用共享纯文本文件进行信息交流”的岸!
舉杯邀明月 2017-07-05
  • 打赏
  • 举报
回复
如果对方的C#代码没有问题(“官方”提供的一般都不会有问题),那只能说明你的“翻译”不正确。
vb_Man_6 2017-07-05
  • 打赏
  • 举报
回复
对方值提供了C#的,里面都已经封装好了。VB6.0这些只能手写
赵4老师 2017-07-05
  • 打赏
  • 举报
回复
学会用OleView查看ocx或dll的接口。
舉杯邀明月 2017-07-05
  • 打赏
  • 举报
回复
Tiger_Zhao 2017-07-05
  • 打赏
  • 举报
回复
万能答案:
让对方提供样例程序
vb_Man_6 2017-07-04
  • 打赏
  • 举报
回复
参数已经核实对照过了没有问题。 两个参数都是字符串类型的

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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