PHP调用java的webservice,传参java接收不到

时间:2024-03-17 18:08:51
如题,php用的是webservice的wsdl方式来访问的,能访问到接口,但是参数就是传不上去,一直是null,就传一个string类型的数据,难道是类型不同?php的string和java的String类不匹配??

我用php获取到webservice的方法列表是这样的,

但java那边的方法是这样的

那个参数怎么不同了,这个参数要怎么传啊

 

 

自己解决了

header(\'Content-Type: text/html; charset=UTF-8\');
//链接
$http=\'http://xxxxxx?wsdl\';
//参数,很重要,之前搞的时候一直传不了参数过去,原来是这样的,搞死我了
$params=array(\'string\'=>\'xxx\',\'string1\'=>\'xxxx\');
$client = new SoapClient($http,array(\'encoding\'=>\'utf-8\',\'cache_wsdl\' => 0,\'compression\'=>true));
$client->soap_defencoding = \'utf-8\';
$client->xml_encoding = \'utf-8\';
//请求返回的数据
$return = $client->$fun($params);//parameters

j424066970 | 浏览 2513 次 2014-04-17 17:56
2014-04-18 14:01 最佳答案
 
PHP传值时可能需要encode一下,在java那边在decode.
以前一个朋友就和我遇到过,在URL上传值的时候,PHP需要用url_encode(),java那边才能收到