php调用java开发的webservice接口报soap:Server: Fault occurred while processing
请求的数据
Array ( [sTicket] => {"username":"3ab6e844ca851bf318294a4f30f4a03e","password":"449924A9471E628995E503E34E9F5C88"} [sMGoods] => {"goodsguid":"60698","goodssourceurl":"http://www.city-office.com.cn/goods.php?id=60698"} )
php调用接口引用nusoap类 用$client->call()方法
上一个接口用同样的方法访问可以 到这个方法就不行了为什么
require_once('lib/nusoap.php');
$client = new nusoap_client('http://220.191.208.229/gpmall/ws/MallService?wsdl', 'wsdl','','');
$client->soap_defencoding = 'utf-8';
$client->xml_encoding = 'utf-8';
$client->decode_utf8 = false;
$username = '3ab6e844ca851bf318294a4f30f4a03e';
$pwd = '449924A9471E628995E503E34E9F5C88';
$aa1= array('username'=>$username,
'password'=>$pwd);
$aa1=json_encode($aa1);
//print_r($aa1);
$goodsparams=array('goodsguid'=>'60698',
'goodssourceurl'=>'http://www.city-office.com.cn/goods.php?id=60698',
);
$goodsparams=json_encode($goodsparams);
//print_r($goodsparams);
$arr=array('sTicket'=>"$aa1",'sMGoods'=>"$goodsparams");
print_r($arr);
$result = $client->call('exchangeGoodsURL',$arr, '', '', false, true);
if (!$err=$client->geterror()) {
//echo '已交换';
print_r($result);
echo '</br>';
} else {
echo 'no';
if ($err) {
// Display the error
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
//print_r($result);
//echo $result['out'];
$ts=explode(',',$result['out']);
$ts1=explode(':',$ts[1]);
echo $i+1,":",$ts1[1],"</br>" ;
}
}
Tidakkah anda patut menyiarkan kelas nusoap_client anda dan menggunakan cuba-tangkap untuk menangkap pengecualian. Sebelum mengeluarkan ralat, $client->__getLastRequest() mendapat data xml yang anda minta dan mencetak maklumat ralat berguna getMessage. Dan terdapat enkapsulasi getTrace di dalam sabun untuk mendapatkan maklumat penjejakan pengecualian. Jika anda menghadapi masalah seperti ini, hanya nyahpepijat langkah demi langkah.