工作中用到作为服务端开放web service接口,之前只写过http接口的我在网上找了很多文章,但他们都不是在ThinkPHP框架下
的,而且也无法自定义生成的wsdl文件的存放目录,所以稍作修改,总结一下,希望能起到抛砖引玉的效果,于是写了这篇文章。
1.首先soap的简介和开启php内置的soap模块,见文章http://blog.yuanrb.com/essay/191
2.开放soap接口有两种方式:
有xml格式wsdl文件的和没有wsdl文件的,这里介绍有wsdl文件的方式。
3.生成wsdl文件:
感谢网友们提供的SoapDiscovery.class.php类,但是这个类不能自定义wsdl文件存放的路径,所以稍作修改,地址在文章末尾。用法如下图介绍。
配置wsdl文件存放的地址:
用这个方法来生成wsdl文件:
在初始化的时候调用上边的方法即可:
4.访问接口地址
tp里边默认的方法里实例化SoapServer,并作配置,如下图。
配置之后,在wsdl文件存放的路径能看到 类名.wsdl的文件,打开文件找到下图的位置:
浏览器打开有如下图的描述文件则成功。
5.访问接口测试,见文章http://blog.yuanrb.com/essay/191
6.相关文件下载(如不能打开请复制到浏览器url打开)
SoapDiscovery.class.php类地址:https://pan.baidu.com/s/1Goou4n7LzRDlKdXan_0saQ
包含截图代码的类文件地址:https://pan.baidu.com/s/1aWD0XU2KF_OWua1zhH9GLQ
示例中wsdl文件地址:https://pan.baidu.com/s/1GFIepy9rrbahz7OVYgBfjg
更详细的视频说明地址:https://www.bilibili.com/video/BV1a7411s77X