php は Java によって開発された Web サービス インターフェイスを呼び出し、soap:Server: 処理中に障害が発生したことを報告します。
リクエストされたデータ
Array ( [sTicket] => {"ユーザー名":"3ab6e844ca851bf318294a4f30f4a03e","パスワード":"449924A9471E628995E503E34E9F5C88"} [sMGoods] => {"goodsguid":"60698","goodssourceurl":"http://www.city-office.com.cn/goods.php?id=60698"} )
PHP は、$client->call() メソッドを使用してインターフェイスを呼び出し、nusoap クラスを参照します
前のインターフェイスには同じ方法でアクセスできますが、この方法ではアクセスできないのはなぜですか?
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;
$ユーザー名 = '3ab6e844ca851bf318294a4f30f4a03e';
$pwd = '449924A9471E628995E503E34E9F5C88';
$aa1= array('ユーザー名'=>$ユーザー名,
'パスワード'=>$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()) {
//エコー「交換」;
print_r($result);
エコー '</br>';
} それ以外 {
「いいえ」をエコーします。
if ($err) {
// エラーを表示する
echo '<h2>エラー</h2><pre>' '</pre>';
} それ以外 {
//print_r($result);
//エコー $result['out'];
$ts=explode(',',$result['out']);
$ts1=explode(':',$ts[1]);
echo $i+1,":",$ts1[1],"</br>" ;
}
}
为情所困2017-05-16 13:08:32
nusoap_client クラスを投稿し、try-catch を使用して例外をキャッチするべきではないでしょうか。エラーを出力する前に、$client->__getLastRequest() は要求された XML データを取得し、有用なエラー情報 getMessage を出力します。また、例外追跡情報を取得するために、SOAP 内にカプセル化 getTrace があります。この種の問題が発生した場合は、段階的にデバッグしてください。