1
0
Fork 0

- 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:
Jan Dittberner 2006-02-21 19:51:23 +00:00
parent e1b3542a2a
commit d4f8dedfca
5 changed files with 107 additions and 3 deletions

View File

@ -11,9 +11,9 @@ class GnuviechAdminSOAPServer(SOAPServer):
"""
SOAP Server class for the gnuviech administration tool backend
"""
def echo(self, s):
self.logger.debug("calling echo with " + s)
return s + s
def echo(self, param0):
self.logger.debug("calling echo with " + param0)
return param0 + param0
def __init__(self):
SOAPServer.__init__(self, ("127.0.0.1", 8080))

2
php/.htaccess Normal file
View File

@ -0,0 +1,2 @@
# configuration for PEAR
php_value include_path "/home/jan/pear/php/"

48
php/SOAPRequester.php Normal file
View 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
View 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
View 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());
?>