Hello Jenkins developers,
I’m currently developing a Jenkins plugin for deploying artifacts to a proprietary software by Hewlett Packard Enterprise. Therefore, I’m using the software’s Java API. The initial configuration of the job and the post-build step are working fine. The deployment works as well. But when I open the job’s configuration again, I’m receiving an exception once I click on apply or save. I’m receiving a NoClassDefFoundError for a proprietary class of the API. My question is: why is it even using the API on saving the configuration? What exactly happens when I click save? I only use the API in my perform method. Here is the exception: javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/hp/ucmdb/protocol/schema/Protocol at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53 ) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler .java:1669) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler .java:1652) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler .java:1652) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84 ) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler .java:1652) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter .java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler .java:1652) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81 ) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler .java:1652) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadName Filter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler .java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143 ) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java :223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java :1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java: 185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java: 1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141 ) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHand lerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection. java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:9 7) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java: 635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:5 55) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NoClassDefFoundError: com/hp/ucmdb/protocol/schema/Protocol at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.getDeclaredMethod(Class.java:2128) at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.ge tMethod(SerializationMethodInvoker.java:165) at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.ge tMethod(SerializationMethodInvoker.java:149) at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.ca llWriteReplace(SerializationMethodInvoker.java:86) at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java :100) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractRe ferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.j ava:58) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(A bstractReferenceMarshaller.java:84) at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverte r.java:224) at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter .java:211) at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java :183) at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.vi sitSerializableFields(PureJavaReflectionProvider.java:138) at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.ja va:168) at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java :109) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractRe ferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.j ava:58) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(A bstractReferenceMarshaller.java:84) at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverte r.java:224) at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter .java:211) at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java :183) at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.vi sitSerializableFields(PureJavaReflectionProvider.java:138) at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.ja va:168) at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java :109) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractRe ferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.j ava:58) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(A bstractReferenceMarshaller.java:84) at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverte r.java:224) at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter .java:211) at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java :183) at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.vi sitSerializableFields(PureJavaReflectionProvider.java:138) at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.ja va:168) at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java :109) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractRe ferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.j ava:58) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.j ava:43) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(A bstractReferenceMarshaller.java:88) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter. writeItem(AbstractCollectionConverter.java:64) at hudson.util.DescribableList$ConverterImpl.marshal(DescribableList.java:269) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractRe ferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.j ava:58) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(A bstractReferenceMarshaller.java:84) at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverte r.java:224) at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter .java:211) at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java :183) at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.vi sitSerializableFields(PureJavaReflectionProvider.java:138) at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.ja va:168) at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java :109) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractRe ferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.j ava:58) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.j ava:43) at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82) at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(Abstra ctTreeMarshallingStrategy.java:37) at com.thoughtworks.xstream.XStream.marshal(XStream.java:1026) at com.thoughtworks.xstream.XStream.marshal(XStream.java:1015) at com.thoughtworks.xstream.XStream.toXML(XStream.java:988) at hudson.XmlFile.write(XmlFile.java:178) at hudson.model.AbstractItem.save(AbstractItem.java:513) at hudson.model.Job.save(Job.java:177) at hudson.model.AbstractProject.save(AbstractProject.java:306) at hudson.model.AbstractItem.setDisplayName(AbstractItem.java:168) at hudson.model.Job.doConfigSubmit(Job.java:1186) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:796) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53 ) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) ... 44 more Caused by: java.lang.ClassNotFoundException: Failed to load class com.hp.ucmdb.protocol.schema.Protocol at com.hp.ucmdb.api.client.http.bootstrap.SDKClassLoader.findClass(SDKClassLoad er.java:69) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at com.hp.ucmdb.api.client.http.bootstrap.SDKClassLoader.loadClass(SDKClassLoad er.java:38) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 118 more Caused by: java.io.IOException: Got response code 404 for URL http://c9w18498.itcs.hpecorp.net:8080/ucmdb-api/classes/com/hp/ucmdb/protoco l/schema/Protocol.class at com.hp.ucmdb.api.client.http.bootstrap.SDKClassLoader.downloadClassByteCode( SDKClassLoader.java:119) at com.hp.ucmdb.api.client.http.bootstrap.SDKClassLoader.downloadClassByteCode( SDKClassLoader.java:88) at com.hp.ucmdb.api.client.http.bootstrap.SDKClassLoader.findClass(SDKClassLoad er.java:65) ... 121 more I’m also seeing an error on the server-side of the software: 2016-08-17 13:23:41,456 ERROR [qtp1548928899-112733] (ApiServlet.java:126) - Denied downloading of class com/hp/ucmdb/protocol/schema/Protocol.class I really want to understand what happens when I click the save button? Why is Jenkins trying to connect to the server and using the API? Any help is highly appreciated. If you need further information, I’m happy to provide them. Thanks and best regards Moritz Moritz Rupp Technical Consultant Software Services +49 172 542 65 34 Mobile +49 7031 306 4178 Office Herrenberger Strasse 140, 71034 Böblingen <mailto:moritz.r...@hpe.com> moritz.r...@hpe.com Geschäftsführer: Heiko Meyer (Vorsitzender), Thomas Bässler, Volkhard Bregulla, Michael Eberhardt, Angelika Gifford, Ernst Reichart. Vorsitzender des Aufsichtsrats: Jörg Menno Harms Sitz der Gesellschaft: Böblingen, Amtsgericht Stuttgart HRB 244081 WEEE-Reg.-Nr. DE 30409072 -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/AT5PR84MB0274871F4DF4EB75ABBC22EDF6150%40AT5PR84MB0274.NAMPRD84.PROD.OUTLOOK.COM. For more options, visit https://groups.google.com/d/optout.
smime.p7s
Description: S/MIME cryptographic signature