VMware {code} Community
bizio1973
Contributor
Contributor

_ns1__QueryPerfResponse definition (wsdl4.0 vs wsdl4.1)

Hi,

I built an application that uses C stub APIs derived by using gSoap tool and vmware wsdl file. I used the wsdl for the SDK4.0 at first and coded my application on top of the C APIs I got using this wsdl. Now I wanted to move to SDK4.1 and got some new C stub APIs using gSoap and the wsdl4.1. However now my application does not compile anymore and the reason is the  _ns1__QueryPerfResponse structure is defined differently:

from vcenter.h generated by wsdl4.0:

struct _ns1__QueryPerfResponse
{
/// Size of array of struct ns1__PerfEntityMetric* is 0..unbounded
    int                                  __sizereturnval                0;
/// Array struct ns1__PerfEntityMetric* of length 0..unbounded
    struct ns1__PerfEntityMetric*        returnval                      0;
};

from vcenter.h generated by wsdl4.1:

struct _ns1__QueryPerfResponse

{

/// Size of array of struct ns1__PerfEntityMetricBase* is 0..unbounded

    int                                  __sizereturnval                0;

/// Array struct ns1__PerfEntityMetricBase* of length 0..unbounded

    struct ns1__PerfEntityMetricBase*    returnval                      0;

};

is this expected? Shouldn't we have backward compatibility? Otherwise and application working with vCenter4.0 might not work anymore with vCenter4.1?
Thanks
Fabrizio

0 Kudos
1 Reply
bizio1973
Contributor
Contributor

My bad, in fact the two wsdl are the same in these regards,  I previously modified wsdl4.0 to fit to my app and totally forgot about it.

Thanks

0 Kudos