- SOAP interface for PHP
git-svn-id: file:///home/www/usr01/svn/gnuviechadmin/gnuviech.info/gnuviechadmin/trunk@165 a67ec6bc-e5d5-0310-a910-815c51eb3124
This commit is contained in:
parent
e1b3542a2a
commit
d4f8dedfca
5 changed files with 107 additions and 3 deletions
|
@ -11,9 +11,9 @@ class GnuviechAdminSOAPServer(SOAPServer):
|
||||||
"""
|
"""
|
||||||
SOAP Server class for the gnuviech administration tool backend
|
SOAP Server class for the gnuviech administration tool backend
|
||||||
"""
|
"""
|
||||||
def echo(self, s):
|
def echo(self, param0):
|
||||||
self.logger.debug("calling echo with " + s)
|
self.logger.debug("calling echo with " + param0)
|
||||||
return s + s
|
return param0 + param0
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
SOAPServer.__init__(self, ("127.0.0.1", 8080))
|
SOAPServer.__init__(self, ("127.0.0.1", 8080))
|
||||||
|
|
2
php/.htaccess
Normal file
2
php/.htaccess
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# configuration for PEAR
|
||||||
|
php_value include_path "/home/jan/pear/php/"
|
48
php/SOAPRequester.php
Normal file
48
php/SOAPRequester.php
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* SOAP client class for accessing the gnuviech adminstration tool SOAP
|
||||||
|
* service.
|
||||||
|
* @author Jan Dittberner <jan@dittberner.info>
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
require_once('SOAP/Client.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SOAP requester.
|
||||||
|
*/
|
||||||
|
class SOAPRequester {
|
||||||
|
/**
|
||||||
|
* SOAP_Client-Instanz.
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
var $soapclient;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor expecting a settings array.
|
||||||
|
* @param settings with options protocol, hostname, portnumber, path
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
function SOAPRequester($settings) {
|
||||||
|
$this->soapclient = new SOAP_Client(sprintf("%s://%s:%d/%s",
|
||||||
|
$settings['protocol'],
|
||||||
|
$settings['hostname'],
|
||||||
|
$settings['portnumber'],
|
||||||
|
$settings['path']));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls the echo method at the remote SOAP server.
|
||||||
|
* @param String parameter
|
||||||
|
* @return twice the String if the remote call is successful
|
||||||
|
*/
|
||||||
|
function callecho($param) {
|
||||||
|
$options = array('trace' => 1);
|
||||||
|
|
||||||
|
$ret = $this->soapclient->call('echo',
|
||||||
|
$params = array('param0' => $param),
|
||||||
|
$options);
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
40
php/TestSOAPRequester.php
Normal file
40
php/TestSOAPRequester.php
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Unittest for the SOAPRequester.
|
||||||
|
* @author Jan Dittberner <jan@dittberner.info>
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
require_once('PHPUnit.php');
|
||||||
|
require_once('SOAPRequester.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TestCase for SOAPRequester.
|
||||||
|
*/
|
||||||
|
class TestSOAPRequester extends PHPUnit_TestCase {
|
||||||
|
/**
|
||||||
|
* SOAPRequester-Instanz.
|
||||||
|
*/
|
||||||
|
var $requester;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets up the test case.
|
||||||
|
* @see PHPUnit_TestCase#setUp()
|
||||||
|
*/
|
||||||
|
function setUp() {
|
||||||
|
$settings = array('protocol' => 'http',
|
||||||
|
'hostname' => 'localhost',
|
||||||
|
'portnumber' => 8080,
|
||||||
|
'path' => '');
|
||||||
|
$this->requester = new SOAPRequester($settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the SOAPRequester class's callEcho method.
|
||||||
|
* @see SOAPRequester#callEcho(string)
|
||||||
|
*/
|
||||||
|
function testCallEcho() {
|
||||||
|
$result = $this->requester->callEcho('Test');
|
||||||
|
$this->assertEquals('TestTest', $result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
14
php/runtests.php
Normal file
14
php/runtests.php
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Test runner.
|
||||||
|
* @author Jan Dittberner <jan@dittberner.info>
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
require_once('TestSOAPRequester.php');
|
||||||
|
require_once('PHPUnit.php');
|
||||||
|
|
||||||
|
$suite = new PHPUnit_TestSuite('TestSOAPRequester');
|
||||||
|
$result = PHPUnit::run($suite);
|
||||||
|
|
||||||
|
printf($result->toHTML());
|
||||||
|
?>
|
Loading…
Reference in a new issue