The first files I created are:
api.php API's Interface class file
API.WSDL I create the last interface file to invoke
cometrue.php the execution file for all content that registers the service API class content
creat_wsdl.php creating a WSDL file execution method file
SoapDiscovery.class.php the SOAP class file that must be called (can be queried online for download)
The first step: Create a service folder dedicated to your API interface project
Step two: Download the SoapDiscovery.class.php class file and put it in your service folder
Step three: Create your own API interface class file api.php below the service folder, with examples of file contents as follows:
The code is as follows:
<?php
Class api{
My Test interface method
Public Function test () {
Return "Hello World";
}
}
?>
OK, after we finish writing the interface, we start to generate a WSDL file on this interface.
Fourth: Write a generated WSDL file execution program, here I will create a new file creat_wsdl.php, also placed under the service sibling directory, the contents are as follows:
The code is as follows:
<?php
Include ("api.php");
Include ("SoapDiscovery.class.php");
$disc = new Soapdiscovery (' API ', ' service '),//api class file name, service interface directory
$disc->getwsdl ();
?>
Fifth step: Execute the creat_wsdl.php file
Then, under the Service folder, there is a api.wsdl file, as shown in:
It's not the end of the Olympics.
Sixth step: Register all the methods in the API class file, under the Service folder, create a new registration class file named: cometrue.php, the file content is as follows:
The code is as follows:
<?php
$server = new SoapServer (' api.wsdl ', Array (' soap_version ' = soap_1_2)); # #此处的Service. wsdl file is the one generated above
$server->setclass ("API"); Registering all methods of the service class
$server->handle ();
?>
After the completion of the file execution, this time the class file all the contents of the registration completed, we have to test this interface
Seventh step: In the API class file api.php the bottom, plus the calling program, plus the following api.php file content as follows:
The code is as follows:
<?php
Class api{
My Test interface method
Public function test ($a) {
return $a;
}
}
$server = new SoapServer (' api.wsdl ', Array (' soap_version ' = soap_1_2)); # #此处的Service. wsdl file is the one generated above
$server->setclass ("API"); Registering all methods of the service class
$server->handle ();
?>
The seventh step: test, in the service outside the arbitrary location (as long as can be accessed) to create a test file named: test.php, the file content is as follows:
The code is as follows:
<?php
$x = new SoapClient ("http://rbac.local/service/api.php?wsdl"); Here's a link to your own access link
echo $x->test (' OK ');
?>
Simple examples and implementation steps for PHP implementation WebService