zend studio 9 生成wsdl
生成WSDL可以有两种方式:
一种是从zend studio中手动创建
点击打开链接http://www.kushu.net/678.html
http://www.cnblogs.com/helloxyz/archive/2011/11/05/2237328.html
几个注意事项:
- 一般会有这么几个文件:server.php(启动soap server),client.php(调用),还有就是业务类action.php
- Target Namespace:可以是任意你想要的,目的是与别的wsdl区分,毕竟wsdl说到底是一个xml
- 创建wsdl的可视化界面上,左边一块是service,中间是binding,右边是porttype。service的Address就是你的启动soap服务的server.php的url地址,你在浏览器里输入什么地址来启用soap服务,这里就填什么;右边的porttype就是你要公开的接口,即你要公开的业务类的方法,你可以指定输入输出的参数类型,可以是基本类型,也可以是复杂类型,这里公开的方法就可以在client中被调用了;中间的binding在每次修改之后要重新genereate一下,以使你的改动生效。
- php的WSDL缓存,在做测试时,一般要将WSDL缓存关闭,否则你使用的有可能是原来的WSDL文件,而不是更新过的。关闭缓存有两种方法,第一种就是直接到php.ini中设置soap.wsdl_cache_enabled = 0;第二种就是在php文件中添加一条语句,ini_set("soap.wsdl_cache_enabled", "0");
另一种是调用第三方library自动创建
- SoapDiscovery.class.php。 http://www.phpddt.com/php/wsdl.html
- nusoap组件。 http://www.scottnichol.com/nusoapprog.htm