php5 apache 2.2 webservice 创建与配置(java)

2015-01-24信息快讯网
php 5 apache 2.2 webservice 创建与配置
测试工具:wsCaller.jar (此文是给java程序调用的webservice)
提示:要运行wsCaller.jar 要选安装jdk 如果没有安装jdk 则wsCaller.jar 会以压缩包的形式显示
1 写webservice 要用到的接口
 
<?php 
class service 
{ 
function add($a,$b){ 
$c=$a+$b; 
return $c; 
} 
function str($string){ 
return $string; 
} 
} 
//require('cls_mysql.php'); 
//$db = new cls_mysql('localhost', 'root', 'root', test_db'); 
//$db = new cls_mysql('211.103.156.227:3306', 'root', 'txtx', test_db'); 
//'testwsdl.wsd需要在后面采用Zend Studio生成。 
$server=new SoapServer('testwsdl.wsdl',array('uri' => 'http://webserver.com/','encoding'=>'utf-8','soap_version' => SOAP_1_2 )); 
$server->setClass("service"); 
$server->handle(); 
?> 

2.生成wsdl文件

菜单中

File--àExport---àphp    选中 “wsdl file” 然后下一步 (图1

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

 

File name wsdl 文件所在的位置

Exported files 下面的文件是你上面刚刚创建的php文件(接口文件)

Classes 下面的service 前面的勾要打上

URL 中填写接口文件的访问地址 (如:http://webserver.com/rpcservice.php

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

 

点击global settings 出现下图(图3

选择RPC C Oriented

然后点击 ok  在点击 “Finish”

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

 

出现下图(图4

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

 

最后一步就是给 每个参数一个合理的类型(下图)

然后保存 

到此 wsdl文件已经生成

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

 

访问路径  http://webserver.com/testwsdl.wsdl  (会出现下面内容)

如果不出现 则要配置apache 使其支持xml

注: 不要用chrome 打开wsdl文件 ,可能会显示不正常 (可以用ie firfox

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

 


测试是否可以成功调用

测试工具

wsCaller.jar

注:必需安装JDK 才能运行wsCaller.jar  请不要解压wsCaller.jar

 

如果不能正确返回信息 可直接访问你的php 看看会不会报错

(本例http://webserver.com/rpcservice.php

 

Php 要支持 soap

如果php 版本是5.X 编辑 php.ini

extension=php_soap.dll  (添加 如果存在则去掉注释)

重启一下apache

apache 要注意这个文件 mime.types

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网 

 

函数添加新参数

找到message name=”函数名  中直接复制一下并把参数改一下参数名

WSDL文件

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网
<!--[endif]-->

Php接口文件

1function add($a,$b,$e){
2    $c=$a+$b+$e;
3    return $c;
4}

注:$e 就是wsdl文件中的 c 参数  

添加新的函数

WSDL复制代码就行; PHP写出对应的函数 (看一下选中的部分 其实就是复制了一下add 这个函数 并且直接粘贴在它下面就可以)  下面以 添加add_bak 函数为例

WSDL

1.复制message 标签

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

 

2.复制 portType 中的标签

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

 

3.复制binding 标签内容

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网
PHP

 
function add_bak($a,$b,$e){ 
$c=$a+$b-$e; 
return $c; 
} 


测试结果

add_bak 函数

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

add 函数

php5 apache 2.2 webservice 创建与配置(java)_信息快讯网

其它函数就不一一测试了截图了
如果有不对的地方,请指出 谢谢

PHP Parse Error: syntax error, unexpected $end 错误的解决办法
PHP通过session id 实现session共享和登录验证的代码
PHP number_format() 函数定义和用法
php注销代码(session注销)
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
PHP filter_var() 函数 Filter 函数
iis下php mail函数的sendmail配置方法(官方推荐)
php 的加密函数 md5,crypt,base64_encode 等使用介绍
PHP新手用的Insert和Update语句构造类
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
php木马webshell扫描器代码
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
在PHP中利用wsdl创建标准webservice的实现代码
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
PHP调用Webservice实例代码
关于php连接mssql:pdo odbc sql server
php设计模式 Observer(观察者模式)
PHP中调用ASP.NET的WebService的代码
PHP+SQL 注入攻击的技术实现以及预防办法
使用XDebug调试及单元测试覆盖率分析
PHP中利用substr_replace将指定两位置之间的字符替换为*号
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
PHP中删除变量时unset()和null的区别分析
Base64在线编码解码实现代码 演示与下载
PHP strncasecmp字符串比较的小技巧
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
php iconv() : Detected an illegal character in input string
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
PHP连接SQLServer2005 的问题解决方法
php $_SERVER["REQUEST_URI"]获取值的通用解决方法
PHP 开发环境配置(Zend Server安装)
php操作sqlserver关于时间日期读取的小小见解
php $_SERVER当前完整url的写法
©2014-2024 dbsqp.com