nusoap传递数组对象

本文介绍使用nusoap在PHP调用WEBSERVICE时如何正确传递数组对象的方法。通过修改nusoap_client.PHP源文件,实现了对特定格式数组的支持,解决了nusoap不支持二维数组对象的问题。
nusoap传递数组对象

  由于工作原因 用PHP调用WEB SERVICE,使用Nusoap包进行操作。
    由于对方提供的一个方法中,需要传递数组对象作为参数。我实验了近百次,发现nusoap不支持二维数组对象,也不支持二维数组。基本上就是需要下面这种格式的数据作为参数。
    Array(
      key0=>value
      key1=>Array(
       key=>Array(k0=>v),
       key=>Array(k1=>v))
    )

   发现nusoap无法解析此参数。就读了下nusoap_client.PHP源文件。
   在6286行,增加如下代码便可
   if( $eName == 'key' ){
        foreach( $xvalue AS $eName=>$xv ) {
            $v = $xv;
            $xml .= $this->serializeType(trim($eName), isset($attrs['type']) ? $attrs['type'] : $attrs['ref'], $v, $use, $encodingStyle, false);
        }
       continue;
  }
  将key替换为你所需要的key就可以了。
  总结:数组的key是不可以重复的,而xml是允许且其本质就是需要节点重复的。

 




      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/925196,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值