Hi James/vbox'ers,
I have upgraded to the latest release of VirtualBox (3.1.6) and I am also using 
the latest version of the vboxServiceWrappers.php from the 3.1.6 build.
Seems all your changes have successfully made it in and all is great ... well 
... except for one item: IPerformanceCollectorCollection.
This is, as you might remember the tricky case where the queryMetricsData 
method returns an array of data one of which is a collection of objects.
In the most recent version, you have made a few changes that introduce some 
problems.
In the latest version, you have defaulted the _interfaceName element of the 
VBox_ManagedObjectCollection class to null rather than 'VBox_ManagedObject' as 
you did before.  Since the queryMetricsData method cannot determine the class 
(seems vboxwebsrv is not setting it?), the VBox_ManagedObjectCollection class 
attempts to instantiate a new object using an empty class name which results in 
the following error:
PHP Fatal error:  Class name must be a valid object or a string in 
/home/jvcd/lib/vboxServiceWrappers.php on line 97.

As there is no longer the method 'setInterfaceName', (I was not using it 
before), I am unable to 'force' the class ...
I'm OK with any approach you take (changing the default _interfaceName or 
adding a setInterfaceName method).  Personally I prefer the setInterfaceMethod.
To work around the problem ... I've re-added the setInterfaceName on my local 
copy ...  Then once the queryMetricsData result is returned, I use the 
setInterfaceName method to set the class name to ''VBox_ManagedObject'.
In reality, for the objects returned by the queryMetricsData, all that is 
required is the 'handle'.  This is necessary so that if multiple statistics are 
returned for multiple machines (more efficient that way), you will be able to 
determine which stats are for which machine.
I've attached a trace-dump ... note at the bottom of the trace you will see the 
_interfaceName element is empty:
        [handles:protected] => Array            (                [0] => 
ccf984b29176e999-00000000000000c7                [1] => 
ccf984b29176e999-00000000000000c7                [2] => 
ccf984b29176e999-00000000000000c7                [3] => 
ccf984b29176e999-00000000000000c7                [4] => 
ccf984b29176e999-00000000000000c7                [5] => 
ccf984b29176e999-00000000000000c7                [6] => 
ccf984b29176e999-00000000000000c7            )        
[_interfaceName:protected] => 


Thanks,Joe






      
03/28/2010 08:30:38 - 13591 - TRACE - jvcstatd - (jvcstatd.php-[getVBoxStats]): 
SETUP: perfDataSetup: IPerformanceMetricCollection Object
    (
        [_interfaceName:protected] => IPerformanceMetric
        [connection:protected] => SoapClient Object
            (
                [location] => http://192.168.0.200:18083/
                [trace] => 1
                [_connection_timeout] => 1
                [_soap_version] => 1
                [sdl] => Resource id #72
                [httpurl] => Resource id #123
                [__last_request_headers] => POST / HTTP/1.1
    Host: 192.168.0.200:18083
    Connection: Keep-Alive
    User-Agent: PHP-SOAP/5.2.11
    Content-Type: text/xml; charset=utf-8
    SOAPAction: ""
    Content-Length: 495
    
                [__last_response_headers] => HTTP/1.1 200 OK
    Server: gSOAP/2.7
    Content-Type: text/xml; charset=utf-8
    Content-Length: 521
    Connection: close
                [__last_request] => <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="http://www.virtualbox.org/";>
        <SOAP-ENV:Body>
            <ns1:IPerformanceCollector_setupMetrics>
                <_this>ccf984b29176e999-00000000000000c6</_this>
                
<metricNames>CPU/Load/User,CPU/Load/Kernel,CPU/Load/Idle,CPU/MHz,RAM/Usage/Total,RAM/Usage/Used,RAM/Usage/Free</metricNames>
                <period>5</period>
                <count>1</count>
            </ns1:IPerformanceCollector_setupMetrics>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
                [__last_response] => <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:vbox="http://www.virtualbox.org/";>
        <SOAP-ENV:Body>
            <vbox:IPerformanceCollector_setupMetricsResponse>
                <returnval>ccf984b29176e999-00000000000000c8</returnval>
            </vbox:IPerformanceCollector_setupMetricsResponse>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
            )
        [handles:protected] => Array
            (
                [0] => ccf984b29176e999-00000000000000c8
            )
    )
