Soap response showing items as array instead of salesOrderItemEntity
getting this in soap response:
<item>
<key xsi:type="xsd:string">items</key>
<value SOAP-ENC:arrayType="xsd:string[2]" xsi:type="SOAP-ENC:Array">
<item xsi:type="xsd:string">Array</item>
<item xsi:type="xsd:string">Array</item>
</value>
</item>
Solved! Go to Solution.
Just an update, that I fixed the issue. I think it was the new release recently put out for 1.9.3. There was an if statement that didn't exclude arrays before sending the row to the processingRow function. Looks like processingRow was converting the array to a string.
In app/code/core/Mage/Api/Model/Server/Handler/Abstract.php (see before and after below)
public function processingMethodResult(array $result)
{
foreach ($result as &$row) {
/*before */
//if (!is_null($row) && !is_bool($row) && !is_numeric($row)) {
/*after*/
if (!is_null($row) && !is_bool($row) && !is_numeric($row) && !is_array($row)) {
$row = $this->processingRow($row);
}
}
return $result;
}
Just an update, that I fixed the issue. I think it was the new release recently put out for 1.9.3. There was an if statement that didn't exclude arrays before sending the row to the processingRow function. Looks like processingRow was converting the array to a string.
In app/code/core/Mage/Api/Model/Server/Handler/Abstract.php (see before and after below)
public function processingMethodResult(array $result)
{
foreach ($result as &$row) {
/*before */
//if (!is_null($row) && !is_bool($row) && !is_numeric($row)) {
/*after*/
if (!is_null($row) && !is_bool($row) && !is_numeric($row) && !is_array($row)) {
$row = $this->processingRow($row);
}
}
return $result;
}