2012-03-05 87 views
1

我想從wsdl調用方法並獲取錯誤。我是新來肥皂和盡我所能學習。我知道休息是更好,但我真的想學習肥皂。這是我到目前爲止有:我如何調用wsdl的方法

ini_set('soap.wsdl_cache_enable', '0'); 
$client = new SoapClient('http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl'); 
$data = $client->__soapCall('GetQuote', array('GetQuote' => 'aapl')); 
print $data; 

我得到的錯誤是

Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request. ---> Object reference not set to an instance of an object. in /Volumes/www/public/soap/s.php:5 Stack trace: #0 /Volumes/www/public/soap/s.php(5): SoapClient->__soapCall('GetQuote', Array) #1 {main} thrown in /Volumes/www/public/soap/s.php on line 5 

感謝

回答

0

你可以看到http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl

GetQuote要求所有必需的參數,您應該通過StockSymbolLicenseKey。請求示例:

ini_set('soap.wsdl_cache_enable', '0'); 
$client = new SoapClient('http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl'); 
$data = $client->GetQuote(array('StockSymbol' => 'TEST_STR','LicenseKey' => 'TEST_STR')); 
print_r($data); 

與您的數據替換TEST_STR