Home > Article > Backend Development > PHP creates and calls webservice interface sample code
Introduction to webservice
Web service is a platform-independent, low-coupling, self-contained, web-based application that can be programmed and can be used The open XML (a subset of Standard Generalized Markup Language) standard to describe, publish, discover, coordinate and configure these applications is used to develop distributed interoperable applications.
Web Service technology enables different applications running on different machines to exchange data or integrate with each other without the need for additional, specialized third-party software or hardware. Applications implemented according to Web Service specifications can exchange data with each other regardless of the language, platform or internal protocol they use. Web Service is a self-describing, self-contained available network module that can perform specific business functions. Web Services are also easy to deploy because they are based on some conventional industry standards and existing technologies, such as subsets of XML and HTTP under the standard universal markup language. Web Services reduce the cost of application interfaces. Web Service provides a common mechanism for the integration of business processes across the entire enterprise or even between multiple organizations.
This article mainly introduces examples of creating and calling webservice interfaces in PHP, including basic knowledge of webservice, webservice server examples, and webservice client examples. Friends in need can refer to
Writing webservice Need to know: The basic Web Services platform is XML + HTTP; in addition, the elements of the Web services platform: SOAP (SimpleObjectAccess Protocol), UDDI (Universal Description, Discovery and Integration), WSDL (Web Services Description Language ); Any webservice includes a client and a server. The following uses examples to explain how to use PHP to write a webservice interface for others to call:
First, you need to create a .wsdl file, so how does PHP create this file. There are two ways to achieve this, one is to generate it directly using the zend studio tool; the other is to use PHP to automatically generate the wsdl file based on SoapDiscovery.class.php. Which one you choose depends on your own situation. I generally use the former. This comparison fast. Let's write down how to generate a wsdl file using a class. First, you need to download the class file from the Internet, and then after importing the class file, look at the following code:
creat_wsdl.php
The code is as follows:
<?php include_once('Service.php'); include_once('SoapDiscovery.class.php'); $wsdl=new SoapDiscovery('Service','soap');//第一参数为类名,也是生成wsdl的文件名Service.wsdl,第二个参数是服务的名字可以随便写 $wsdl->getWSDL(); ?>
Run the creat_wsdl.php file in this way to generate the wsdl file. Is it very simple?
Any webservice needs to be bound to an implementation class. In other words, the real function of the wsdl file called by others is to implement the methods in the class; the following code is the server class file
Service.php
The code is as follows:
<?php class Service { public function Hello() { echo 'hello good'; } public function Add($a,$b) { return $a+$b; } } $server=SoapServer('Service.php',array('soap_version'=>soap_1_2)); $server->setClass('Service');//注册Service类的所有方法 $server->handle();//处理请求 ?>
After writing the server and wsdl files, you need to call them from the client. Please see the client calling code:
client.php
The code is as follows:
<?php ini_set('soap.wsdl_cache_enabled','0');//关闭缓存 $soap=new SoapClient('http://127.0.0.1/soap/Service.php?wsdl'); echo $soap->Add(1,2); //echo $soap->_soapCall('Add',array(1,2))//或者这样调用也可以 ?>
This is a complete example code for writing the webservice interface and calling it. I hope It will be helpful for the phper that needs it;
Then calling other people’s webservice interface is the code written by client.php.
The above is the detailed content of PHP creates and calls webservice interface sample code. For more information, please follow other related articles on the PHP Chinese website!