在 PHP 7 中生成用于 SoapClient 调用的数组

Generate an array for SoapClient call in PHP 7

我有这个 xml 调用,它在 soap 中运行良好 ui。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
    <globalSearch xmlns="http://v4.websvc.customer.com/">
            <arg0 xsi:type="ns1:searchCriteriaDTO" xmlns=""
                xmlns:ns1="http://v4.websvc.customer.com/">
                <name xsi:type="xsd:string">bouwy</name>
                <firstName xsi:type="xsd:string"></firstName>
                <postalCode xsi:type="xsd:string"></postalCode>
                <cityOrProvince xsi:type="xsd:string">lens</cityOrProvince>
                <country xsi:type="xsd:string">UA</country>
                <buNumber xsi:type="xsd:int">023</buNumber>
                <maxNumberOfResults xsi:type="xsd:int">30
                </maxNumberOfResults>
                <detailedSearch xsi:type="xsd:boolean">true</detailedSearch>
                <deletedAlso xsi:type="xsd:boolean">false</deletedAlso>
            </arg0>
    </globalSearch>
</soapenv:Body>

我不明白如何在 php 中建立一个数组来调用:

$soap = new SoapClient($wsdl, $options);
$data = $soap->globalSearch($params);

in $params 应该是这个特定格式的数组。

我试过了,但得到了服务器的响应"Fault occurred while processing"

$params = array (
    'arg0' => array (
     'name' => 'bouwy',
     'firstName' => '',
     'postalCode' => '',
     'cityOrProvince' => 'lens',
     'country' => 'UA',
     'buNumber' => '023',
     'maxNumberOfResults ' => '30',
     'detailedSearch ' => 'true',
     'deletedAlso' => 'false'
     )
    );

求助

所以,我修复了数组,它起作用了

$params = array (
'arg0' => array (
'searchCriteriaDTO' => '',
 'name' => 'bouwy',
 'firstName' => '',
 'postalCode' => '',
 'cityOrProvince' => 'lens',
 'country' => 'UA',
 'buNumber' => '023',
 'maxNumberOfResults ' => '30',
 'detailedSearch ' => 'true',
 'deletedAlso' => 'false',
 'any' => ''
 )
);

感谢大家