検索

ホームページ  >  に質問  >  本文

PHP は Java によって開発された Web サービス インターフェイスを調整し、処理中にエラーが発生しましたとプロンプトを表示します

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>" ;
                
                }
            }
伊谢尔伦伊谢尔伦2794日前932

全員に返信(1)返信します

  • 为情所困

    为情所困2017-05-16 13:08:32

    nusoap_client クラスを投稿し、try-catch を使用して例外をキャッチするべきではないでしょうか。エラーを出力する前に、$client->__getLastRequest() は要求された XML データを取得し、有用なエラー情報 getMessage を出力します。また、例外追跡情報を取得するために、SOAP 内にカプセル化 getTrace があります。この種の問題が発生した場合は、段階的にデバッグしてください。

    返事
    0
  • キャンセル返事