新手请教,望高手朋友不吝赐教,无比感谢中。
今天一大早开始研究Webservice,有一本不太专业的参考书,随便找了一个服务端的Wsdl,想调用其中的方法,结果搞了一天,无果,老报错,郁闷。
代码如下:
<?php
$client = new SoapClient('http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?WSDL',array('encoding'=>'gb2312'));
$param=array('theStockCode'=>'sh600031');
$result = $client->__soapcall('getStockInfoByCode',$param);
$jg=$result->getStockInfoByCodeResult;
print_r($jg);
?>
就这么些,不多,没有服务端代码,Soap模块什么的都已打开能检测到,用的是Apache+php+mysql;连JAVA都没装,一个方向就是专心搞PHP,运行后出现错误提示:Fatal error: Uncaught SoapFault exception: [soap:Server] 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。 in C:\Program Files\6000345.php:4 Stack trace: #0 C:\Program Files\6000345.php(4): SoapClient->__soapCall('getStockInfoByC...', Array) #1 {main} thrown in C:\Program Files\6000345.php on line 4
今天一大早开始研究Webservice,有一本不太专业的参考书,随便找了一个服务端的Wsdl,想调用其中的方法,结果搞了一天,无果,老报错,郁闷。
代码如下:
<?php
$client = new SoapClient('http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?WSDL',array('encoding'=>'gb2312'));
$param=array('theStockCode'=>'sh600031');
$result = $client->__soapcall('getStockInfoByCode',$param);
$jg=$result->getStockInfoByCodeResult;
print_r($jg);
?>
就这么些,不多,没有服务端代码,Soap模块什么的都已打开能检测到,用的是Apache+php+mysql;连JAVA都没装,一个方向就是专心搞PHP,运行后出现错误提示:Fatal error: Uncaught SoapFault exception: [soap:Server] 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。 in C:\Program Files\6000345.php:4 Stack trace: #0 C:\Program Files\6000345.php(4): SoapClient->__soapCall('getStockInfoByC...', Array) #1 {main} thrown in C:\Program Files\6000345.php on line 4
$client = new SoapClient('http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?WSDL',array('encoding'=>'gb2312'));
$param = array('theStockCode'=>'sh600031');
$result = $soapClient->getStockInfoByCode($param);
print_r($result->getStockInfoByCodeResult);
?>
照朋友教的,运行后,有如下错误提示。
Fatal error: Call to a member function getStockInfoByCode() on a non-object on line 4
哦?是么。你区分清楚了?
这是什么?:
$client = new SoapClient('http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?WSDL',array('encoding'=>'gb2312'));
$param = array('theStockCode'=>'sh600031');
$result = $soapClient->getStockInfoByCode($param);
print_r($result->getStockInfoByCodeResult);明显应该是: $result = $client->getStockInfoByCode($param);
$result = $client->__soapCall('getWeatherbyCityName',array('paramters'=>$param));
成功,但换成股票接口WSDL,引用其中方法,正确传参后,失败,反复试验,终于找到解决方法,原来是数组问题,不应用以上写法,换一种写法传参就很顺利拿到东西了
$result = $client->__soapCall('getWeatherbyCityName',array('paramters'=>$param));
成功,但换成股票接口WSDL,引用其中方法,正确传参后,失败,反复试验,终于找到解决方法,原来是数组问题,不应用以上写法,换一种写法传参就很顺利拿到东西了
请楼具体说下"换成怎样的方法传参才能成功,谢谢!!!"
最近也在研究soap,希望楼主指点一二,谢谢!!!
为什么我引用不了其中的方法啊 ,求楼主赐教啊
你