首页 > 代码库 > php 使用zendstudio 生成webservice文件 wsdl
php 使用zendstudio 生成webservice文件 wsdl
首先新建一个项目
在项目中新建下面这些文件
php类文件 test.php
<?phpclass test { public function __construct() { } public function add($name,$age) { $result = array(‘REV‘=>false); $result[‘REV‘] = true; $result[‘DATA‘] = 1; $result = json_encode($result); return $result; } public function del($id) { $result = false; return $result; } public function getlist($type) { $result = array( array(‘name‘=>‘张三‘,‘age‘=>18), array(‘name‘=>‘李四‘,‘age‘=>20), array(‘name‘=>‘jms‘,‘age‘=>10), array(‘name‘=>‘jk陈‘,‘age‘=>8), ); $result = json_encode($result); return $result; }}?>
使用zendstudio生成wsdl文件
生成的文件格式如下
<?xml version="1.0" encoding="UTF-8" standalone="no"?><wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost/t/ws" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="test_server" targetNamespace="http://localhost/t/ws"> <wsdl:types> <xsd:schema targetNamespace="http://localhost/t/ws"> <xsd:element name="getlist"> <xsd:complexType> <xsd:sequence> <xsd:element name="in" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getlistResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="out" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="getlistRequest"> <wsdl:part name="type" type="xsd:int"/> </wsdl:message> <wsdl:message name="getlistResponse"> <wsdl:part name="resultRespose" type="xsd:string"/> </wsdl:message> <wsdl:portType name="test_server"> <wsdl:operation name="getlist"> <wsdl:input message="tns:getlistRequest"/> <wsdl:output message="tns:getlistResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="test_serverSOAP" type="tns:test_server"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="getlist"> <soap:operation soapAction="http://localhost/t/ws/NewOperation" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="test_server"> <wsdl:port binding="tns:test_serverSOAP" name="test_serverSOAP"> <soap:address location="http://localhost/t/ws/server.php"/> </wsdl:port> </wsdl:service></wsdl:definitions>
调用server的文件 server.php
<?phpini_set("soap.wsdl_cache_enabled", "0"); //测试时打开防止soap缓存include("test.php");$Server=new SoapServer(‘test_server.wsdl‘); //SoapServer$Server->setClass("test");$Server->handle();?>
测试调用webserver wsdl的文件
<?phpini_set("soap.wsdl_cache_enabled", "0");//$url = ‘http://localhost/t/ws/test_server.wsdl‘;$url = ‘http://localhost/t/ws/server.php?wsdl‘; //两种url都可以$client = new SoapClient($url);$params = array(‘type‘=>1);$res = $client->__soapCall(‘getlist‘,array(‘parameters‘=>$params));var_dump($res);?>
返回数据:
string(119) "[{"name":"\u5f20\u4e09","age":18},{"name":"\u674e\u56db","age":20},{"name":"jms","age":10},{"name":"jk\u9648","age":8}]"
调用成功
php 使用zendstudio 生成webservice文件 wsdl
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。