php soapserver返回更好的可读关联数组

时间:2012-06-25 12:15:12

标签: php soap soapserver

我正在使用PHP SOAPSERVER类。

作为响应,我发送关联的php数组:

function getItems()    
{    
   ...
   $items[] = Array("itemID" =>$itemID,"itemName"=>$itemName);
   return $items;
 }

SOAP返回如下:

...
<Items>
<item type="Map">
    <item>
        <key type="string">
            itemID
        </key>
        <value type="string">
            17558
        </value>
    </item>
    <item>
        <key type="string">
            itemName
        </key>
        <value type="string">
            I-17558
        </value>
    </item>
</item>
</Items>
...

这种回归很难分析人类(给定更大的数组)。 首选形式是这样的:

    ...
<Items>
    <item>
        <itemID>17558</itemID>
        <itemName>I-17558</itemName>
    </item>
    <item>
        <itemID>17559</itemID>
        <itemName>I-17559</itemName>
    </item>
</Items>
    ...

是否可以返回SOAP(不更改返回类型 - 数组)?怎么样?

我刚开始使用SOAP,大多数教程都展示了如何返回像string这样的简单类型。

1 个答案:

答案 0 :(得分:5)

不是发送关联数组,而是发送stdclass对象。

示例:

$return = new stdclass;
$return->ItemID = 1;
$return->ItemName = 'foo';

return $return;

然后SOAP结果将是您想要的方式!