TIBCO ActiveMatrix BPM API - exportResources fails with a NullPointerException

TIBCO ActiveMatrix BPM API - exportResources fails with a NullPointerException

book

Article ID: KB0081303

calendar_today

Updated On:

Products Versions
TIBCO BPM Enterprise (formerly TIBCO ActiveMatrix BPM) 4.0.0, 4.1.0, 4.2.0

Description

The exportResources API exports defined LDAP containers, resource mappings and push destinations, either for backup or for subsequent import to other environments. Refer to the TIBCO ActiveMatrix BPM Developer's Guide > ExporterService for more details on this API. 

An attempt was made to export 40,000 users and the following error occurred. 

java.lang.NullPointerException
    at com.tibco.amf.binding.soap.runtime.transport.http.SoapHttpInboundEndpoint$SoapGenericReplyCallback.handleResponse(SoapHttpInboundEndpoint.java:1363)
    at com.tibco.amf.binding.soap.runtime.transport.http.SoapHttpInboundEndpoint$SoapGenericReplyCallback.onException(SoapHttpInboundEndpoint.java:1796)
    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 com.tibco.amf.platform.runtime.componentframework.internal.proxies.operation.OperationHandler.invokeMethodWithThreadContext(OperationHandler.java:954)
    at com.tibco.amf.platform.runtime.componentframework.internal.proxies.operation.OperationHandler.invokeCallbackWithException(OperationHandler.java:650)
    at com.tibco.amf.platform.runtime.componentframework.internal.proxies.operation.OperationHandler.handleASyncRuntimeException(OperationHandler.java:564)
    at com.tibco.amf.platform.runtime.componentframework.internal.proxies.operation.AsyncToSyncOperationHandler.handleException(AsyncToSyncOperationHandler.java:302)
    at com.tibco.amf.platform.runtime.componentframework.internal.proxies.operation.AsyncToSyncOperationHandler.invoke(AsyncToSyncOperationHandler.java:260)
    at com.tibco.amf.platform.runtime.componentframework.internal.proxies.ProxyInvocationHandlerRegistry$ProxyInvocationContext.invoke(ProxyInvocationHandlerRegistry.java:476)
    at com.sun.proxy.$Proxy394.invoke(Unknown Source)
    at com.tibco.amf.binding.soap.runtime.transport.http.SoapHttpInboundEndpoint.processHttpPost(SoapHttpInboundEndpoint.java:812)
    at com.tibco.amf.binding.soap.runtime.transport.http.SoapHttpServer.doPost(SoapHttpServer.java:195)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1213)
    at com.tibco.governance.pa.amxcomponent.pep.http.HttpPepFilter.doFilter(HttpPepFilter.java:140)
    at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1205)
    at com.tibco.amf.implementation.common.httpfilter.GenericComponentFilter.doFilter(GenericComponentFilter.java:65)
    at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1205)
    at com.tibco.amf.hpa.tibcohost.jetty.internal.GZipCompressionFilter.doFilter(GZipCompressionFilter.java:98)
    at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1205)
    at com.tibco.amf.hpa.tibcohost.jetty.internal.GZipCompressionFilter.doFilter(GZipCompressionFilter.java:98)
    at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1205)
    at com.tibco.amf.hpa.tibcohost.jetty.internal.ConnectorFilter.doFilter(ConnectorFilter.java:49)
    at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1205)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:928)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
    at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Issue/Introduction

When exporting a large amount of users using exportResources the, XML response might be incomplete and fail with a java.lang.NullPointerException

Environment

Linux: Red Hat 7.2

Resolution

The httpConnector Resource Template was modified with a larger Response Buffer Size (B) , in this case from the default (8192) to 50000. httpConnector is the name of the default HTTP Connector used to invoke the exportResources API. This shared resource is created while configuring TIBCO ActiveMatrix BPM server. For more details on the HTTP Connector configuration, refer to TIBCO ActiveMatrix BPM SOA Administration > Managing Resource Templates > References > HTTP Connector .