Below is from the sample code:
PropertyFilterSpec spec = new PropertyFilterSpec();
spec.getObjectSet().add(new ObjectSpec());
spec.getObjectSet().get(0).setObj(objmor);
spec.getPropSet().addAll(Arrays.asList(new PropertySpec[]{new PropertySpec()}));
spec.getPropSet().get(0).getPathSet().addAll(Arrays.asList(filterProps));
spec.getPropSet().get(0).setType(objmor.getType());
spec.getObjectSet().get(0).getSelectSet().add(null);
spec.getObjectSet().get(0).setSkip(Boolean.FALSE);
ManagedObjectReference filterSpecRef = vimPort.createFilter(propCollectorRef, spec, true); // This line throws the error below
SOAP Fault -
InvalidRequestFault
Message:
Attribute xsi:nil not allowed on element selectSet, which is not nillable.
while parsing property "skip" of static type boolean
while parsing serialized DataObject of type vmodl.query.PropertyCollector.ObjectSpec
at line 1, column 283
while parsing property "objectSet" of static type ArrayOfObjectSpec
while parsing serialized DataObject of type vmodl.query.PropertyCollector.FilterSpec
at line 1, column 183
while parsing call information for method CreateFilter
at line 1, column 94
while parsing SOAP body
at line 1, column 86
while parsing SOAP envelope
at line 1, column 22
while parsing HTTP request for method createFilter
on object of type vmodl.query.PropertyCollector
at line 1, column 0