Сложный тип Array nusoap и разбор iPhone - PullRequest
0 голосов
/ 20 марта 2012

Когда я получаю доступ к массиву данных, возвращаемых из nusoap, я сталкиваюсь с дублирующимися тегами.Я пробовал со сложным типом, но он не работает так, как мне нужно, т.е. заключает в себе определенные теги вместо тегов элементов.Я объявляю сложный тип следующим образом.

$server->wsdl->addComplexType(
'ProductArray',
'complexType',
'struct',
'all',
'',
array(
    'pid' => array('name' => 'pid', 'type' => 'xsd:string'),
    'pname' => array('name' => 'pname', 'type' => 'xsd:string')
)
);

Я регистрирую свою функцию:

$server->register('ProdInfo',                    // method name
array('product' => 'tns:product'),          // input parameters
array('return' => 'tns:ProductArray'),    // output parameters
'urn:productcomplextype',                         // namespace
'urn:productcomplextype/ProdInfo',                   // soapaction
'rpc',                                    // style
'encoded',                                // use
'Product Information'        // documentation

);

function

function ProdInfo ($product) {
 //code
 return array('pid'=>$pid,'pname'=>$pname);
}

Если я жестко закодирую одно возвращаемое значение, я получаю значение.Но как массив, у меня проблемы с отображением правильных значений.Выдает следующий вывод

Array
(
  [pid] => Array
  [pname] => Array
)

Пожалуйста, помогите

Обновление

Это было связано с проблемой, связанной с возвратом данных из функции в массиве.Это решено теперь после того, как вернулось правильно.Теперь данные отображаются следующим образом:

Array
(
 [ProductInfo] => Array
    (
        [0] => Array
            (
                [pid] => 1
                [pname] => Steering
            )

        [1] => Array
            (
                [pid] => 18
                [pname] => Wheel Base
            )
   )

)

. Это затрудняет их анализ в приложении iPhone.В ответе iPhone нет данных.

1 Ответ

0 голосов
/ 28 марта 2012

проблема была решена простым изменением веб-сервиса для возврата массива.Избегать использования сложных типов.

...