JSP站点中集成Discuz论坛整体解决方案 -第二章 用PHP创建WebService服务端
本章节将详细讲述如何用PHP创建WebService服务端。
开发工具:Zend Studio 7.2;
部署环境:WampServer2.0c(包括了Apache、MySql、PHP)。
?
由于我们采用的部署环境是wamp,所以dbgp-bbs项目是部署在www目录下,如下图所示:
?
?
大家都知道,用UCenter安装完Discus后,论坛dbgp-bbs是没有任何工程文件的,所以在这种情况下是不能直接使用Zend Studio工具来对其进行开发的,所以下面我们的第一步就是如何把已经安装好的dbgp-bbs项目导入到Zend Studio开发环境中。
第一种方法,你可以随意用Zend Studio新建一个PHP Project,然后把工程文件拷贝到bbs目录下,然后用记事本工具打开这些文件进行编辑,改成本项目的内容,如.project文件内容:
?
?
第二种方法,你可以把Zend Studio的默认WorkSpace设置为www\dbgp目录,然后新建一个PHP Project项目dbgp-bbs,把指向www\dbgp\bbs目录,创建完毕后在Zend Studio 中刷新一下整个项目,就可以看到所有的目录文件了。
在工程中新建一个目录,命名为usersyncservice,然后在目录中新建一个PHP文件,在文件内编写服务端代码。本文不再讲解与PHP语法相关的事情,阁下可以参阅相关PHP技术文档。现在把代码贴出来,关键之处已经做了详细的注解。
?不知道怎么回事,Zend Studio 7.2不支持自动将PHP文件转换为WSDL,所以必须手动生成WSDL文件。
在usersyncservice目录中新建WSDL文件,如下图所示:
??
?
?
??
完整的WSDL源代码如下:
?
在浏览器地址中输入
http://localhost/dbgp/bbs/usersyncservice/UserSyncSoap.wsdl,查看是否能够XML文档。
这只是进行最最初步和简单的测试,真正的测试,你必须编写代码调用此WebService测试才行。
Soap通讯是基于XML的,并且要求WebService客户端和服务端的文件编码必须一致是UTF-8,所以在Zend Studio工程中必须把上面涉及到的两个文件的编码格式设置为UTF-8。
?
其他说明:
本章节主要是讲述利用Zend Studio编写WebService服务端的流程,中间涉及到的WebService开发技术、WSDL编写技术、PHP语法等只是,需要阁下自行学习和查找。本人也是在编写此文章的之前四天才开始接触PHP和Zend Studio的,几乎所有的东西都是从网络上查找的,然后本人一步一步的进行测试,解决了一个又一个讨厌的小问题,最后才总算把整个解决方案搞定。
如果阁下在学习过程中遇到与此相关的问题,可以告诉我,我会尽力帮助解决的。?