sheiko
Новичок
Вопрос по NuSOAP
Я недавно использую 0.7.2 версию пакета nusoap.sf.net
Столкнулся с неожиданной проблемой - не могу принять массив на клиенте.
Здесь http://detail.phpclub.ru/article/nusoap#part_2_2 шикарно расписанно про прочие типа данных, включая структуры, но прмера с массивом нет. Официальной документации также не видно. Пробую писать сервис по аналогии с прочими типами:
На клиенте получаю пустой массив от:
Типы integer, boolen, string работают без проблем
Может меня глючит по утру, я не вижу очевидной ошибки?
-~{}~ 06.08.05 15:00:
Разобрался. Пустой массив возвращался из-за не совсем удачной конфигурации $server->configureWSDL(..)
-~{}~ 06.08.05 15:44:
Вернее даже, следует регистрировать новый тип данных. Например:
См. подробности здесь:
http://dietrich.ganx4.com/nusoap/testbed/round2_base_server.phps
Я недавно использую 0.7.2 версию пакета nusoap.sf.net
Столкнулся с неожиданной проблемой - не могу принять массив на клиенте.
Здесь http://detail.phpclub.ru/article/nusoap#part_2_2 шикарно расписанно про прочие типа данных, включая структуры, но прмера с массивом нет. Официальной документации также не видно. Пробую писать сервис по аналогии с прочими типами:
Код:
class api_func {
function api_func(){
return $this;
}
function GetCategories() {
$retval = array(
1,
2
);
return new soapval('return', 'xsd:array', $retval);
}
}
$server->register('api_func.GetCategories',
array(),
array('return' => 'xsd:array'),
'urn:newapiwsdl',
'urn:newapiwsdl#api_func.GetCategories',
'rpc',
'encoded',
'Retrieve Category Hierarchy'
);
Код:
$result = $this->client->call('api_func.GetCategories', array(), "", "newapiwsdl#api_func.GetCategories");
Может меня глючит по утру, я не вижу очевидной ошибки?
-~{}~ 06.08.05 15:00:
Разобрался. Пустой массив возвращался из-за не совсем удачной конфигурации $server->configureWSDL(..)
-~{}~ 06.08.05 15:44:
Вернее даже, следует регистрировать новый тип данных. Например:
Код:
$server->wsdl->addComplexType(
'ArrayOfstring',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'string[]')),
'xsd:string'
);
http://dietrich.ganx4.com/nusoap/testbed/round2_base_server.phps