Print service issues after move to dmz

1365
13
09-15-2017 12:46 PM
Quynh_NhuMai
New Contributor III

I had a custom print service and print widget working (JSAPI 3.17) on an internal Tomcat 7 web server. The Java proxy had been successfully configured and installed. We just put this server into a dmz for public access and now the print tool no longer works.

-No errors in the browser console

-timeout in the arcgis for server logs (see below)

-I am able to access the proxy, so that seems configured ok. Manually accessed the geoprocessing service via proxy and was able to return the json.

Does anyone who understands all the ins and outs have any suggestions on what should be tweaked?

EDIT: Just discovered something that may have been misleading. Just tested the app with a very light service (one layer) and the print task works fine. This must mean that the secured service used originally is too heavy (?) for the request. It contains quite a few layers (~50). Is this a reasonable assumption? Any ideas on how to work around this?

Here's the log elements related to GP service time out:

VERBOSE 15 sept. 2017 12:40:49 GPServerSync.Deactivate SPE_TOOLS/SPE_Print_Tool.GPServer
VERBOSE 15 sept. 2017 12:40:49 GPServerSync.Activate SPE_TOOLS/SPE_Print_Tool.GPServer
DEBUG 15 sept. 2017 12:40:45 com.esri.discovery.DiscoveryException: Error handling service request :Le traitement de la requête a dépassé le délai dexpiration dutilisation du service 'SPE_TOOLS/SPE_Print_Tool.GPServer'. at com.esri.discovery.DiscoveryService.handleRequest(DiscoveryService.java:108) at com.esri.client.AGSRequest.handleRequest(AGSRequest.java:205) at com.esri.client.ServiceClient.handleRequest(ServiceClient.java:110) at com.esri.client.app.gpserver.GPTaskHandler$2.doOperation(GPTaskHandler.java:131) at com.esri.client.app.templates.OperationTemplate.execute(OperationTemplate.java:119) at com.esri.client.app.gpserver.GPTaskHandler.execute(GPTaskHandler.java:128) at com.esri.client.app.gpserver.GPTaskHandler.service(GPTaskHandler.java:62) at com.esri.rf.RServlet.service(RServlet.java:116) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: com.esri.arcgis.discovery.ejb.ArcGISServiceException: Le traitement de la requête a dépassé le délai dexpiration dutilisation du service 'SPE_TOOLS/SPE_Print_Tool.GPServer'. at com.esri.arcgis.discovery.ejb.impl.GPServerBean.handleRequest(GPServerBean.java:194) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:162) at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:144) at org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:164) at org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:92) at sun.reflect.GeneratedMethodAccessor378.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:162) at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:144) at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:122) at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:221) at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:174) at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:136) at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238) at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129) at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:149) at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71) at org.apache.openejb.server.ejbd.KeepAliveServer$Session.service(KeepAliveServer.java:213) at org.apache.openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233) at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66) at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91) at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ... 1 more Caused by: com.esri.arcgis.discovery.ejb.ArcGISServiceException: Le traitement de la requête a dépassé le délai dexpiration dutilisation du service 'SPE_TOOLS/SPE_Print_Tool.GPServer'. at com.esri.arcgis.discovery.ejb.impl.GPServerSyncBean.handleRequest(GPServerSyncBean.java:77) at sun.reflect.GeneratedMethodAccessor379.invoke(Unknown Source) ... 28 more Caused by: com.esri.arcgis.discovery.ejb.ArcGISServiceException: Le traitement de la requête a dépassé le délai dexpiration dutilisation du service 'SPE_TOOLS/SPE_Print_Tool.GPServer'. at com.esri.arcgis.discovery.ejb.util.EJBBase.handleRequestBase(EJBBase.java:573) at com.esri.arcgis.discovery.ejb.impl.GPServerSyncBean.handleRequest(GPServerSyncBean.java:74) ... 29 more Caused by: com.esri.arcgis.discovery.servicelib.AGSUsageTimeoutException: Le délai de la requête du serveur a expiré. Vérifiez que lexpiration du délai dutilisation est configurée correctement pour de telles requêtes. at com.esri.arcgis.discovery.servicelib.impl.ServiceImpl.dequeueResponse(ServiceImpl.java:328) at com.esri.arcgis.discovery.servicelib.impl.ServiceImpl.handleRequest(ServiceImpl.java:231) at com.esri.arcgis.discovery.servicelib.impl.RemoteServiceImpl.handleRequest(RemoteServiceImpl.java:92) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$2.run(Transport.java:202) at sun.rmi.transport.Transport$2.run(Transport.java:199) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:198) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.java:619) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:684) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:681) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:681) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161) at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194) at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148) at com.sun.proxy.$Proxy42.handleRequest(Unknown Source) at com.esri.arcgis.discovery.ejb.util.EJBBase.handleRequestBase(EJBBase.java:500) ... 30 more Rest
SEVERE 15 sept. 2017 12:40:45 Error performing execute operation Error handling service request :Le traitement de la requête a dépassé le délai dexpiration dutilisation du service 'SPE_TOOLS/SPE_Print_Tool.GPServer'. Rest
DEBUG 15 sept. 2017 12:40:44 Le traitement de la requête a dépassé le délai dexpiration dutilisation du service 'SPE_TOOLS/SPE_Print_Tool.GPServer'. SPE_TOOLS/SPE_Print_Tool.GPServer
DEBUG 15 sept. 2017 12:40:44 Folder and service ETags created from within the configuration store object, if unavailable. Admin

Tags (2)
0 Kudos
13 Replies
Quynh_NhuMai
New Contributor III

Yes, the print service url returns the json through the proxy. And yes, the esri config proxy url is updated to reflect the public url.

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

I am out of suggestions then.

0 Kudos
ChristopherSchreiber
Occasional Contributor II

Are you using layers from ArcGIS Online in addition to your locally hosted map services? If you are using layers hosted on ArcGIS Online, are those secured?

0 Kudos
Quynh_NhuMai
New Contributor III

I am only using one ArcGIS online basemap that is not secure

0 Kudos