Ayuda addComplexType

andresadoc
20 de Octubre del 2008
Hola, mi problema es el siguiente: debo desarrollar un web service que tiene 2 métodos , consultageneral y consultausuario, los cuáles deben devolver los siguientes XML correspondientemente:

<?xml version="1.0" encoding="UTF-8"?>
<Clientes>
<consultageneral>
<cliente>
<Token>6968f002ea1ef62f7f40</Token>
<Primer_Nombre>sergio</Primer_Nombre>
<Segundo_Nombre>gerardo</Segundo_Nombre>
</cliente>
<cliente>
<Token>6968f002ea1ef62f7f40</Token>
<Primer_Nombre>Juan</Primer_Nombre>
<Segundo_Nombre>Fajardo</Segundo_Nombre>
</cliente>
</consultageneral>
</Clientes>

y

<?xml version="1.0" encoding="UTF-8"?>
<Clientes>
<consultausuario>
<cliente>
<Token>6968f002ea1ef62f7f40</Token>
<Primer_Nombre>sergio</Primer_Nombre>
<Segundo_Nombre>gerardo</Segundo_Nombre>
</cliente>
</consultausuario>
</Clientes>

Así fue como declaré los tipos de datos en el web service:

$server -> wsdl -> addComplexType(
'Cliente',
'complexType',
'struct',
'all',
'',
array( 'Token' => array('name' => 'Token', 'type' => 'xsd:string'),
'Primer_Nombre' => array('name' => 'Primer_Nombre', 'type' => 'xsd:string'),
'Segundo_Nombre' => array('name' => 'Segundo_Nombre', 'type' => 'xsd:string'))
);

$server -> wsdl -> addComplexType(
'consultausuario',
'complexType',
'struct',
'all',
'',
array( 'Cliente' => array('name' => 'Cliente', 'type' => 'tns:Cliente'))
);

$server -> wsdl -> addComplexType(
'consultageneral',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(array( 'Cliente'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Cliente[]')),
'tns:Cliente'
);

$server -> wsdl -> addComplexType(
'Clientes',
'complexType',
'struct',
'all',
'',
array( 'consultageneral' => array('name' => 'consultageneral', 'type' => 'tns:consultageneral'))
);



Como ven, los dos XML deben tener el tag <Clientes> y no sé cómo debo hacerlo, creo q debo declarar otro tipo de dato complejo Clientes.
Please, ayuda!!!