您的位置:首页 > 编程语言 > PHP开发

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

2016-02-14 00:00 846 查看
使用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,然后应用



File->New选择新建wsdl文件



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



选择命名空间



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



将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');
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP SOAP