03/28/2010 08:30:38 - 13591 - TRACE - jvcstatd - (jvcstatd.php-[getVBoxStats]): 
ENABLE: perfDataEnable: IPerformanceMetricCollection Object
    (
        [_interfaceName:protected] => IPerformanceMetric
        [connection:protected] => SoapClient Object
            (
                [location] => http://192.168.0.200:18083/
                [trace] => 1
                [_connection_timeout] => 1
                [_soap_version] => 1
                [sdl] => Resource id #72
                [httpurl] => Resource id #126
                [__last_request_headers] => POST / HTTP/1.1
    Host: 192.168.0.200:18083
    Connection: Keep-Alive
    User-Agent: PHP-SOAP/5.2.11
    Content-Type: text/xml; charset=utf-8
    SOAPAction: ""
    Content-Length: 463
    
                [__last_response_headers] => HTTP/1.1 200 OK
    Server: gSOAP/2.7
    Content-Type: text/xml; charset=utf-8
    Content-Length: 523
    Connection: close
                [__last_request] => <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="http://www.virtualbox.org/";>
        <SOAP-ENV:Body>
            <ns1:IPerformanceCollector_enableMetrics>
                <_this>ccf984b29176e999-00000000000000c6</_this>
                
<metricNames>CPU/Load/User,CPU/Load/Kernel,CPU/Load/Idle,CPU/MHz,RAM/Usage/Total,RAM/Usage/Used,RAM/Usage/Free</metricNames>
            </ns1:IPerformanceCollector_enableMetrics>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
                [__last_response] => <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:vbox="http://www.virtualbox.org/";>
        <SOAP-ENV:Body>
            <vbox:IPerformanceCollector_enableMetricsResponse>
                <returnval>ccf984b29176e999-00000000000000c9</returnval>
            </vbox:IPerformanceCollector_enableMetricsResponse>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
            )
        [handles:protected] => Array
            (
                [0] => ccf984b29176e999-00000000000000c9
            )
    )
