It is old and can be replaced with REST API web services
In Ubuntu/Debian you can install with:
apt-get install php7.0-soap
=-=-=-=-=-=-=-=-=
https://www.ibm.com/developerworks/opensource/tutorials/os-php-webservice/index.html
PHP SOAP server
<?
php # amirWS.php
function AmirFunctionEchoo($echo){
return "ECHO: ".$echo;
}
$
server
=
new
SoapServer(null,
array('uri' => "http://localhost/res"));
$server->addFunction('AmirFunctionEchoo');
$server->handle();
?>
The page generator client
<?php # amirWSclient.php
$echo = $_GET[‘input’];
print “<h2>Echo Web Service</h2>”;
print “<form action=’simple_client.php’ method=’GET’/>”;
print “<input name=’input’ value=’$echo’/><br/>”;
print “<input type=’Submit’ name=’submit’ value=’GO’/>”;
print “</form>”;
print “</form>”;
// SoapClient (null if non-WSDL mode is used, array());
//location is the URL of the SOAP server to send the request to, and
//uri is the target namespace of the SOAP service.
if($echo != ”){
$client = new SoapClient(
null,
array(
‘location’ => “http://192.168.0.13
/amirWS.php”,
‘uri’ => “urn://192.168.0.13/req”)
);
$result = $client->__soapCall(“AmirFunctionEchoo
“,array($echo));
print $result;
}
?>
-=-=-=-=-=-=-=-=-
Example 2 Using class MySoapServer
<?php // server class MySoapServer { public function getMessage() { return 'Hello,World!'; } public function addNumbers($num1,$num2) { return $num1+$num2; } }
$options= array(‘uri’=>’http://localhost/test’);
$server=new SoapServer(NULL,$options);
# setClass() will automatically add all the functions from
$server->setClass(‘MySoapServer’);
# DO NOT Use addFunction()because it tells it to look for a function on its own
$server->handle();
?>
# soap client
$options= array( ‘location’ => ‘http://localhost/debug.php’, ‘uri’ => ‘http://localhost/everth’ );
$client=new SoapClient(NULL,$options);
echo $client->getMessage();
#Hello,World!
echo $client->addNumbers(3,5);
# 8
-=-=-=-=-=-
Example 3
<?php # AmirServer.php function AmirFunc($someone) { return "Hello " . $someone . "!"; } $server = new SoapServer(null, array('uri' => "urn://192.168.0.13/res")); $server->addFunction("AmirFunc"); #UsingaddFunction()
tells it to look for a function namedAmirFunc()
on its own $server->handle(); ?>
<?php # AmirClient.php $client = new SoapClient(null, array( 'location' => "http://localhost/AmirServer.php", 'uri' => "urn://192.168.0.13/req", 'trace' => 1 )); $return = $client->__soapCall("AmirFunc",array("nice.")); echo("\nReturning value of __soapCall() call: ".$return); echo("\nDumping request headers:\n" .$client->__getLastRequestHeaders()); echo("\nDumping request:\n".$client->__getLastRequest()); echo("\nDumping response headers:\n" .$client->__getLastResponseHeaders()); echo("\nDumping response:\n".$client->__getLastResponse()); ?>
Then run AmirClient.php
=-=-=-=-
echo "<?php phpinfo(); ?>"
=-=-=-=-=-
https://www.ibm.com/developerworks/opensource/tutorials/os-php-webservice/index.html