如题,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
2014-04-18 14:01
最佳答案
PHP传值时可能需要encode一下,在java那边在decode.
以前一个朋友就和我遇到过,在URL上传值的时候,PHP需要用url_encode(),java那边才能收到