600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 知道服务器端Wsdl 不写服务端代码 仅写客户端代码能调用服务端办法吗?

知道服务器端Wsdl 不写服务端代码 仅写客户端代码能调用服务端办法吗?

时间:2022-10-23 04:31:06

相关推荐

知道服务器端Wsdl 不写服务端代码 仅写客户端代码能调用服务端办法吗?

后端开发|php教程

知道服务器端Wsdl,不写服务端代码,仅写客户端代码能调用服务端的方法吗?

后端开发-php教程

新手请教,望高手朋友不吝赐教,无比感谢中。

今天一大早开始研究Webservice,有一本不太专业的参考书,随便找了一个服务端的Wsdl,想调用其中的方法,结果搞了一天,无果,老报错,郁闷。

代码如下:

<?php

$client = new SoapClient(‘/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

房产源码,容器内安装vscode,ubuntu国内更新源,访问tomcat文件,sqlite 多连接,网页设计 教材 评论,动易在进入下一步之前请先设置好数据库的登录帐号并建好数据库,同服务器查询,dreamweaver cs6插件,常用前端框架 移动端,淘宝搜索爬虫,php文章,seo知识分享,springboot订单,html strong标签,电脑维修公司网站源码,win8网页设计,lol模板下载,帝国后台被禁用,简单简洁的404页面模板下载,电表管理系统下载,微信小程序是什么代码lzw

回复讨论(解决方案)

商城网站源码,ubuntu发布日期计划,云服务器怎么装tomcat,爬虫技术实际应用,电脑安装软件时不能安装php,莲花seo公司lzw

本帖最后由 xuzuning 于 -03-05 08:03:50 编辑

仿58城市分类源码,ubuntu搜狗卡,tomcat独立运行程序,python 爬虫定位,hb php,新乡县seo关键词推广lzw

...$param = array( heStockCode=>sh600031);$result = $soapClient->__soapCall(getStockInfoByCode, array($param));

...$param=array( heStockCode=>sh600031);$result = $soapClient->getStockInfoByCode($param);print_r($result->getStockInfoByCodeResult);

stdClass Object

(

[string] => Array

(

[0] => sh600031

[1] => 三一重工

[2] => -03-04 15:03:08

[3] => 10.77

[4] => 11.78

[5] => 11.70

[6] => -1.01

[7] => 10.60

[8] => 11.70

[9] => -8.57%

[10] => 1208965.54

[11] => 131792.9891

[12] => 10.78

[13] => 10.79

[14] => 9.42%

[15] => 10.78 / 517.00

[16] => 10.77 / 855.00

[17] => 10.76 / 744.00

[18] => 10.75 / 627.40

[19] => 10.74 / 935.00

[20] => 10.79 / 309.50

[21] => 10.80 / 2509.34

[22] => 10.81 / 137.00

[23] => 10.82 / 50.00

[24] => 10.83 / 39.00

)

)

首先,谢谢朋友的热情回复,我先试试。

原码如下,其中参考了朋友指点的代码写法<?php

$client = new SoapClient(‘/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

soapClient

你的命名是$client

soapclient与$client,一个是实例化对象, 一个是变量名称,这点我还分得清楚,在程序里也没有混淆。我现在的疑惑是,自己的代码有语法错误,还是引用对象不规范。又或者是wsdl文件路径问题,我头都大了,没有头绪,好难,其实目标简单,就是将股票价格显示在客户端,有谁最好亲自试下,然后给出结果。再次感谢。

soapclient与$client,一个是实例化对象, 一个是变量名称,这点我还分得清楚,在程序里也没有混淆。我现在的疑惑是,自己的代码有语法错误,还是引用对象不规范。又或者是wsdl文件路径问题,我头都大了,没有头绪,好难,其实目标简单,就是将股票价格显示在客户端,有谁最好亲自试下,然后给出结果。再次感谢。

哦?是么。你区分清楚了?

这是什么?:

$client = new SoapClient(‘/WebServices/ChinaStockWebService.asmx?WSDL’,array(‘encoding’=>’gb2312’));

$param = array(‘theStockCode’=>’sh600031’);

$result = $soapClient->getStockInfoByCode($param);

print_r($result->getStockInfoByCodeResult);

明显应该是: $result = $client->getStockInfoByCode($param);

试过了,还是不行,Fatal error: Uncaught SoapFault exception: [HTTP] Unable to parse URL in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\CreateSoap\600033.php:15 Stack trace: #0 [internal function]: SoapClient->__doRequest(‘__soapCall(‘getStockInfoByC…’, Array) #2 {main} thrown 这么长的错误提示不知如何是好了。,

结贴。找到原因。php真他娘的弱,在远程服务器端调用天气预报接口成功,同样的写法调用股票接口却错误频出,新手无耐,只能啃书,书海茫茫,毫无头绪,不是不下功夫,只是搜索范围太广,不知如何是好,还好,运气来了,原来WEB调用真的很简单,想要的东西出来了,原来只有三四行脚本,但苦了我很多日子。找到WSDL,然后用语句$client = new SoapClient 加载它,这是关键的一步,接下来就是引用其中的方法了,我走了很多弯路,导致我以为自己走的路全错了。如:$param = array(‘theCityName’=>”南阳”);

$result = $client->__soapCall(‘getWeatherbyCityName’,array(‘paramters’=>$param));

成功,但换成股票接口WSDL,引用其中方法,正确传参后,失败,反复试验,终于找到解决方法,原来是数组问题,不应用以上写法,换一种写法传参就很顺利拿到东西了

如:$param = array(‘theCityName’=>”南阳”);

$result = $client->__soapCall(‘getWeatherbyCityName’,array(‘paramters’=>$param));

成功,但换成股票接口WSDL,引用其中方法,正确传参后,失败,反复试验,终于找到解决方法,原来是数组问题,不应用以上写法,换一种写法传参就很顺利拿到东西了

请楼具体说下”换成怎样的方法传参才能成功,谢谢!!!”

最近也在研究soap,希望楼主指点一二,谢谢!!!

结贴。找到原因。php真他娘的弱,在远程服务器端调用天气预报接口成功,同样的写法调用股票接口却错误频出,新手无耐,只能啃书,书海茫茫,毫无头绪,不是不下功夫,只是搜索范围太广,不知如何是好,还好,运气来了,原来WEB调用真的很简单,想要的东西出来了,原来只有三四行脚本,但苦了我很多日子。找到WSDL,然后用语句$client = new SoapClient 加载它,这是关键的一步,接下来就是引用其中的方法了,我走了很多弯路,导致我以为自己走的路全错了。如:$param = array(‘theCityName’=>”南阳”);

$result = $client->__soapCall(‘getWeatherbyCityName’,array(‘paramters’=>$param));

成功,但换成股票接口WSDL,引用其中方法,正确传参后,失败,反复试验,终于找到解决方法,原来是数组问题,不应用以上写法,换一种写法传参就很顺利拿到东西了

找到WSDL,然后用语句$client = new SoapClient 加载它,这是关键的一步,接下来就是引用其中的方法了,

为什么我引用不了其中的方法啊 ,求楼主赐教啊

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。