0
nusoapから返されるデータの配列にアクセスするときに、重複するタグが発生します。私は複合型を試しましたが、必要な方法で動作しません。つまり、アイテムタグではなく特定のタグで囲みます。私は複雑な型を次のように宣言しています。複合型配列のnusoapとiPhoneの解析
$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 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の応答にはデータがありません。
この問題は、単に配列を返すようにWebサービスを変更するだけで解決されています。複合型の使用を避けました。 – MACMAN