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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---