pb9调用WebServie传入参数为Null的解决办法。

本文提供了一种解决PB调用WebService时参数始终显示为“Null”的方法。通过修改导出的webservice对象文件(*.srx),删除特定部分,使PB能够正确调用WebService方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



pb9调用WebServie有很多麻烦,方法名称有前缀啦,数据类型不匹配啦等等,最恼火的就是调用方法传入参数始终提示为“Null”。百思不得其解,有一天在论坛上看到一个网友的分析,试着自己解决一下,没想到成功了。就是不知道为什么会这样,下面来介绍解决问题的方法。

第一步:导出生成的webservice不可视对象,保存为*.srx;

第二步:用记事本打开这个*.srx,然后在里面找到申明方法的部分格式一般是“function 返回类型 方法名称 (参数列表)”,例如:function any cliDetailSeek (string clinicNo) alias for "cliDetailSeek([in] s:string clinicNo) return s5:clinicDetailResult[ElementName=s5:list] return@http://xxx.xxxx.xxx/@cliDetailSeek*cliDetailSeek*http://xxx.xxxx.xxx"

第三步:逐个删掉"*方法名称*webservice地址"不包括双引号,例如上面的方法申明就删掉“*cliDetailSeek*http://xxx.xxxx.xxx”,变成“function any cliDetailSeek (string clinicNo) alias for "cliDetailSeek([in] s:string clinicNo) return s5:clinicDetailResult[ElementName=s5:list] return@http://xxx.xxxx.xxx/@cliDetailSeek”;注意双引号是必须的,每个方法后边都要删除,然后保存。

第四步:倒入修改后的*.srx,然后regenerate一下,就可以正常调用了。

PB10之后的版本生成webserveice就能直接使用,建议升级pb版本一劳永逸。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值