php soap索引数组请求

时间:2016-03-28 15:29:36

标签: php soap wsdl nusoap

我想将多个索引数组传递给我的SOAP服务

$params = array(
    'Stuffs' => array(
        'stuffsArray' => array(
            array('itemid' => 100, 'qty' => 2),
            array('itemid' => 101, 'qty' => 1),
            array('itemid' => 102, 'qty' => 3)
        )
    )
);

我的nuSOAP脚本看起来像

$server->wsdl->addComplexType(
    'Stuffs',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'itemid' => array(
            'name' => 'itemid',
            'type' => 'xsd:int'
        ),
        'qty' => array(
            'name' => 'qty',
            'type' => 'xsd:int'
        )
    )
); 
$server->wsdl->addComplexType(
    'StuffsArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array(
            'ref' => 'SOAP-ENC:arrayType',
            'wsdl:arrayType' => 'tns:Stuffs[]'
        )
    ),
    'tns:Stuffs'
);
$server->wsdl->addComplexType(
    'req',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'Stuffs' => array('name' => 'Stuffs', 'type' => 'tns:StuffsArray')
    )
);

whith生成的WSDL我只能在数组stuffsArray中传递一个元素来获得响应

$params = array(
    'Stuffs' => array(
        'stuffsArray' => array(
            'itemid' => 100, 'qty' => 2
        )
    )
);

但我需要在stuffsArray中传递多个数据,itemid和qty的值很多。 我如何编写addComplexType来解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:0)