- 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
|
||||
"""
|
||||
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
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