class MyComplexNumber
{
    public $realPart;
    public $imaginaryPart;
    public function __construct($realPart, $imaginaryPart)
    {
        $this->realPart = $realPart;
        $this->imaginaryPart = $imaginaryPart;
    }
}
class MyAuthData
{
    public $username;
    public $password;
}
$_options = array('classmap' => array('ComplexNumber' => 'MyComplexNumber', 'AuthHeader' => 'MyAuthData'));
$c = new ckTestSoapClient($_options);
// test executeMultiply
$c->math_multiply(2, 5)->isFaultEmpty()->isType('', 'double')->is('', 10);
// test executeSimpleMulitply
$c->SimpleMultiply(2, 5)->isFaultEmpty()->isType('', 'double')->is('', 10);
// test executeArrayMultiply
$c->ArrayMultiply(array(1, 2, 3, 4))->isFaultEmpty()->isType('', 'double')->is('', 24);
// test executeComplexMultiply
$c->ComplexMultiply(array(new MyComplexNumber(1, 0), new MyComplexNumber(1, 0)))->isFaultEmpty()->isType('', 'MyComplexNumber')->is('realPart', 1)->is('imaginaryPart', 0);
// test executeSimpleMultiplyWithHeader
$authData = new MyAuthData();
$authData->username = '******';
$authData->password = '******';
$c->addRequestHeader('AuthHeaderElement', $authData)->SimpleMultiplyWithHeader(5, 2)->isFaultEmpty()->isHeaderType('AuthHeaderElement', 'MyAuthData')->isHeader('AuthHeaderElement.username', 'test')->isHeader('AuthHeaderElement.password', 'secret')->isType('', 'double')->is('', 10);
<?php

/**
 * This file is part of the ckWebServicePlugin
 *
 * @package   ckWebServicePlugin
 * @author    Christian Kerl <*****@*****.**>
 * @copyright Copyright (c) 2008, Christian Kerl
 * @license   http://www.opensource.org/licenses/mit-license.php MIT License
 * @version   SVN: $Id: soapHeaderTest.php 26444 2010-01-10 00:30:13Z chrisk $
 */
$app = 'frontend';
$env = 'soapTestServiceApi';
$debug = true;
include_once dirname(__FILE__) . '/../bootstrap/functional.php';
$_options = array('classmap' => array('ExtraHeader' => 'ExtraHeaderData', 'AuthHeader' => 'AuthData'));
$c = new ckTestSoapClient($_options);
// test executeHeaderSingle
$authData = new AuthData();
$authData->username = '******';
$authData->password = '******';
$c->addRequestHeader('AuthHeaderElement', $authData)->test_headerSingle()->isFaultEmpty()->isHeaderType('AuthHeaderElement', 'AuthData')->isHeader('AuthHeaderElement.username', 'reset')->isHeader('AuthHeaderElement.password', 'reset');
// test executeHeaderMulti
$authData = new AuthData();
$authData->username = '******';
$authData->password = '******';
$testData = new ExtraHeaderData();
$testData->content = 'input';
$c->addRequestHeader('AuthHeaderElement', $authData)->addRequestHeader('ExtraHeaderElement', $testData)->test_headerMulti()->isFaultEmpty()->isHeaderType('AuthHeaderElement', 'AuthData')->isHeader('AuthHeaderElement.username', 'reset')->isHeader('AuthHeaderElement.password', 'reset')->isHeaderType('ExtraHeaderElement', 'ExtraHeaderData')->isHeader('ExtraHeaderElement.content', 'HandledInput(input)');