⑴ php soap wsdl和non-wsdl模式的问题
WSDL是不受语言限制的,跨语言,PHP写的webserver.ASP,java什么的都可以访问
⑵ php soap扩展做webservice的时候 如何传入数组或者对象参数
SOAP可以传递数组和对象,比较复杂不便详述。你可以在网上查阅SOAP的规范。SOAP的对象需要定义在wsdl里。这就要求java调用方也定义这些对象。
使用SOAP要注意一个问题:SOAP没有统一的标准,不同语言对SOAP的实现有微小差别,有可能导致不兼容。
编写SOAP的wsdl是件麻烦而且痛苦的事。你可以试试使用第三方库。Yii框架就提供一个强大的SOAP解决方案。你可以通过注释和类,自动生成wsdl。个人不推荐在PHP中使用SOAP,因为PHP不像其他语言类似JAVA、.NET,提供强大的SOAP支持。
你可以考虑轻量级API,也可以考虑XML-RPC。并不比SOAP差,而且很灵活。
望采纳,谢谢!
⑶ 如何使用zend studio10生成wsdl文件
在php中使用soap(webservice),有时候要用到wsdl文件,如果自己编写,肯定会头大的。好在zde为我们提供了自动生成wsdl的功能,在zend
studio9中,与之前版本不一样的是,你需要单独安装wsdl插件,才可以使用,步骤如下:
1、打开zendstudio9,选择help(帮助)->welcome(欢迎
2、在右边的列表中找到WSDL
Support,勾选
3、点击A...
在php中使用soap(webservice),有时候要用到wsdl文件,如果自己编写,肯定会头大的。好在zde为我们提供了自动生成wsdl的功能,在zend
studio9中,与之前版本不一样的是,你需要单独安装wsdl插件,才可以使用,步骤如下:
1、打开zendstudio9,选择help(帮助)->welcome(欢迎
2、在右边的列表中找到WSDL
Support,勾选
3、点击Apply
changes(应用修改)
4、zde会自动安装,然后提示要重启,点击restart
now(现在重新启动)
wsdl支持安装完毕,下面我们来生成一个wsdl文件,步骤如下:
1、选择保存wsdl的项目文件夹
2、右键-new(新建)->other(其他)
3、在弹出的对话框中选择web
services,在下级菜单中选择WSDL
file,点击next进入下一步
4、命名你的wsdl文件,点击next进入下一步
5、修改target
namespace(目标名称空间),其他不变,点击finish。
全部
⑷ php如何调用wsdl生成客户端,并调用其中的方法
$wsdl = "IP/axws/services/test?wsdl";
$client = new SoapClient($wsdl);
$param = array('arg0'=>'arg0','arg1'=>'arg1');
$ret = $client->getUserinfoByID($param);
if ($ret->return){ print_r($ret->return);}
else{ echo 'no user';}
具体SoapClient需要php的soap支持,看phpinfo里有soap的话就可以了,
⑸ 怎么使用 ThinkPHP搭建 WebService WSDL 服务器
楼主,你好✔✔
其实如果你要详细的了解这个解决方法的话,你可以去看一看视频。我这里有一个地方,那就是你可以去后盾人看一看。效果还不错哟.
⑹ 怎么用PHP开发API供其他客户端调用
一、接口的分类:
1、URL类型的接口
URL
路由带参数式的接口!这个很好做!只要有过Web开发经验的人都能完成!这种接口数据不够隐蔽性,可以直接在浏览其中看到,如支付宝的交易请求URL。需
要加一个MD5签名,和服务器端的再次向支付宝服务器发送验证!虽然soap方式传递的数据隐蔽性很好!但为了数据安全,难免也需要进行数据签名。
2、SOAP类型的接口
无关编程语言、无关平台、扩展性很好,要实现一个SOAP 型的接口,有两种方式:一种有WSDL文件方式、一中无WSDL文件方式!
对
于热爱研究型的人来说,使用第一种方式可以让你清楚的了解PHP是怎么创建了一个Web
Service!但第一种对于新手来说,创建一个XML格式的WSDL文件,是比较难的,这你的先了解熟悉什么是XML!学会XML语法!但对于一个急于
解决问题的人来说!没有这么多的时间去熟悉!所以这是件烦恼的事!
二、PHP环境设置
先配置下PHP的soap环境支持:
找到php.ini文件
;extension=php_soap.dll
删除掉";" ,重启apache服务器
为了便于测试,需要关于wsdl缓存
方式1:
配置文件:php.ini 选项 soap.wsdl_cache_enabled 设置为0
方式2:
代码头添加:ini_set('soap.wsdl_cache_enabled', "0"); //关闭wsdl缓存
三、有WSDL文件方式创建
在
这里先介绍标准的webservice。 那么如何创建wsdl呢?对于PHP来说这确实是件很不容易的事情,有人说用zend
studio创建很方便,这是一种方法。但对于那些不喜欢用zend studio的人来说,会觉得创建一个web service还要安装zend
studio,太强人所难了。
在这里介绍一个简单的方法,到网上下载SoapDiscovery.class.php类,里面有个公用方法:getWSDL,这个方法末尾是用的 return,那么,你修改一下这个方法:
//return sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '</definitions>');
//生成wsdl文件,将上面的return注释
$fso = fopen($this->class_name . ".wsdl" , "w");
fwrite($fso,
sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL,
$serviceWSDL, $messageWSDL, '</definitions>'));
现在生成wsdl的类有了,SoapDiscovery.class.php(源码在最末尾)。
再准备一个提供服务的Service.php类文件或者函数就可以创建wsdl了!
⑺ 如何使用zend studio10生成wsdl文件
在php中使用soap(webservice),有时候要用到wsdl文件,如果自己编写,肯定会头大的。好在zde为我们提供了自动生成wsdl的功能,在zend studio9中,与之前版本不一样的是,你需要单独安装wsdl插件,才可以使用,步骤如下:
1、打开zendstudio9,选择help(帮助)->welcome(欢迎
2、在右边的列表中找到WSDL Support,勾选
3、点击Apply changes(应用修改)
4、zde会自动安装,然后提示要重启,点击restart now(现在重新启动)
wsdl支持安装完毕,下面我们来生成一个wsdl文件,步骤如下:
1、选择保存wsdl的项目文件夹
2、右键-new(新建)->other(其他)
3、在弹出的对话框中选择web services,在下级菜单中选择WSDL file,点击next进入下一步
4、命名你的wsdl文件,点击next进入下一步
5、修改target namespace(目标名称空间),其他不变,点击finish。
⑻ php怎么写跨语言的webservice
是用soap,也可以用rest
关键是你返回数据的格式和生成wsdl文件(soap中用到,也可以作成无wsdl的)
至于怎么显示函数,网上好多soap的教程都有
⑼ php怎么读取wsdl文档
正常情况只要
$client = new SoapClient('wsdl的url');
$Cardholder = $client->retrieveCardholder($a0,$a1,$a2);
就可以了
这种问题属于严重"环境相关",你那拥有测试环境比没有环境的其他人更有优势的
如果搞不定,也尽量把出错信息、代码等原始环境告诉其他人。 切忌自己解释概括
既然语法层面和使用层面都解决不了,你的问题属于“调试层面”,
请给出url和测试帐户,别人替你调试吧。