I was able to successfully export content using the vco-cli tool, but when I attempt to export the same content using the maven plugin into my vco plugin project I get a 500 error back from the vco server. This vco server is a fresh appliance deploy from ova. Any ideas on if I've done something wrong possily?
The maven command line I used was as follows:
mvn "-Dlog4j.configuration=file:src/main/resources/log4j.properties" o11n-package:export-package
The stack trace from the logs on the vco server:
2014-07-15 10:47:34.988+0000 [http-bio-0.0.0.0-8281-exec-6] WARN {} [Filter] Throwable thrown during doFilter on request with URI: /vco/webremoting/vcofactory.service and Query: nullClass not found during deserialization; nested exception is java.lang.ClassNotFoundException: org.slf4j.impl.SimpleLogger org.springframework.web.util.NestedServletException: Class not found during deserialization; nested exception is java.lang.ClassNotFoundException: org.slf4j.impl.SimpleLogger at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:77) at org.springframework.web.context.support.HttpRequestHandlerServlet.service(HttpRequestHandlerServlet.java:67) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 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:611) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 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.ClassNotFoundException: org.slf4j.impl.SimpleLogger at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) at org.springframework.util.ClassUtils.forName(ClassUtils.java:258) at org.springframework.core.ConfigurableObjectInputStream.resolveClass(ConfigurableObjectInputStream.java:75) at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source) at java.io.ObjectInputStream.readClassDesc(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Unknown Source) at java.io.ObjectInputStream.readSerialData(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readArray(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Unknown Source) at java.io.ObjectInputStream.readSerialData(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readArray(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Unknown Source) at java.io.ObjectInputStream.readSerialData(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readObject(Unknown Source) at org.springframework.remoting.rmi.RemoteInvocationSerializingExporter.doReadRemoteInvocation(RemoteInvocationSerializingExporter.java:141) at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation(HttpInvokerServiceExporter.java:116) at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation(HttpInvokerServiceExporter.java:95) at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:72) ... 23 more
The content from the log is as follows:
>> POST /vco/webremoting/vcofactory.service HTTP/1.1 >> Accept-Encoding: gzip >> Content-Length: 1655 >> Content-Type: application/x-java-serialized-object >> Host: 10.246.218.102:8281 >> Connection: Keep-Alive >> "[0xac][0xed][0x0][0x5]sr[0x0]5org.springframework.remoting.support.RemoteInvocation_l[0x8b][0x9f][0xf6][\n]" >> "[0x11][\n]" >> "[0x2][0x0][0x4][[0x0][0x9]argumentst[0x0][0x13][Ljava/lang/Object;L[0x0][\n]" >> "attributest[0x0][0xf]Ljava/util/Map;L[0x0][\n]" >> "methodNamet[0x0][0x12]Ljava/lang/String;[[0x0][0xe]parameterTypest[0x0][0x12][Ljava/lang/Class;xpur[0x0][0x13][Ljava.lang.Object;[0x90][0xce]X[0x9f][0x10]s)l[0x2][0x0][0x0]xp[0x0][0x0][0x0][0x2]sr[0x0]2com.vmware.o11n.model.support.MethodInvocationData[0x10][0x5][0x11]M[0x9b]RDX[0x2][0x0][0x3]L[0x0][\n]" >> "methodNameq[0x0]~[0x0][0x3][[0x0][0xc]methodParamsq[0x0]~[0x0][0x1][[0x0][0xe]parameterTypesq[0x0]~[0x0][0x4]xpt[0x0][0x17]getExportDataForPackageuq[0x0]~[0x0][0x6][0x0][0x0][0x0][0x3]sr[0x0][0x1a]ch.dunes.model.pkg.Package[0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x3][0x2][0x0][0x4]L[0x0][0x11]allowedOperationsq[0x0]~[0x0][0x3]L[0x0][0xb]descriptionq[0x0]~[0x0][0x3]L[0x0][0x4]nameq[0x0]~[0x0][0x3]L[0x0][0x5]ownerq[0x0]~[0x0][0x3]xr[0x0] ch.dunes.model.dunes.DunesObject[0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x1][0x2][0x0][0x3]L[0x0][0xc]accessRightst[0x0]*Lch/dunes/model/ModelObjectRelationToMany;L[0x0][0x3]logt[0x0][0x12]Lorg/slf4j/Logger;L[0x0][0x4]m_idq[0x0]~[0x0][0x3]xpsr[0x0](ch.dunes.model.ModelObjectRelationToMany[0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x1][0x2][0x0][0x0]xr[0x0]"ch.dunes.model.ModelObjectRelation[0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x1][0x2][0x0][0x0]xpsr[0x0][0x1b]org.slf4j.impl.SimpleLogger[0xf7]7[0xe1][0xdb])[0x87]ol[0x2][0x0][0x1]I[0x0][0xf]currentLogLevelxr[0x0]$org.slf4j.helpers.MarkerIgnoringBase}[0x83][0xb1]UN]'[0x9b][0x2][0x0][0x0]xr[0x0]!org.slf4j.helpers.NamedLoggerBaseh[0x92][0x9d][0xc8][0x1c]NU}[0x2][0x0][0x1]L[0x0][0x4]nameq[0x0]~[0x0][0x3]xpt[0x0][0x1a]ch.dunes.model.pkg.Package[0x0][0x0][0x0][0x14]t[0x0] ff8080814735d0fa014735d6243f0005pt[0x0][0x0]t[0x0][0x19]net.jpmc.iaas.o11n.xmlrpct[0x0]+CN=VMWare,OU=VMWare,OU=VMWare,O=VMWare,C=USur[0x0]%[Ljava.security.cert.X509Certificate;W[0xbf]n@=[0x1][0xdb][0x9a][0x2][0x0][0x0]xp[0x0][0x0][0x0][0x0]sr[0x0]&ch.dunes.model.pkg.PackageExportOption[0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x1][0x2][0x0][0x4]Z[0x0]"exportConfigurationAttributeValuesZ[0x0][0x10]exportGlobalTagsZ[0x0][0x14]exportVersionHistoryL[0x0][0x11]allowedOperationsq[0x0]~[0x0][0x3]xp[0x1][0x1][0x0]t[0x0][0x3]vefur[0x0][0x12][Ljava.lang.Class;[0xab][0x16][0xd7][0xae][0xcb][0xcd]Z[0x99][0x2][0x0][0x0]xp[0x0][0x0][0x0][0x3]vq[0x0]~[0x0][0xc]vq[0x0]~[0x0][0x1d]vq[0x0]~[0x0][0x1f]sr[0x0]-com.vmware.o11n.model.support.SecurityContextw[0xf8]h[0x85][0xa9][0xb4][0xbc][0xa8][0x2][0x0][0x4]Z[0x0][0x8]internalL[0x0][0x8]clientIdq[0x0]~[0x0][0x3]L[0x0][0x9]sessionIdq[0x0]~[0x0][0x3]L[0x0][0x9]userTokent[0x0]!Lch/dunes/vso/sdk/api/IUserToken;xp[0x0]t[0x0]$6e373b0a-f24c-4e79-bcb8-d509850b4ef1t[0x0]$c7604ad1-67c6-4773-b5e8-a67a55a44348ppt[0x0][0xf]invokeOperationuq[0x0]~[0x0]"[0x0][0x0][0x0][0x2]vq[0x0]~[0x0][0x8]vq[0x0]~[0x0]'" << "HTTP/1.1 500 Internal Server Error[\r][\n]" << "Server: Apache-Coyote/1.1[\r][\n]" << "Content-Type: text/html;charset=utf-8[\r][\n]" << "Content-Language: en[\r][\n]" << "Content-Length: 5089[\r][\n]" << "Date: Tue, 15 Jul 2014 09:32:02 GMT[\r][\n]" << "Connection: close[\r][\n]" << "[\r][\n]" Receiving response: HTTP/1.1 500 Internal Server Error << HTTP/1.1 500 Internal Server Error
Hi,
ClassNotFoundException means there is no jar file containing this class. Check if you have a file name slf4j-simple-1.6.6.jar in the folder /usr/lib/vco/app-server/deploy/vco/WEB-INF/lib/ (assuming you are using the latest released vCO appliance).
If the file is not there, download it from Internet (for example, from Maven Central repository at http://search.maven.org/ , direct download link http://search.maven.org/remotecontent?filepath=org/slf4j/slf4j-simple/1.6.6/slf4j-simple-1.6.6.jar). Then copy the downloaded jar file to /usr/lib/vco/app-server/deploy/vco/WEB-INF/lib/ folder, make sure that it has the same owner/group/permission attributes as the other jars there, and restart the vCO server.
Hope this helps.
BTW, for not plugin SDK-related questions, you can also use the main vCO forum at https://communities.vmware.com/community/vmtn/vcenter/orchestrator