Joined: 27 Apr 2011 |
Posts: 1 |
|
|
|
Posted: Wed Apr 27, 2011 5:54 am |
|
|
|
|
|
Hello,
I have created a server in nusoap with a base complextype:
$server->wsdl->addComplexType(
'personstruct',
'complexType',
'struct',
'all',
'',
array(
'PersonType' => array('name'=>'PersonType','type'=>'xsd:string'),
'IdentificationCode' => array('name'=>'IdentificationCode','type'=>'xsd:string'))
);
and an array of personstruct:
$server->wsdl->addComplexType(
'arrayOfPersons',
'complexType',
'array',
'sequence',
'http://schemas.xmlsoap.org/soap/encoding/:Array',
array(),
array(
array(
'ref' => 'SOAP-ENC:arrayType',
'wsdl:arrayType' => 'tns:personstruct[]',
'minOccurs' => '0',
'maxOccurs' => 'unbounded')
),
'tns:personstruct'
);
And finally I have created a function
$server->register(
'getPersonsFromVamWeb',
array('identificationCode'=>'xsd:string'),
array('return'=>'tns:arrayOfPersons'),
NAMESPACE,
NAMESPACE."#getPersonsFromVamWeb",
'rpc',
'literal',
'Legge e ritorna le persone di VamWeb'
);
When I look for the class arrayOfPersons in the .Net object browser I can't find
it; I can only find the class personstruct and when I call the function
getPersonsFromVamWeb (that returns an arrayOfPersons) I get an array with xml
elements, when I expect an object class.
If I change the array of personstruct in:
$server->wsdl->addComplexType(
'arrayOfPersons',
'complexType',
'array',
'sequence',
'',
array(
'Persons' => array(
'name' => 'Persons',
'type' => 'tns:personstruct',
'minOccurs' => '0',
'maxOccurs' => 'unbounded' )
)
);
I can see the class in the object browser but it's empty and when I call the
function, I always receive: personstruct[0] empty.
How can I do? I need to respect the WS-I Basic Profile v1.1.R2706.
I know this is a php forum, but if I want to get my server developed in php, I need that it works with all client.
Thank you.
Federico
|