Resultado devuelto por el servicio:

NULL
							
<?php

require_once 'nusoap/nusoap.php';

class 
Client03
{
    const 
SERVICE_NAME '/apps/soap/service03.php?wsdl';
    const 
FUNCTION_NAME 'getEmployeeById';

    private 
$client;
    private 
$log;
    private 
$result;

    public function 
__construct()
    {
        
$wsdl "http://{$_SERVER['HTTP_HOST']}self::SERVICE_NAME;
        
$this->client = new nusoap_client($wsdl);
        if ((
$error $this->client->getError())) {
            
$this->log("error conectado con el servicio SOAP: $error");
            
$this->client null;
        }
    }

    public function 
getResult()
    {
        return 
$this->result;
    }

    public function 
getLog()
    {
        return 
$this->log;
    }

    public function 
run($employeeId)
    {
        if (
$this->client == null) {
            return 
false;
        }

        
$this->result null;
        
$this->log = array();

        
$params=array(
            
'id' => $employeeId,
        );

        
$this->log('SERVICE ' self::FUNCTION_NAME ' REQUEST START');
        
$result $this->client->call(self::FUNCTION_NAME$params);
        
$this->log('SERVICE ' self::FUNCTION_NAME ' REQUEST FINISHED');

        if ((
$error $this->client->getError())) {
            
$this->log('Ha ocurrido algún error');
            
$this->log($error);
            return 
false;
        } else {
            
$this->log('Todo ok');
            
$this->result $result;
            return 
true;
        }
    }

    private function 
log($message)
    {
        
$this->log[] = $message;
    }
}
<?php

require_once 'nusoap/nusoap.php';

$service 'service03';

$server = new soap_server();

$server->configureWSDL($service);

$server->wsdl->addComplexType('employeeData','complexType','struct','all','',
    array(
        
'id' => array('name'=>'id','type'=>'xsd:int'),
        
'name' => array('name'=>'name','type'=>'xsd:string'),
        
'department' => array('name'=>'department','type'=>'xsd:string'),
    )
);

$input_array = array('id' => 'xsd:int');
$return_array = array('status' => 'xsd:string''message' => 'xsd:string''result' => 'tns:employeeData');
$server->register(
    
'getEmployeeById'
    
$input_array
    
$return_array
    
"urn:$service",
    
"urn:$service#getEmployeeById",
    
'rpc'
    
'encoded'
    
'Devuelve los empleado que cuyo nombre coincida'
);
            

$server->service(file_get_contents('php://input'));

function 
getEmployeeById($id)
{
    
$employees = array(
        array(
'id' => 1'name' => 'Jose Perez''department' => 'Ventas'),
        array(
'id' => 2'name' => 'Juan Ramirez''department' => 'Ventas'),
        array(
'id' => 3'name' => 'Jose Manuel Gonzalez''department' => 'Administracion'),
        array(
'id' => 4'name' => 'Juan Jose Garcia''department' => 'Recursos Humanos'),
    );

    
$result null;

    foreach (
$employees as $employee) {
        if (
$employee['id'] == $id) {
            
$result $employee;
        }
    }

    if (
$result !== null) {
        
$status 'ok';
        
$message "empleado id $id encontrado";
    } else {
        
$status 'error';
        
$message "empleado id $id no encontrado";
    }

    return array(
'status' => $status'message' => $message'result' => $result);
}