Details
Description
I am using below packages
<!-- Begin Apache CXF dependencies -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>${cxf.rs.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>${cxf.rs.version}</version>
</dependency>
and
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
to package the my module jar .
doing a simple rest call.
return (DeviceTerminal) webClient.path("device").query("tac",
tacInfo)
.get(DeviceTerminal.class);
});
Problem i am seeing is when i run the jar and make rest call getting a nullpointer exception due to phasemanager.class is not there in the extension but i could see that bus-extensions.txt has the entry.
I could run the test case from intellij ide but when run the application from command line. I am getting the below error.
593 [vert.x-eventloop-thread-0] DEBUG com.telus.handler.RestHttpErrorHandler - Handling REST API error ' (ContextMap={})
java.lang.NullPointerException: null
at org.apache.cxf.jaxrs.client.AbstractClient.setupOutInterceptorChain(AbstractClient.java:941) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at org.apache.cxf.jaxrs.client.AbstractClient.createMessage(AbstractClient.java:1013) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at org.apache.cxf.jaxrs.client.WebClient.finalizeMessage(WebClient.java:1075) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1048) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:897) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:866) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:431) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:611) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at com.telus.simota.client.ris.RISClientService.lambda$getDeviceTerminalForaGivenTac$0(RISClientService.java:23) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at com.telus.simota.client.APIClientComponent.sendRequest(APIClientComponent.java:32) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at com.telus.simota.client.ris.RISClientService.getDeviceTerminalForaGivenTac(RISClientService.java:20) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at com.telus.simota.add.handler.DeviceSwapEventHandler.handle(DeviceSwapEventHandler.java:41) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RouteImpl.handleContext(RouteImpl.java:219) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at com.telus.simota.transform.NotificationRequest.handle(NotificationRequest.java:48) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RouteImpl.handleContext(RouteImpl.java:219) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at com.telus.handler.validators.XMLContentValidator.validateContent(XMLContentValidator.java:76) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RouteImpl.handleContext(RouteImpl.java:219) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.handler.impl.BodyHandlerImpl.handle(BodyHandlerImpl.java:82) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.handler.impl.BodyHandlerImpl.handle(BodyHandlerImpl.java:42) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RouteImpl.handleContext(RouteImpl.java:219) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at com.telus.handler.validators.ContentTypeValidator.validate(ContentTypeValidator.java:43) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RouteImpl.handleContext(RouteImpl.java:219) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at com.telus.handler.CommonHandler.handle(CommonHandler.java:45) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RouteImpl.handleContext(RouteImpl.java:219) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:120) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler.doEnd(BodyHandlerImpl.java:231) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler.end(BodyHandlerImpl.java:211) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.ext.web.handler.impl.BodyHandlerImpl.lambda$handle$0(BodyHandlerImpl.java:74) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.http.impl.HttpServerRequestImpl.handleEnd(HttpServerRequestImpl.java:417) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.http.impl.Http1xServerConnection.handleLastHttpContent(Http1xServerConnection.java:462) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.http.impl.Http1xServerConnection.handleContent(Http1xServerConnection.java:457) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.http.impl.Http1xServerConnection.processMessage(Http1xServerConnection.java:437) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.http.impl.Http1xServerConnection.handleMessage(Http1xServerConnection.java:141) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.http.impl.HttpServerImpl$ServerHandlerWithWebSockets.handleMessage(HttpServerImpl.java:728) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.http.impl.HttpServerImpl$ServerHandlerWithWebSockets.handleMessage(HttpServerImpl.java:636) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.net.impl.VertxHandler.lambda$channelRead$1(VertxHandler.java:146) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:337) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:195) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.vertx.core.net.impl.VertxHandler.channelRead(VertxHandler.java:144) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:138) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) ~[MS-APIGateway-1.0.0-microsvc-fat.jar:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
please explain me the fix mentioned in