1

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'
                      );
4

0 に答える 0