我试图从 wsdl 调用方法并收到错误。我是 SOAP 新手,正在尽我所能地学习。我知道休息更好,但我真的很想学 SOAP 。这是我到目前为止所拥有的:
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
谢谢
最佳答案
您可以在 http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl
中查看 GetQuote
请求所需的所有参数
您应该传递 StockSymbol
和 LicenseKey
。请求示例:
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 替换为您的数据
关于php - 如何从 wsdl 调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9562472/