03/28/2010 08:30:38 - 13591 - TRACE - jvcstatd - (jvcstatd.php-[getVBoxStats]): 
perfData: Array
    (
        [0] => Array
            (
                [0] => 0
            )
        [1] => Array
            (
                [0] => CPU/Load/User
                [1] => CPU/Load/Kernel
                [2] => CPU/Load/Idle
                [3] => CPU/MHz
                [4] => RAM/Usage/Total
                [5] => RAM/Usage/Used
                [6] => RAM/Usage/Free
            )
        [2] => VBox_ManagedObjectCollection Object
            (
                [connection:protected] => SoapClient Object
                    (
                        [location] => http://192.168.0.200:18083/
                        [trace] => 1
                        [_connection_timeout] => 1
                        [_soap_version] => 1
                        [sdl] => Resource id #72
                        [httpurl] => Resource id #129
                        [__last_request_headers] => POST / HTTP/1.1
    Host: 192.168.0.200:18083
    Connection: Keep-Alive
    User-Agent: PHP-SOAP/5.2.11
    Content-Type: text/xml; charset=utf-8
    SOAPAction: ""
    Content-Length: 469
    
                        [__last_response_headers] => HTTP/1.1 200 OK
    Server: gSOAP/2.7
    Content-Type: text/xml; charset=utf-8
    Content-Length: 2644
    Connection: close
                        [__last_request] => <?xml version="1.0" 
encoding="UTF-8"?>
    <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="http://www.virtualbox.org/";>
        <SOAP-ENV:Body>
            <ns1:IPerformanceCollector_queryMetricsData>
                <_this>ccf984b29176e999-00000000000000c6</_this>
                
<metricNames>CPU/Load/User,CPU/Load/Kernel,CPU/Load/Idle,CPU/MHz,RAM/Usage/Total,RAM/Usage/Used,RAM/Usage/Free</metricNames>
            </ns1:IPerformanceCollector_queryMetricsData>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
                        [__last_response] => <?xml version="1.0" 
encoding="UTF-8"?>
    <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:vbox="http://www.virtualbox.org/";>
        <SOAP-ENV:Body>
            <vbox:IPerformanceCollector_queryMetricsDataResponse>
                <returnMetricNames>CPU/Load/User</returnMetricNames>
                <returnMetricNames>CPU/Load/Kernel</returnMetricNames>
                <returnMetricNames>CPU/Load/Idle</returnMetricNames>
                <returnMetricNames>CPU/MHz</returnMetricNames>
                <returnMetricNames>RAM/Usage/Total</returnMetricNames>
                <returnMetricNames>RAM/Usage/Used</returnMetricNames>
                <returnMetricNames>RAM/Usage/Free</returnMetricNames>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnUnits>%</returnUnits>
                <returnUnits>%</returnUnits>
                <returnUnits>%</returnUnits>
                <returnUnits>MHz</returnUnits>
                <returnUnits>kB</returnUnits>
                <returnUnits>kB</returnUnits>
                <returnUnits>kB</returnUnits>
                <returnScales>1000</returnScales>
                <returnScales>1000</returnScales>
                <returnScales>1000</returnScales>
                <returnScales>1</returnScales>
                <returnScales>1</returnScales>
                <returnScales>1</returnScales>
                <returnScales>1</returnScales>
                <returnSequenceNumbers>0</returnSequenceNumbers>
                <returnSequenceNumbers>3648260</returnSequenceNumbers>
                <returnSequenceNumbers>0</returnSequenceNumbers>
                <returnSequenceNumbers>0</returnSequenceNumbers>
                <returnSequenceNumbers>3648260</returnSequenceNumbers>
                <returnSequenceNumbers>22413768</returnSequenceNumbers>
                <returnSequenceNumbers>0</returnSequenceNumbers>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnval>0</returnval>
            </vbox:IPerformanceCollector_queryMetricsDataResponse>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
                    )
                [handles:protected] => Array
                    (
                        [0] => ccf984b29176e999-00000000000000c7
                        [1] => ccf984b29176e999-00000000000000c7
                        [2] => ccf984b29176e999-00000000000000c7
                        [3] => ccf984b29176e999-00000000000000c7
                        [4] => ccf984b29176e999-00000000000000c7
                        [5] => ccf984b29176e999-00000000000000c7
                        [6] => ccf984b29176e999-00000000000000c7
                    )
                [_interfaceName:protected] => 
            )
        [3] => Array
            (
                [0] => %
                [1] => %
                [2] => %
                [3] => MHz
                [4] => kB
                [5] => kB
                [6] => kB
            )
        [4] => Array
            (
                [0] => 1000
                [1] => 1000
                [2] => 1000
                [3] => 1
                [4] => 1
                [5] => 1
                [6] => 1
            )
        [5] => Array
            (
                [0] => 0
                [1] => 3648260
                [2] => 0
                [3] => 0
                [4] => 3648260
                [5] => 22413768
                [6] => 0
            )
        [6] => Array
            (
                [0] => 0
                [1] => 0
                [2] => 0
                [3] => 0
                [4] => 0
                [5] => 0
                [6] => 0
            )
        [7] => Array
            (
                [0] => 0
                [1] => 0
                [2] => 0
                [3] => 0
                [4] => 0
                [5] => 0
                [6] => 0
            )
    )
