php调用webservice接口,java代码接收不到参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php调用webservice接口,java代码接收不到参数相关的知识,希望对你有一定的参考价值。

  前段时间做了一个项目的二次开发,有个功能是需要php调用java实现的webservice接口,并传递一些参数给接口,然后按照对方提供的接口说明文档进行传参调用,java那边有接收到请求,但是参数总是为null,部分代码如下:

1 $client = new SoapClient ($this->webServiceUrl); 
2 $client->soap_defencoding = ‘utf-8‘;
3 $client->xml_encoding = ‘utf-8‘;
4 $param = $context;//参数拼接xml字符串
5 $result = $client->managementMemberInfo($param);//返回值

  不管传什么类型的数据,对方接收到的都是null。然后各种百度(此处有吐槽:百度真心辣鸡。),百度出来各种乱七八糟的答案,各种尝试,然后继续各种失败。[email protected]。。。。后面看到一篇文章,说要添加键值,然后尝试了一下:

1 $client = new SoapClient ($this->webServiceUrl); 
2 $client->soap_defencoding = ‘utf-8‘;
3 $client->xml_encoding = ‘utf-8‘;
4 $param = array(‘context‘=> $context);//参数拼接xml字符串
5 $result = $client->managementMemberInfo($param);//返回值

  然后,依然是悲剧。。。。。。继续百度,必应。。。然后又看到一篇说要添加键值,键名为arg0这种,如果有多个应该是一次类推arg1,arg2等等,好吧,本来自己觉得跟前面加键值没啥区别,但还是试了一下:

1 $client = new SoapClient ($this->webServiceUrl); 
2 $client->soap_defencoding = ‘utf-8‘;
3 $client->xml_encoding = ‘utf-8‘;
4 $param = array(‘arg0‘=>$context);//参数拼接xml字符串
5 $result = $client->managementMemberInfo($param);//返回值

  然后,对方说接收到数据了。。。。。。

 

  特此记录一下。ps:对于为什么一定是arg0不太明白,如果有明白的,希望给小白指点一下,谢谢。

以上是关于php调用webservice接口,java代码接收不到参数的主要内容,如果未能解决你的问题,请参考以下文章

如何在Dynamic CRM 2013中创建WebService接口供其它系统调用

如何在Dynamic CRM 2013中创建WebService接口供其它系统调用

java如何调用webservice接口

php调用webservice接口

php调用java写的WebService不能传参问题解决

java程序怎么调用webservice接口,实现发送短信功能