LiveBOS Webservice传参类型为list数组
程序员文章站
2022-06-05 18:22:36
昨天有使用soap传输数据到Webservice,其中字符串类型的都已经传输成功,但是有几个参数传输失败,java服务器端收到的空值。 因为我是php的,然后接收端是java制作的,其中有几个参数是list数组类型的,我刚开始将php的数组传过去,服务端接收到的是空,然后再使用json格式还是不行。 ......
昨天有使用soap传输数据到webservice,其中字符串类型的都已经传输成功,但是有几个参数传输失败,java服务器端收到的空值。
因为我是php的,然后接收端是java制作的,其中有几个参数是list数组类型的,我刚开始将php的数组传过去,服务端接收到的是空,然后再使用json格式还是不行。后来去询问java同事,他们说list数组类型不像php一样是有键值和键名的,
java的list数组是只有name和value对应关系,如下所示
$arr = array('userid'=>1,'name'=>'张三',params=>arrary(array('name'=>'数组1','value'=>'值1'),'name'=>'数组2','value'=>'值2'));
将数组通过name和value对应关系后传输给java,java就能解析list数组进行存储。
__soapcall返回的是object类型的数组,可以先使用json_encode,然后再json_decode进行转换,变为数组格式进行分析判断。
到此为止,soap传输数据总算完成了。接下来就是一些细节对接问题。因为webservice是有用户校验的,因此我需要先使用它们的登录方法进行登录,然后获取到对应的session值。为了避免不必要的重复登录步骤,因此我将此session值缓存下来,
放入到cash目录下,然后每次传输数据时都先取然后传输,如果session过期或者无效,根据返回的code判断然后再重新登录更新session值。
上一篇: java 虚拟机原理
下一篇: C 基础数据类型 性能测试