One way to see what the payload should look like would be to open up the network tab in your browser and perform the action you're trying to automate. You should be able to see what requests the NiFi UI performs and replicate those.
Thanks, Bryan On Wed, Apr 19, 2017 at 11:49 AM, Joe Witt <[email protected]> wrote: > Hello > > It appears to be throwing an NPE when establishing the position of the > component you're trying to add. While clearly an unfriendly error > message as-is did you specify the position in your request? > > Thanks > JOe > > On Wed, Apr 19, 2017 at 10:36 AM, Pushkara R <[email protected]> > wrote: > > Hi, > > > > I'm writing a custom REST client for NiFi. I am having troubles with the > > POST method on the /process-groups/<id>/remote-process-groups endpoint. > > > > The body of the POST method is as follows : > > > > { > > "component": { > > "targetUri": target_uri, > > "communicationsTimeout": "30 sec", > > "yieldDuration": "10 sec", > > "transportProtocol": "HTTP", > > "proxyHost": "", > > "proxyPort": "", > > "proxyUser": "", > > "proxyPassword": "" > > }, "revision": { > > "clientId": str(uuid.uuid4()), > > "version": 0 > > } > > } > > > > Whenever I make the call with the target_uri as > > "http://10.24.24.221:8080/nifi", I get back a status of 500 and a > response > > that says "An unexpected error has occured. Please check the logs for > > additional details." > > > > I have pasted the error logs from nifi-app.log and then below that logs > from > > nifi-user.log. Please let me know what could be causing this issue. It > would > > be really helpful. > > > > Thanks > > Pushkar > > > > <nifi-app.log> > > I 2017-04-19 19:54:35,663 ERROR [Flow Service Tasks Thread-2] > > o.a.nifi.controller.StandardFlowService Unable to save flow controller > > configuration due to: java.lang.NullPointerException > > java.lang.NullPointerException: null > > at > > org.apache.nifi.controller.serialization.StandardFlowSerializer. > addPosition(StandardFlowSerializer.java:141) > > ~[nifi-framework-core-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.controller.serialization.StandardFlowSerializer. > addPosition(StandardFlowSerializer.java:136) > > ~[nifi-framework-core-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.controller.serialization.StandardFlowSerializer. > addRemoteProcessGroup(StandardFlowSerializer.java:247) > > ~[nifi-framework-core-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.controller.serialization.StandardFlowSerializer. > addProcessGroup(StandardFlowSerializer.java:190) > > ~[nifi-framework-core-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.controller.serialization.StandardFlowSerializer. > serialize(StandardFlowSerializer.java:96) > > ~[nifi-framework-core-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.controller.FlowController.serialize( > FlowController.java:1431) > > ~[nifi-framework-core-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.save( > StandardXMLFlowConfigurationDAO.java:162) > > ~[nifi-framework-core-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.controller.StandardFlowService$SaveReportingTask.run( > StandardFlowService.java:963) > > ~[nifi-framework-core-1.1.2.jar:1.1.2] > > at > > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > > [na:1.8.0_121] > > at java.util.concurrent.FutureTask.runAndReset( > FutureTask.java:308) > > [na:1.8.0_121] > > at > > java.util.concurrent.ScheduledThreadPoolExecutor$ > ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) > > [na:1.8.0_121] > > at > > java.util.concurrent.ScheduledThreadPoolExecutor$ > ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) > > [na:1.8.0_121] > > at > > java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1142) > > [na:1.8.0_121] > > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:617) > > [na:1.8.0_121] > > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121] > > > > > > <nifi-user.log> > > 2017-04-19 19:54:35,219 INFO [NiFi Web Server-75] > > org.apache.nifi.web.filter.RequestLogger Attempting request for > (anonymous) > > POST > > http://10.24.24.222:8080/nifi-api/process-groups/8f5df7f8- > 015a-1000-7fd2-ef2d19738677/remote-process-groups > > (source ip: 10.24.24.222) > > 2017-04-19 19:54:35,225 ERROR [NiFi Web Server-75] > > o.a.nifi.web.api.config.ThrowableMapper An unexpected error has > occurred: > > java.lang.NullPointerException. Returning Internal Server Error > response. > > java.lang.NullPointerException: null > > at > > org.apache.nifi.web.api.dto.DtoFactory.createPositionDto( > DtoFactory.java:429) > > ~[classes/:na] > > at > > org.apache.nifi.web.api.dto.DtoFactory.createRemoteProcessGroupDto( > DtoFactory.java:1530) > > ~[classes/:na] > > at > > org.apache.nifi.web.StandardNiFiServiceFacade.lambda$ > createRemoteProcessGroup$103(StandardNiFiServiceFacade.java:1580) > > ~[classes/:1.1.2] > > at > > org.apache.nifi.web.StandardNiFiServiceFacade.lambda$createComponent$86( > StandardNiFiServiceFacade.java:1338) > > ~[classes/:1.1.2] > > at > > org.apache.nifi.web.revision.NaiveRevisionManager.updateRevision( > NaiveRevisionManager.java:121) > > ~[nifi-web-optimistic-locking-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.web.StandardNiFiServiceFacade.createComponent( > StandardNiFiServiceFacade.java:1331) > > ~[classes/:1.1.2] > > at > > org.apache.nifi.web.StandardNiFiServiceFacade.createRemoteProcessGroup( > StandardNiFiServiceFacade.java:1576) > > ~[classes/:1.1.2] > > at > > org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLIB$$ > 358780e0.invoke(<generated>) > > ~[classes/:1.1.2] > > at > > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > > ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation. > invokeJoinpoint(CglibAopProxy.java:720) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:157) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.aspectj.MethodInvocationProceedingJoin > Point.proceed(MethodInvocationProceedingJoinPoint.java:85) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.apache.nifi.web.NiFiServiceFacadeLock.createLock( > NiFiServiceFacadeLock.java:41) > > ~[classes/:1.1.2] > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > ~[na:1.8.0_121] > > at > > sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > > ~[na:1.8.0_121] > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > > ~[na:1.8.0_121] > > at java.lang.reflect.Method.invoke(Method.java:498) > ~[na:1.8.0_121] > > at > > org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethod(AbstractAspectJAdvice.java:610) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.aspectj.AspectJAroundAdvice. > invoke(AspectJAroundAdvice.java:68) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:179) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke( > ExposeInvocationInterceptor.java:92) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:179) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.aop.framework.CglibAopProxy$ > DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) > > ~[spring-aop-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.apache.nifi.web.StandardNiFiServiceFacade$$EnhancerBySpringCGLIB$$ > 1015922f.createRemoteProcessGroup(<generated>) > > ~[classes/:1.1.2] > > at > > org.apache.nifi.web.api.ProcessGroupResource.lambda$ > createRemoteProcessGroup$25(ProcessGroupResource.java:1388) > > ~[classes/:na] > > at > > org.apache.nifi.web.api.ApplicationResource.withWriteLock( > ApplicationResource.java:666) > > ~[classes/:na] > > at > > org.apache.nifi.web.api.ProcessGroupResource.createRemoteProcessGroup( > ProcessGroupResource.java:1346) > > ~[classes/:na] > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > ~[na:1.8.0_121] > > at > > sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > > ~[na:1.8.0_121] > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > > ~[na:1.8.0_121] > > at java.lang.reflect.Method.invoke(Method.java:498) > ~[na:1.8.0_121] > > at > > com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke( > JavaMethodInvokerFactory.java:60) > > ~[jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.model.method.dispatch. > AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch( > AbstractResourceMethodDispatchProvider.java:205) > > ~[jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.model.method.dispatch. > ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher. > java:75) > > ~[jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.uri.rules.HttpMethodRule. > accept(HttpMethodRule.java:302) > > ~[jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.uri.rules.RightHandPathRule. > accept(RightHandPathRule.java:147) > > ~[jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.uri.rules.ResourceClassRule. > accept(ResourceClassRule.java:108) > > ~[jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.uri.rules.RightHandPathRule. > accept(RightHandPathRule.java:147) > > ~[jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept( > RootResourceClassesRule.java:84) > > ~[jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.application.WebApplicationImpl._ > handleRequest(WebApplicationImpl.java:1542) > > [jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.application.WebApplicationImpl._ > handleRequest(WebApplicationImpl.java:1473) > > [jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest( > WebApplicationImpl.java:1419) > > [jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest( > WebApplicationImpl.java:1409) > > [jersey-server-1.19.jar:1.19] > > at > > com.sun.jersey.spi.container.servlet.WebComponent.service( > WebComponent.java:409) > > [jersey-servlet-1.19.jar:1.19] > > at > > com.sun.jersey.spi.container.servlet.ServletContainer. > service(ServletContainer.java:558) > > [jersey-servlet-1.19.jar:1.19] > > at > > com.sun.jersey.spi.container.servlet.ServletContainer. > service(ServletContainer.java:733) > > [jersey-servlet-1.19.jar:1.19] > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) > > [javax.servlet-api-3.1.0.jar:3.1.0] > > at > > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) > > [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.servlet.ServletHandler$CachedChain. > doFilter(ServletHandler.java:1689) > > [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.apache.nifi.web.filter.RequestLogger.doFilter(RequestLogger.java:66) > > [classes/:na] > > at > > org.eclipse.jetty.servlet.ServletHandler$CachedChain. > doFilter(ServletHandler.java:1676) > > [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:316) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.session.SessionManagementFilter. > doFilter(SessionManagementFilter.java:122) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.authentication. > AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter. > java:111) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.apache.nifi.web.security.NiFiAuthenticationFilter.authenticate( > NiFiAuthenticationFilter.java:83) > > [nifi-web-security-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.web.security.NiFiAuthenticationFilter.doFilter( > NiFiAuthenticationFilter.java:57) > > [nifi-web-security-1.1.2.jar:1.1.2] > > at > > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.apache.nifi.web.security.NiFiAuthenticationFilter.authenticate( > NiFiAuthenticationFilter.java:83) > > [nifi-web-security-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.web.security.NiFiAuthenticationFilter.doFilter( > NiFiAuthenticationFilter.java:57) > > [nifi-web-security-1.1.2.jar:1.1.2] > > at > > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.apache.nifi.web.security.NiFiAuthenticationFilter.authenticate( > NiFiAuthenticationFilter.java:83) > > [nifi-web-security-1.1.2.jar:1.1.2] > > at > > org.apache.nifi.web.security.NiFiAuthenticationFilter.doFilter( > NiFiAuthenticationFilter.java:57) > > [nifi-web-security-1.1.2.jar:1.1.2] > > at > > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.FilterChainProxy.doFilterInternal( > FilterChainProxy.java:213) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.security.web.FilterChainProxy.doFilter( > FilterChainProxy.java:176) > > [spring-security-web-4.0.3.RELEASE.jar:4.0.3.RELEASE] > > at > > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate( > DelegatingFilterProxy.java:346) > > [spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.springframework.web.filter.DelegatingFilterProxy.doFilter( > DelegatingFilterProxy.java:262) > > [spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE] > > at > > org.eclipse.jetty.servlet.ServletHandler$CachedChain. > doFilter(ServletHandler.java:1676) > > [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.apache.nifi.web.filter.TimerFilter.doFilter(TimerFilter.java:51) > > [classes/:na] > > at > > org.eclipse.jetty.servlet.ServletHandler$CachedChain. > doFilter(ServletHandler.java:1668) > > [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.servlet.ServletHandler.doHandle( > ServletHandler.java:581) > > [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.handler.ScopedHandler.handle( > ScopedHandler.java:143) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.security.SecurityHandler.handle( > SecurityHandler.java:548) > > [jetty-security-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.session.SessionHandler. > doHandle(SessionHandler.java:226) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.handler.ContextHandler. > doHandle(ContextHandler.java:1174) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.servlet.ServletHandler.doScope( > ServletHandler.java:511) > > [jetty-servlet-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.session.SessionHandler. > doScope(SessionHandler.java:185) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.handler.ContextHandler. > doScope(ContextHandler.java:1106) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.handler.ScopedHandler.handle( > ScopedHandler.java:141) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.handler.HandlerCollection. > handle(HandlerCollection.java:119) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.handler.gzip.GzipHandler. > handle(GzipHandler.java:459) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:134) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at org.eclipse.jetty.server.Server.handle(Server.java:524) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at org.eclipse.jetty.server.HttpChannel.handle( > HttpChannel.java:319) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.server.HttpConnection.onFillable( > HttpConnection.java:253) > > [jetty-server-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded( > AbstractConnection.java:273) > > [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517] > > at org.eclipse.jetty.io.FillInterest.fillable( > FillInterest.java:95) > > [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.io.SelectChannelEndPoint$2.run( > SelectChannelEndPoint.java:93) > > [jetty-io-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume. > executeProduceConsume(ExecuteProduceConsume.java:303) > > [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume. > produceConsume(ExecuteProduceConsume.java:148) > > [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run( > ExecuteProduceConsume.java:136) > > [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob( > QueuedThreadPool.java:671) > > [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517] > > at > > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run( > QueuedThreadPool.java:589) > > [jetty-util-9.3.9.v20160517.jar:9.3.9.v20160517] > > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121] > > >
