php中使用zendstudio 12为soapserver生成wsdl文件

使用soap有两种方式:wsdl模式和non-wsdl模式,

采用non-wsdl模式,不必生成wsdl文件,比较方便直接,服务器端代码如下:

<?php
class service
{
  public function Hello($name)
   {
      return  "Hello!".$name;
   }
}
$server=new SoapServer(null,array(
'location'=>'http://localhost/soaptest/myserver.php',
'uri' =>'http://localhost/soaptest/myservice.php'));
$server->setClass("service");
$server->handle();
?>

客户端代码如下:

<?php
$soap = new SoapClient(null,array(
'uri'=>'http://localhost/soaptest/myservice.php',
'location'=>'http://localhost/soaptest/myservice.php'));
echo $soap->Hello('master');
?>

采用wsdl模式,比较方便其他语言(例如.net)调用,首先用zend自动生成wsdl文件,我用的zend studio 12.5,步骤如下:

打开zend,选中welcome页面,右边选中WSDL Support,然后应用

204822_NXN6_2346918.png

File->New选择新建wsdl文件

204945_E1oP_2346918.png

选择生成的文件位置和文件名称:

204946_ArJl_2346918.png

选择命名空间

204947_BXBn_2346918.png

finish之后,填写service文件位置,函数名称,函数输入输出参数,最后中间方框右键,generate binding content,保存即可

204947_Gmvc_2346918.png

将service文件代码修改如下:

<?php
class service
{
  public function Hello($name)
   {
      return  "Hello!".$name;
   }
}
$server=new SoapServer('http://localhost/soaptest/soap.wsdl');
$server->setClass("service");
$server->handle();
?>

客户端修改如下:

<?php
$soap = new SoapClient('http://localhost/soaptest/soap.wsdl');
echo $soap->Hello('master');
?>

转载于:https://my.oschina.net/u/2346918/blog/614865

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值