PHP Soap请求格式的差异

时间:2010-06-04 04:29:17

标签: php zend-framework soap

我们有一个使用Zend Framework构建的站点,我们正在使用Zend Soap客户端。

我遇到其中一个肥皂请求有问题: 它期待这种形式的数据

        <CustomerForm>
            <CustomerFormRow>
                <CuisineType>3</CuisineType>
                <CuisineRestaurant>True</CuisineRestaurant>
                <NumberOfStaff>801</NumberOfStaff>
                ...

但是肥皂客户端正在生成以下内容

        <customerform>
            <ns2:map>
                <item>
                    <key>CuisineType</key>
                    <value>Greek</value>
                </item>
                <item>
                    <key>CuisineRestaurant</key>
                    <value>Cafe</value>
                </item>
                <item>
                    <key>NumberOfStaff</key>
                    <value>11 to 20</value>
                </item>
                ...

使用时

$_processFormWS->processFormWS($session_id, $customer_id, $form_data);

所以服务没有处理我发送的数据!

我错过了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

事实证明,如果我将$ form_data作为对象传递(而不是之前的数组)那么它就可以了!

所以:

$_processFormWS->processFormWS($session_id, $customer_id, (object) $form_data);

会修复上面的代码。