php SOAP客户端访问 JAVA soap服务端示例

时间:2022-04-05 05:23:03
<pre name="code" class="php"><?php
//php soap客户端,JAVA服端
//特别注意paras参数是数组,而且key要是java方法变量名,不然传不过数据
//比如java 的方法是 validatePoints(string paras) 那个你传过去的数组就像下面那data_array一样
function php_soap_client( $url, $data_array = array('paras' => ''))
{

$option = array( 'trace'=>true,'cache_wsdl'=>WSDL_CACHE_NONE /*, 'soap_version' => SOAP_1_2 */);
$client = new SoapClient($url,$option);
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$client->xml_encoding = 'UTF-8';
//print($xml);exit;

$paras = $data_array;
try{
//validatePoints是JAVA中的函数方法
$result = $client->validatePoints( $paras );
//var_dump($result);exit;


}catch(SoapFault $e){
//下面是打印一些错误
//print "{$e->getMessage()}<br/>";
//print $client->__getLastRequest(). "<br>";
//print $client->__getLastResponse(). "<br>";
return false;
}

var_dump( $client->__getLastResponseHeaders() ); //取得最后请求的响应
var_dump( $client->__getFunctions() ); //查看可以调用的方法
var_dump( $client->__getTypes() ); //查看可以调用的方法的参数变量类型
return false;
}