分享一个好用WEBSERVICE,可自动生成WSDL文件,
分享一个好用WEBSERVICE,可自动生成WSDL文件,
分享一个好用WEBSERVICE,可自动生成WSDL文件,
<?php /* //这是非标准的webservice,可能只有PHP才能访问 //SoapServer //ryan 2013-08-13 */ $soap = new SoapServer(null,array('uri'=>"http://127.0.0.1/")); /* //function //可直接定义方法 $soap->addFunction('test'); $soap->addFunction(SOAP_FUNCTIONS_ALL); $soap->handle(); function test(){ return 'ryan'; } */ //class //或者定义类 $soap->setClass('soapClass'); $soap->handle(); class soapClass{ public $say='say hello'; function test() { return $this->say; } } /* //SoapClient 调用方法和调用类的方式是一样的 $client = new SoapClient(null,array('location' =>"http://127.0.0.1/webservice/soap/server.php",'uri' => "http://127.0.0.1/")); $data=$client->test(); echo $data */
3. [代码][PHP]代码 跳至 [2] [3] [全屏预览]
<?php /* //这是标准的webservice,适用所有语言 //SoapServer //ryan 2013-08-13 //注意,每改变服务器端文件中类的方法,要注意删掉原有的WSDL文件,并访问一下当前文件以便生成最新的WSDL文件 */ class ryan{//定义类 public function say(){ return "say hello"; } public function json($arr){ //return json_encode($arr); return $arr; } /* 如果要指定接收的参数类型是数组,要注意将WSDL文件里的接收参数类型设置为下 <part name="arr" type="xsd:string[]" /> 同理返回参数类型如果是数组也需要更改下 */ } $wsdl="ryan.wsdl"; $class="ryan"; if(!file_exists($wsdl)){//如果WSDL文件不存在,调用类创建 require_once("SoapDiscovery.class.php"); $disco = new SoapDiscovery($class,$class); $wsdlxmlstr = $disco->getWSDL(); file_put_contents($wsdl,$wsdlxmlstr); } //定义接口 $SoapServer = new SoapServer($wsdl); //$SoapServer = new SoapServer("server.php?wsdl"); $SoapServer->setClass($class); $SoapServer->handle(); /* //SoapClient $client = new SoapClient("http://127.0.0.1/webservice/wsdl/server.php?wsdl"); $data=$client->say(); echo $data; */
- 上一篇:漂亮的Matrix矩阵文字坠落效果...
- 下一篇:php缓存类
精彩图集
精彩文章