StackOverflowで他の解決策を確認して試しましたが、少し役に立たなかったので、もう一度質問することにしました。
結果の WSDL を出力して、SOAP サーバーを作成しようとしています。ただし、以外はすべて機能しarray
ます。私が何をしたとしても、サーバーから のリストを返してもらうことができませんでしたproducts
。考えられる理由は何ですか?
関数のコードは次のとおりです。
function getProducts() {
$productList = array();
for($i=0;$i<5;$i++) {
array_push($productList, array(
"pName" => "Hello",
"pBrand" =>"World"
));
}
return $productList;
}
複合型の定義と関数レジスタは次のとおりです。
$server->wsdl->addComplexType(
'product',
'complexType',
'struct',
'all',
'',
array(
'pName' => array('name' => 'pName', 'type' => 'xsd:string'),
'pBrand' => array('name' => 'pBrand', 'type' => 'xsd:string'))
);
$server->wsdl->addComplexType(
'productList',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref' => 'SOAP-ENC:arrayType',
'wsdl:arrayType' => 'tns:product[]')
),
'tns:product'
);
$server->register('getProducts',
array(),
array('productListResult' => 'tns:productList'),
'urn:QRWebService',
'urn:QRWebService#getProducts',
'rpc',
'encoded'
);