2014-05-07 50 views
1

按標題,我使用捲曲,最多可連接到我的web服務這應該然後輸出XML格式的響應。 cURL根據我的支票在服務器上啓用,但它在$xml的響應中不顯示任何內容。PHP - 捲曲不輸出XML數據

define('SERVICE_URL', 'http://www.myurl.com/webservices/users'); 
define('USERNAME', 'user'); 
define('PASSWORD', 'pass'); 
//define('KEY', 'YOUR_KEY/SID_HERE'); 

$post = array(
     'UserID' => '5', 
     'Name' => 'John', 
); 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, SERVICE_URL); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$result = curl_exec($ch); 

curl_close($ch); 

$xml = new SimpleXMLElement($result); 
echo $xml; 
+0

你檢查的捲曲的錯誤? –

+0

@cale_b:我只檢查它是否啓用,它是。我現在嘗試'if(curl_errno($ c))...'。 –

+0

它真的返回有效的XML數據?請檢查日誌上的錯誤。 – Aldee

回答

0

首先,檢查$ result是否實際上給你一個結果。如果不是,那麼你的問題不在於SimpleXMLElement,而是在你的curl調用中。

其次,創建一個發送數據到您的網址的HTML表單和檢查,看看它的實際發送回數據。如果你沒有收到數據,那麼問題出在服務上,而不是你的curl調用。

最後,如果你在$ result中獲取數據,然後檢查你的SimpleXMLElement通話例外:

try { 
    $xml = new SimpleXMLElement($result); 
} 
catch(Exception $e) { 
    echo "found an exception: " . $e; 
} 
+0

感謝@CullyLarson我很快就會給這個一展身手,並告知:) –

+0

同時,確保錯誤報告是使用error_reporting(E_ALL) – Cully

+0

感謝,將確保它! –