3
我正在做一個很簡單的錯誤,但似乎無法解決。我正在嘗試使用PHP SoapClient庫向SOAP服務發送SOAP請求。PHP SoapClient:類stdClass的對象無法轉換爲字符串
「類stdClass的客體不能被轉換成字符串」
下面是代碼,主要來自PHP SoapClient的手動拍攝:嘗試打印時出現以下錯誤。
<?php
try {
$options = array(
'soap_version'=>SOAP_1_2,
'exceptions'=>true,
'trace'=>1,
'cache_wsdl'=>WSDL_CACHE_NONE
);
$client = new SoapClient('http://www.webservicex.net/ConvertTemperature.asmx?WSDL', $options);
$results = $client->ConvertTemp(array('Temperature'=>'100', 'FromUnit' => 'degreeCelsius',
'ToUnit' => 'degreeFahrenheit'));
}
catch (Exception $e)
{
echo "<h2>Exception Error!</h2>";
echo $e->getMessage();
}
$results = $client->ConvertTemp(array('Temperature'=>'100', 'FromUnit' => 'degreeCelsius',
'ToUnit' => 'degreeFahrenheit'));
print $results;
?>
我知道這條消息告訴我,我試圖打印整個對象而不是該對象的成員。我不明白的是,我期待一個調用ConvertTemp來返回一個字符串。爲什麼一個對象正在返回?預先感謝您的幫助。
謝謝。你是對的。我現在看到該呼叫正在作爲對象返回。現在將$ results作爲對象處理,我無法訪問成員ConvertTempResult。也許我的語法不正確。我正在使用'print $ results-> ConvertTempResult',但是我現在收到一個「未定義的變量」錯誤。 – dsell002
其餘的代碼保持不變,'print $ results-> ConvertTempResult;'在這裏工作......你確定你沒有改變任何東西嗎? – Wrikken
嗯,我想知道它至少在某個地方工作是很好的。代碼與唯一的區別是對成員變量的引用相同。我認爲這可能會脫離原來的主題,所以我不認爲我會再把這個主題拖出來。如果代碼正在工作,那麼很可能是我的設置有問題,可能是服務器設置(XAMPP),防火牆等等。謝謝您的幫助。 – dsell002