The test fails because the elements of  an SDO list inside a complex
type seem to be deleted when xmlrpc_encode_request is called on the
SDO. There are no other references to the SDO, and the list is deleted
when convert_to_array(sdo) is called by xmlrpc_encode_request. If the
test retains another reference to the sdo, then it works fine. But I
think the list should not get deleted. Here is a simple test which
illustrates the problem, without using xmlrpc.

The test creates an sdo which contains a list, and prints it before
and after it is converted to an array. After the conversion, the field
intArrayValue is empty. I would have expected to see an array with
three integers.

This can be fixed inside XMLRPC binding and the tests, but I think it
should be fixed in the SDO implementation.

-- Rajini


SDOListTest.php:
------------------------

<?php


require_once 'SCA/SCA.php';


$xmldas = SDO_DAS_XML::create(array('test.xsd'));
$obj = $xmldas->createDataObject("http://www.example.org/test";,
"TestType");
$obj->intArrayValue[] = 1;
$obj->intArrayValue[] = 2;
$obj->intArrayValue[] = 3;
echo "SDO: \n";
var_dump($obj);

$obj = (array)$obj;
echo "\nSDO as an array:\n";
var_dump($obj);

?>

test.xsd:
------------

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema";
        targetNamespace="http://www.example.org/test";
        xmlns:tns="http://www.example.org/test";>

    <complexType name="TestType">
        <sequence>
            <element name="intArrayValue"  type="integer"
minOccurs="0" maxOccurs="unbounded"/>
            <element name="strValue" type="string" />
        </sequence>
    </complexType>

</schema>




On 27 Apr, 07:49, [EMAIL PROTECTED] wrote:
> Anyone any idea if we can get the XmlRpc test operable again? It fails
> with two errors at the moment.
>
> 1) testXsdType(SCA_XmlRpcTest)
> SDO_PropertyNotSetException: Cannot read property 'name' because it is
> not set
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:117
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:117
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:117
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:144
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:192
> C:\simon\Projects\Tuscany\php\branch-build\php-5.2.0\phpunit:40
>
> 2) testXmlRpcType(SCA_XmlRpcTest)
> SDO_PropertyNotSetException: Cannot read property 'intValue' because
> it is not s
> et
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:117
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:117
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:117
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:144
> C:\simon\Projects\Tuscany\php\branch-build\pecl\sdo\tests\SCA\phpunit
> \XmlRpc\Xml
> RpcTest.php:222
> C:\simon\Projects\Tuscany\php\branch-build\php-5.2.0\phpunit:40
>
> Simon


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"phpsoa" group.
To post to this group, send email to phpsoa@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.co.uk/group/phpsoa?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to