2016-04-19 10:45:30,617 | ERROR | qtp2105435835-67 | ContainerResponse | 135 - com.sun.jersey.jersey-server - 1.19.0 | The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NoClassDefFoundError: com/ecwid/consul/v1/ConsulClient
at uni.wue.app.consul.ConsulServiceApi.connectConsul(ConsulServiceApi.java:51)[182:uni.wue.onos-byod:1.0.0.SNAPSHOT]
at uni.wue.app.rest.AppWebConsul.postConsul(AppWebConsul.java:71)[182:uni.wue.onos-byod:1.0.0.SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_72]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_72]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_72]
at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_72]
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)[135:com.sun.jersey.jersey-server:1.19.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)[135:com.sun.jersey.jersey-server:1.19.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)[135:com.sun.jersey.jersey-server:1.19.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)[135:com.sun.jersey.jersey-server:1.19.0]
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)[136:com.sun.jersey.servlet:1.19.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)[136:com.sun.jersey.servlet:1.19.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)[136:com.sun.jersey.servlet:1.19.0]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[102:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[117:org.ops4j.pax.web.pax-web-jetty:3.1.4]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:522)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[117:org.ops4j.pax.web.pax-web-jetty:3.1.4]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[117:org.ops4j.pax.web.pax-web-jetty:3.1.4]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.Server.handle(Server.java:370)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[108:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_72]
Caused by: java.lang.ClassNotFoundException: com.ecwid.consul.v1.ConsulClient not found by uni.wue.onos-byod [182]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_72]
... 48 more
package uni.wue.app.consul;
import com.ecwid.consul.v1.ConsulClient;
import com.ecwid.consul.v1.QueryParams;
import com.ecwid.consul.v1.Response;
import org.apache.felix.scr.annotations.Component;
import org.onlab.packet.IpAddress;
import org.onlab.packet.TpPort;
import org.slf4j.Logger;
import java.util.List;
import java.util.Map;
import static org.slf4j.LoggerFactory.getLogger;
/**
* Created by lorry on 19.04.16.
*/
@Component(immediate = true)
@org.apache.felix.scr.annotations.Service
public class ConsulServiceApi implements ConsulService {
private static final Logger log = getLogger(uni.wue.app.PortalManager.class);
/**
* Connect to a running consul agent.
*
* @param ipAddress Ip address to connect to
* @param tpPort transport protocol port
*/
@Override
public void connectConsul(IpAddress ipAddress, TpPort tpPort) {
ConsulClient consulClient = new ConsulClient("127.0.0.1");
QueryParams params = new QueryParams("dc1");
Response<Map<String, List<String>>> response = consulClient.getCatalogServices(params);
log.info("Services: " + response.getValue());
}
}
--
You received this message because you are subscribed to the Google Groups "ONOS Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-discuss...@onosproject.org.
To post to this group, send email to onos-d...@onosproject.org.
Visit this group at https://groups.google.com/a/onosproject.org/group/onos-discuss/.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-discuss/219ebf2c-4278-41a0-b0d5-ee03127d275a%40onosproject.org.
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="onos-byod-1.0-SNAPSHOT">
<feature name="onos-byod" version="1.0-SNAPSHOT"
description="ONOS OSGi bundle archetype">
<feature>onos-api</feature>
<bundle>mvn:uni.wue/onos-byod/1.0-SNAPSHOT</bundle>
<bundle>wrap:mvn:com.orbitz.consul/consul-client/0.10.1$Bundle-SymbolicName=consul-client&Bundle-Version=0.10.1;</bundle>
</feature>
</features>
<app name="uni.wue.app" origin="Uni Wuerzburg" version="1.0-SNAPSHOT"
featuresRepo="mvn:uni.wue/onos-byod/1.0-SNAPSHOT/xml/features"
features="onos-byod" apps="">
<description>ONOS OSGi bundle archetype</description>
<artifact>mvn:uni.wue/onos-byod/1.0-SNAPSHOT</artifact>
<artifact>mvn:com.orbitz.consul/consul-client/0.10.1</artifact>
</app>
<dependency>Maven is now including the consul.jar file into the oar file of the application as i wished. But when i use my application in Onos, the same NoClassDefFoundError as described above is produced.
<groupId>com.orbitz.consul</groupId>
<artifactId>consul-client</artifactId>
<version>0.10.1</version>
</dependency>
...
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="onos-byod-1.0-SNAPSHOT">
<feature name="onos-byod" version="1.0-SNAPSHOT"
description="ONOS OSGi bundle archetype">
<feature version="1.5.1">onos-api</feature>
<bundle>mvn:uni.wue/onos-byod/1.0-SNAPSHOT</bundle>
<bundle>wrap:mvn:com.orbitz.consul/consul-client/0.10.1$Bundle-SymbolicName=consul-client&Bundle-Version=0.10.1</bundle>
<bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-guava/2.6.3</bundle>
<bundle>mvn:javax.ws.rs/javax.ws.rs-api/2.0.1</bundle>
</feature>
</features>
But now i have another problem, with including the javax.ws.rs-api.
I'll ask this in a new thread, as it has not much to do with this question.
Best regards
Lorenz