Hello,
I've found that when using the following combination that vCenter Orchestrator is unable to enumerate vCloud Director objects below the Organization vDC level:
The following error is reported in the logs - I've underlined relevant sections. What appears to happen is that the following method: com.vmware.vmo.plugin.vcloud.VCloudEntityResolver.getEntityByReference is invoked, but fails with this exception: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Invalid final field javax.xml.bind.JAXBElement.name. Is there a workaround currently available or a out-of-band release of the vCloud Director plugin that is compatible with 5.5?
Any help beyond "this is an unsupported configuration," and "a compatible plugin will be released later this year" would be appreciated, as we depend on vCO for our day-to-day provisioning operations.
Here's the full error stack if any developers happen to glance upon this post:
2013-10-15 10:56:23.021-0400 [http-bio-ip-8281-exec-16] ERROR {} [VCloudPluginFactory]
com.vmware.vmo.plugin.vcloud.VCloudPluginException
at com.vmware.vmo.plugin.vcloud.VCloudEntityResolver.getEntityByReference(VCloudEntityResolver.java:107)
at com.vmware.vmo.plugin.vcloud.VCloudPluginFactory.hasChildrenInRelation(VCloudPluginFactory.java:206)
at sun.reflect.GeneratedMethodAccessor136.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at ch.dunes.vso.sdk.DirectInvoker.invoke(DirectInvoker.java:55)
at ch.dunes.vso.sdk.SDKDatasourceInvoker.hasChildrenInRelation(SDKDatasourceInvoker.java:136)
at ch.dunes.vso.sdk.SDKFinder._hasChildrenInRelation(SDKFinder.java:266)
at ch.dunes.vso.sdk.SDKFinder.hasChildrenInRelation(SDKFinder.java:241)
at ch.dunes.vso.sdk.ModulesFactory.hasChildrenInRelation(ModulesFactory.java:534)
at com.vmware.o11n.sdk.EnhancedScriptingSDK.hasChildrenInRelation(EnhancedScriptingSDK.java:104)
at com.vmware.o11n.service.sdk.SdkModuleServiceImpl.hasChildrenInRelation(SdkModuleServiceImpl.java:66)
at com.vmware.o11n.service.factory.VcoFactoryFacade.hasChildrenInRelation(VcoFactoryFacade.java:1613)
at sun.reflect.GeneratedMethodAccessor141.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vmware.o11n.service.security.AccessRightsInterceptor.invoke(AccessRightsInterceptor.java:92)
at com.vmware.o11n.service.security.AccessRightsInterceptor.invoke(AccessRightsInterceptor.java:83)
at com.vmware.o11n.service.webremoting.VcoDelegatingWebFacade.invokeOperation(VcoDelegatingWebFacade.java:106)
at com.vmware.o11n.integration.initialization.VcoFactoryServiceFacadeProxy.invokeOperation(VcoFactoryServiceFacadeProxy.java:86)
at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
at com.sun.proxy.$Proxy104.invokeOperation(Unknown Source)
at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
at org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:38)
at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:73)
at org.springframework.web.context.support.HttpRequestHandlerServlet.service(HttpRequestHandlerServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:95)
at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vmware.vmo.plugin.vcloud.VCloudEntityResolver.getEntityByReference(VCloudEntityResolver.java:105)
... 56 more
Caused by: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Invalid final field javax.xml.bind.JAXBElement.name
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.validateFieldAccess(PureJavaReflectionProvider.java:149)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:105)
at com.thoughtworks.xstream.converters.reflection.ReflectionConverter.marshal(ReflectionConverter.java:44)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshaller.convertAnother(ReferenceByXPathMarshaller.java:36)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:68)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:47)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshaller.convertAnother(ReferenceByXPathMarshaller.java:36)
at com.thoughtworks.xstream.converters.reflection.ReflectionConverter$1.writeField(ReflectionConverter.java:81)
at com.thoughtworks.xstream.converters.reflection.ReflectionConverter$1.visit(ReflectionConverter.java:59)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:108)
at com.thoughtworks.xstream.converters.reflection.ReflectionConverter.marshal(ReflectionConverter.java:44)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshaller.convertAnother(ReferenceByXPathMarshaller.java:36)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:68)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:47)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshaller.convertAnother(ReferenceByXPathMarshaller.java:36)
at com.thoughtworks.xstream.converters.reflection.ReflectionConverter$1.writeField(ReflectionConverter.java:81)
at com.thoughtworks.xstream.converters.reflection.ReflectionConverter$1.visit(ReflectionConverter.java:59)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:108)
at com.thoughtworks.xstream.converters.reflection.ReflectionConverter.marshal(ReflectionConverter.java:44)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshaller.convertAnother(ReferenceByXPathMarshaller.java:36)
at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:46)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.marshal(ReferenceByXPathMarshallingStrategy.java:17)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:476)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:466)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:438)
at net.sf.beanlib.utils.xml.XmlUtils.toXml(XmlUtils.java:28)
at net.sf.beanlib.utils.ObjectUtils.deepCopy(ObjectUtils.java:32)
at com.vmware.vmo.plugin.vcloud.model.ModelHelper.cloneObject(ModelHelper.java:453)
at com.vmware.vmo.plugin.vcloud.model.Vdc.getInstance(Vdc.java:88)
... 60 more
XStream library need to be updated to version 1.4.4+ to make it work with Java 7.
You may try the following (no guarantee it will work, though)
I don't have a working vCloud environment to test it, so this may not work without recompiling the plug-in, but it won't hurt to try.
This error may happen in the Java SDK so it is unlikely it will be solved. I would suggest opening a support request and ask if you can get early access to the 5.5 plug-in.
Thanks. I've opened SR # 13388117410 and referred it to this thread. I'd be happy to test the 5.5 plug-in in these environments.
This error also occurs in the following combination.
vCenter Orchestrator 5.5
vCloud Director 5.1
vCloud Director vCO Plugin 5.1.
XStream library need to be updated to version 1.4.4+ to make it work with Java 7.
You may try the following (no guarantee it will work, though)
I don't have a working vCloud environment to test it, so this may not work without recompiling the plug-in, but it won't hurt to try.
This workaround allowed me to get me past the getEntityByReference error. I used the xstream_1.4.5.jar. I did not put the xmlpull library into the plugin.dar file.
Thanks Ilian. At least until VMware revs the plugin, this allows me to keep moving without reverting to vCO 5.1.
Thanks Ilian, I've confirmed that the workaround is functional - objects are now visible below the vDC.
Can someone tell me if the current vCD 5.5 plugin is backward compatible with with vCD 5.1? I am trying to get a vCO 5.5 server up and running and I am experiencing the same issue with nothing being returned past the org vdc with the vCD 5.1 plugin. The documentation for the vCD 5.5 plugin reads to me as though it is only compatible with 5.5 and I would need to use the 5.1 plugin (with this hack) if I want to move to vCO 5.5 . I am not comfortable doing so if this is an unsupported configuration.
The 5.5 plug-in is not backward compatible.
Please use the 5.1 plug-in from the documents tab.
What are you referring to when you say "the documents tab"? Can you provide a URL or a series of link clicks to get me there? I've not been able to find a link to the "VCD 5.1 plugin for VCO 5.5" download.
My problem is with a similar setup: VCO 5.5 talking to VCD 5.1
I'm using o11nplugin-vcloud.dar which is supposedly for VCO 5.5 to talk to VCD 5.1 (supplied as a download link in an SR) and it shows up in the Plugins list in VCO Configurator as ""
When I have an object of type vCloud:Vdc and try to get the ".parent" property, the resulting value comes back as "undefined", instead of as a vCloud:Organization object.
For those here and scratching their heads: xstream 1.4.4 also appears to be invalid (it is included in the 5.5 plugin). Upgrading to 1.4.7 resolves the issue in 5.5 (for vCO in Windows).