03/28/2010 08:30:38 - 13591 - TRACE - jvcstatd - (jvcstatd.php-[getVBoxStats]): 
perfCollection: VBox_ManagedObjectCollection Object
    (
        [connection:protected] => SoapClient Object
            (
                [location] => http://192.168.0.200:18083/
                [trace] => 1
                [_connection_timeout] => 1
                [_soap_version] => 1
                [sdl] => Resource id #72
                [httpurl] => Resource id #129
                [__last_request_headers] => POST / HTTP/1.1
    Host: 192.168.0.200:18083
    Connection: Keep-Alive
    User-Agent: PHP-SOAP/5.2.11
    Content-Type: text/xml; charset=utf-8
    SOAPAction: ""
    Content-Length: 469
    
                [__last_response_headers] => HTTP/1.1 200 OK
    Server: gSOAP/2.7
    Content-Type: text/xml; charset=utf-8
    Content-Length: 2644
    Connection: close
                [__last_request] => <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="http://www.virtualbox.org/";>
        <SOAP-ENV:Body>
            <ns1:IPerformanceCollector_queryMetricsData>
                <_this>ccf984b29176e999-00000000000000c6</_this>
                
<metricNames>CPU/Load/User,CPU/Load/Kernel,CPU/Load/Idle,CPU/MHz,RAM/Usage/Total,RAM/Usage/Used,RAM/Usage/Free</metricNames>
            </ns1:IPerformanceCollector_queryMetricsData>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
                [__last_response] => <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:vbox="http://www.virtualbox.org/";>
        <SOAP-ENV:Body>
            <vbox:IPerformanceCollector_queryMetricsDataResponse>
                <returnMetricNames>CPU/Load/User</returnMetricNames>
                <returnMetricNames>CPU/Load/Kernel</returnMetricNames>
                <returnMetricNames>CPU/Load/Idle</returnMetricNames>
                <returnMetricNames>CPU/MHz</returnMetricNames>
                <returnMetricNames>RAM/Usage/Total</returnMetricNames>
                <returnMetricNames>RAM/Usage/Used</returnMetricNames>
                <returnMetricNames>RAM/Usage/Free</returnMetricNames>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnObjects>ccf984b29176e999-00000000000000c7</returnObjects>
                <returnUnits>%</returnUnits>
                <returnUnits>%</returnUnits>
                <returnUnits>%</returnUnits>
                <returnUnits>MHz</returnUnits>
                <returnUnits>kB</returnUnits>
                <returnUnits>kB</returnUnits>
                <returnUnits>kB</returnUnits>
                <returnScales>1000</returnScales>
                <returnScales>1000</returnScales>
                <returnScales>1000</returnScales>
                <returnScales>1</returnScales>
                <returnScales>1</returnScales>
                <returnScales>1</returnScales>
                <returnScales>1</returnScales>
                <returnSequenceNumbers>0</returnSequenceNumbers>
                <returnSequenceNumbers>3648260</returnSequenceNumbers>
                <returnSequenceNumbers>0</returnSequenceNumbers>
                <returnSequenceNumbers>0</returnSequenceNumbers>
                <returnSequenceNumbers>3648260</returnSequenceNumbers>
                <returnSequenceNumbers>22413768</returnSequenceNumbers>
                <returnSequenceNumbers>0</returnSequenceNumbers>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataIndices>0</returnDataIndices>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnDataLengths>0</returnDataLengths>
                <returnval>0</returnval>
            </vbox:IPerformanceCollector_queryMetricsDataResponse>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
            )
        [handles:protected] => Array
            (
                [0] => ccf984b29176e999-00000000000000c7
                [1] => ccf984b29176e999-00000000000000c7
                [2] => ccf984b29176e999-00000000000000c7
                [3] => ccf984b29176e999-00000000000000c7
                [4] => ccf984b29176e999-00000000000000c7
                [5] => ccf984b29176e999-00000000000000c7
                [6] => ccf984b29176e999-00000000000000c7
            )
        [_interfaceName:protected] => 
    )

_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to