cancel
Showing results for 
Search instead for 
Did you mean: 

After upgrade from 1.9.2.2 to 1.9.3 soap v1 api not returning sales order info items properly

SOLVED

After upgrade from 1.9.2.2 to 1.9.3 soap v1 api not returning sales order info items properly

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>

 

 

Tags (3)
2 REPLIES

Re: After upgrade from 1.9.2.2 to 1.9.3 soap v1 api not returning sales order info items properly

I think you can try process records in batches. Use order ID range in your filter along with filter by status. If it is not correct, maybe it is not possible with SOAP V1, so my suggestion is to use SOAP V2. Send multiple requests with different order ID range, then Magento will be able to generate response without exceeding memory limit. On the other hand, you can test demo migration with Magento upgrade extension to upgrade data to 1.9 properly.

Re: After upgrade from 1.9.2.2 to 1.9.3 soap v1 api not returning sales order info items properly

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;
    }

Tags (1)