如何在vb6中调用webservice函数,同时传递数组作为参数
答案:1 悬赏:10 手机版
解决时间 2021-04-06 10:14
- 提问者网友:伴风望海
- 2021-04-05 10:00
如何在vb6中调用webservice函数,同时传递数组作为参数
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2021-04-05 11:39
这个函数的用法,是传递两个string类型的参数。
你想直接传递数组是不可能的。
解决思路:
1、循环遍历数组,将数据拆成一对对的字符串,使用此函数
2、再重新定义一个函数,支持传递数组参数,内部功能与1类似。即重新封装一下。追问webservice不是我写的,我无法修改和封装函数。另外该函数说明中有一条是传递一次会把上次的数据先删除,如果我一条条地传,最终只能保留住最后一条。所以您这两个思路都不行。另外PB能实现传递数组,有人用PB做了。追答上次的数据会先删除,你在本地储存好历史数据就是了
PB能实现数组,肯定是实现的封装功能。追问服务器上会删除上次soap的内容,就是内容被服务器保存在数据库中,再次soap时,上次soap的内容先从服务器数据库中删除,然后把新的数据插入。所以必须一次上传,不能分条上传。保存在本地没有意义,本地数据就在本地数据库中。追答将数组用join的方式,拼成一个字符串,再传递呢。
下次从服务器中获取数据时,再以解码的方式,拆分成数组。追问服务器程序不是我能管的,是另一方出的接口标准,join只能连接成一个字符串传过去,但是服务器不能正常处理为数组。WSDL中是这样描述两个参数的: 追答想不通为啥一定要用数组,既然服务器程序不支持数组,就要想变通的法子了。
那你试试能否放在多个数据库。
最终获取的时候再合并。追问不是服务器不支持数组,而是VB的字符串数组soapclient调用函数时说类型不符。我调试了,发现不是服务器不接收,而是soapclient认为WSDL中描述的类型与vb的类型不一致。
你想直接传递数组是不可能的。
解决思路:
1、循环遍历数组,将数据拆成一对对的字符串,使用此函数
2、再重新定义一个函数,支持传递数组参数,内部功能与1类似。即重新封装一下。追问webservice不是我写的,我无法修改和封装函数。另外该函数说明中有一条是传递一次会把上次的数据先删除,如果我一条条地传,最终只能保留住最后一条。所以您这两个思路都不行。另外PB能实现传递数组,有人用PB做了。追答上次的数据会先删除,你在本地储存好历史数据就是了
PB能实现数组,肯定是实现的封装功能。追问服务器上会删除上次soap的内容,就是内容被服务器保存在数据库中,再次soap时,上次soap的内容先从服务器数据库中删除,然后把新的数据插入。所以必须一次上传,不能分条上传。保存在本地没有意义,本地数据就在本地数据库中。追答将数组用join的方式,拼成一个字符串,再传递呢。
下次从服务器中获取数据时,再以解码的方式,拆分成数组。追问服务器程序不是我能管的,是另一方出的接口标准,join只能连接成一个字符串传过去,但是服务器不能正常处理为数组。WSDL中是这样描述两个参数的:
那你试试能否放在多个数据库。
最终获取的时候再合并。追问不是服务器不支持数组,而是VB的字符串数组soapclient调用函数时说类型不符。我调试了,发现不是服务器不接收,而是soapclient认为WSDL中描述的类型与vb的类型不一致。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