2017-01-07 11 views
1

Webサービスを作成しています(私のサーバーはWAMPまたはXAMPPを使用していないubuntu VMですが)問題が発生しました。= Exception:XML文書がないようです。私はインターネットを検索しましたが、主に石鹸の例外がありますが、石鹸の欠陥はありません。それは明白な例外です。ハイフンをエコーし​​ていますが、hi4をエコーし​​ていないので、問題はviewHealthDetails(私のwsdlにあります)にあるかもしれませんが、以前私が別のプロジェクトで使用していたのでwsdlが正しいことがほぼ確実です。助けてください。Webサービス例外:XML文書なし

if(isset($_POST['txtInput'])) 
{ 
    try 
    { 

    $input=$_POST['txtInput']; 

    $wsdl='.../Search.wsdl'; 
    $options=array('cache_wsdl'=>WSDL_CACHE_NONE,'features'=>SOAP_SINGLE_ELEMENT_ARRAYS); 

    $client=new SoapClient($wsdl,$options); 
echo "hi"; 

    $response=$client->viewHealthDetails($input); 

    echo "hi4"; 
    if(isset($response->HealthDetails)) 
    { 

     $HTMLDocument="<!Doctype html> 
     // My html code 

    } 
    else 
    { 
     echo "<h1>This Health type is not in our categories!</h1>"; 
    } 
} 
catch(Exception $e) 
{ 

    echo 'Exception:'.$e->getmessage(); 


} 
catch (SOAPFAULT $exception) 
{ 
    echo 'SOAP Exception: '.$exception->getMessage(); 
} 
} 

    else 
    { 
    } 

答えて

0

このエラーは、PHPが応答XMLを正しく処理できないためにスローされています。その後、要求を行った後var_dump($client->__getLastResponse());を使用

$options=array('cache_wsdl'=>WSDL_CACHE_NONE,'features'=>SOAP_SINGLE_ELEMENT_ARRAYS, 'trace' => 1);

:応答のトラブルシューティングを行うには、あなたにオプションの配列を設定します。これにより、返されたXMLを検査し、正しさを検証することができます。 XMLを破っている他の出力があるかもしれません。

+0

NULLを取得しても例外が発生する –

+0

次に、例外の理由を発見しました.WebサービスからXML応答が得られていないため、空のNULL応答が返されます。 SoapUIのようなツールを使用して呼び出しを複製し、Webサービスが何も返さないことを確認することもできます。 –

関連する問題