php appelle l'interface de service Web développée par Java et rapporte soap : Serveur : une erreur s'est produite lors du traitement
Données demandées
Array ( [sTicket] => {"username":"3ab6e844ca851bf318294a4f30f4a03e","password":"449924A9471E628995E503E34E9F5C88"} [sMGoods] => {"goodsguid":"60698", "goodssourceurl":"http: //www.city-office.com.cn/goods.php?id=60698"} )
PHP appelle l'interface pour référencer la classe nusoap en utilisant la méthode $client->call()
L'interface précédente est accessible en utilisant la même méthode, mais pas cette méthode. Pourquoi ?
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 = faux;
$nom d'utilisateur = '3ab6e844ca851bf318294a4f30f4a03e';
$pwd = '449924A9471E628995E503E34E9F5C88';
$aa1= array('nom d'utilisateur'=>$nom d'utilisateur,
'mot de passe'=>$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);
si (!$err=$client->geterror()) {
//echo 'échangé';
print_r($résultat);
echo '</br>';
} autre {
faire écho à « non » ;
si ($err) {
// Afficher l'erreur
echo '<h2>Erreur</h2><pre>' '</pre>';
} autre {
//print_r($résultat);
//echo $result['out'];
$ts=exploser(',',$result['out']);
$ts1=exploser(':',$ts[1]);
echo $i+1,":",$ts1[1],"</br>" ;
}
Ne devriez-vous pas publier votre classe nusoap_client et utiliser try-catch pour intercepter les exceptions. Avant de générer l'erreur, $client->__getLastRequest() récupère les données XML que vous avez demandées et imprime les informations d'erreur utiles getMessage. Et il existe une encapsulation getTrace dans Soap pour obtenir des informations de suivi des exceptions. Si vous rencontrez ce genre de problème, déboguez-le simplement étape par étape.