# \[Perspective\] Project Import Failing

**URL:** <https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [October 13, 2021, 7:05am UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884 "2021-10-13T07:05:45Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Davide3i](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/davide3i/32/27811_2.png) [@Davide3i](https://forum.inductiveautomation.com/u/Davide3i)\
**Post date:** [October 13, 2021, 7:05am UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/1 "2021-10-13T07:05:45Z")

</div>

I’m having issues importing a project on different Gateways.  
Each time I start the import procedure, it fails and from the Gateway **Logs** I’m shown this stack trace, relative to the **Error handling route** warning.

```auto
at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.importProject(ProjectRoutes.java:368)
at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.lambda$mount$4(ProjectRoutes.java:187)
at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:252)
at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:61)
at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:59)

```

This error doesn’t happen if I import the project through the Designer, but in this way I’m not able to overwrite the existing one: I must import the project with a different name, delete the old one and then rename the new one to its proper name.

This is the full stack trace.

```auto
org.eclipse.jetty.io.EofException: Early EOF
at org.eclipse.jetty.server.HttpInput$3.getError(HttpInput.java:1134)
at org.eclipse.jetty.server.HttpInput$3.noContent(HttpInput.java:1122)
at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:321)
at java.base/java.io.BufferedInputStream.fill(Unknown Source)
at java.base/java.io.BufferedInputStream.read(Unknown Source)
at org.eclipse.jetty.util.ReadLineInputStream.read(ReadLineInputStream.java:134)
at org.eclipse.jetty.util.MultiPartInputStreamParser.parse(MultiPartInputStreamParser.java:754)
at org.eclipse.jetty.util.MultiPartInputStreamParser.getParts(MultiPartInputStreamParser.java:482)
at org.eclipse.jetty.server.MultiParts$MultiPartsUtilParser.getParts(MultiParts.java:112)
at org.eclipse.jetty.server.Request.getParts(Request.java:2326)
at org.eclipse.jetty.server.Request.getParts(Request.java:2310)
at org.eclipse.jetty.server.Request.getPart(Request.java:2300)
**at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.importProject(ProjectRoutes.java:368)**
**at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.lambda$mount$4(ProjectRoutes.java:187)**
**at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:252)**
**at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:61)**
**at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:59)**
**at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:38)**
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1391)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:760)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:500)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)

```

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [October 13, 2021, 2:28pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/2 "2021-10-13T14:28:57Z")

</div>

How large is this project .zip?

---

<div class="post-metadata">

**Author:** ![Davide3i](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/davide3i/32/27811_2.png) [@Davide3i](https://forum.inductiveautomation.com/u/Davide3i)\
**Post date:** [October 13, 2021, 2:31pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/3 "2021-10-13T14:31:36Z")

</div>

A little less than 27 MB.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 13, 2021, 2:37pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/4 "2021-10-13T14:37:37Z")

</div>

I think the default max upload size is ~21mb…

You’ll have to modify the web.xml file and restart the gateway to increase it. In `$IGNITION/webserver/webapps/main/WEB-INF/web.xml` there’s a section like this:

```auto
  <servlet>
    <servlet-name>DataRoutes</servlet-name>
    <servlet-class>com.inductiveautomation.ignition.gateway.dataroutes.DataServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    <multipart-config>
      <max-file-size>20848820</max-file-size>
      <max-request-size>418018841</max-request-size>
      <file-size-threshold>1048576</file-size-threshold>
    </multipart-config>
  </servlet>

```

You can change the `max-file-size` entry to something higher.

---

<div class="post-metadata">

**Author:** ![Davide3i](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/davide3i/32/27811_2.png) [@Davide3i](https://forum.inductiveautomation.com/u/Davide3i)\
**Post date:** [October 13, 2021, 6:52pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/5 "2021-10-13T18:52:22Z")

</div>

Thank you. Tomorrow I’ll give it a try and I’ll let you know.  
Have a nice evening!

---

<div class="post-metadata">

**Author:** ![Davide3i](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/davide3i/32/27811_2.png) [@Davide3i](https://forum.inductiveautomation.com/u/Davide3i)\
**Post date:** [October 14, 2021, 6:24am UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/6 "2021-10-14T06:24:22Z")

</div>

I’ve doubled the `max-file-size` entry, but the issues is still there. The stack trace is still the same as well.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 14, 2021, 11:58am UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/7 "2021-10-14T11:58:48Z")

</div>

Did you restart the Ignition gateway after making the change?

---

<div class="post-metadata">

**Author:** ![Davide3i](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/davide3i/32/27811_2.png) [@Davide3i](https://forum.inductiveautomation.com/u/Davide3i)\
**Post date:** [October 14, 2021, 12:01pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/8 "2021-10-14T12:01:13Z")

</div>

Hello Kevin.  
Yes, I’ve restarted the Ignition Gateway service.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 14, 2021, 12:22pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/9 "2021-10-14T12:22:37Z")

</div>

Hmm, you might want to go through support then. They can take your project and test it here as a sanity check. If it works here then it could be something about your client environment causing problems. If not then maybe there is some other setting I’m missing.

---

<div class="post-metadata">

**Author:** ![Davide3i](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/davide3i/32/27811_2.png) [@Davide3i](https://forum.inductiveautomation.com/u/Davide3i)\
**Post date:** [October 14, 2021, 12:38pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/10 "2021-10-14T12:38:43Z")

</div>

May I ask for the proper way to contact support? Thank you.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 14, 2021, 12:40pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/11 "2021-10-14T12:40:32Z")

</div>

[https://support.inductiveautomation.com/](https://support.inductiveautomation.com/)

Calling is a much faster response time than sending an email or opening a web ticket.

---

<div class="post-metadata">

**Author:** ![Davide3i](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/davide3i/32/27811_2.png) [@Davide3i](https://forum.inductiveautomation.com/u/Davide3i)\
**Post date:** [October 15, 2021, 6:53am UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/12 "2021-10-15T06:53:36Z")

</div>

Just to update you, I’ve managed to successfully import the project via browser, but only if I upload it from the same server running the gateway; it doesn’t work from a browser running on another system, but on the same network.  
Support is helping me sorting out our issue.

---

<div class="post-metadata">

**Author:** ![witman](https://avatars.discourse-cdn.com/v4/letter/w/d2c977/32.png) [@witman](https://forum.inductiveautomation.com/u/witman)\
**Post date:** [February 4, 2022, 6:27pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/13 "2022-02-04T18:27:32Z")

</div>

@Davide3i, did you ever figure out why this wasn’t working, or how to make it work?

I just ran into the same thing restoring a 988 KB project file. Two servers gave this error. I tried it on a third which imported it fine and then sent it successfully to the other two via EAM, but I’m curious why the two wouldn’t import it. The server that _did_ import was in an office a city away. One of the two that wouldn’t was on the same LAN in same server room and the other was in a city hundreds of km away. All servers–including the one the project was exported from–are running Ignition 8.1.9.

---

<div class="post-metadata">

**Author:** ![Davide3i](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/davide3i/32/27811_2.png) [@Davide3i](https://forum.inductiveautomation.com/u/Davide3i)\
**Post date:** [February 4, 2022, 7:40pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/14 "2022-02-04T19:40:53Z")

</div>

Hello @witman.  
In the end, apart following @Kevin.Herron suggestion (i.e.: modifying _web.xml_ file), I found out the issue was about the way our VPN (and firewall) for remote assistance is set up.  
If I upload the project directly from the system running the Gateway, the procedure works flawlessly. If I try to upload it from my notebook which is behind a VPN tunnel, it doesn’t work. The only explanation is that our company firewall is blocking some part of the packets the Gateway uses to correctly receive the project. I suppose this is the same issue you’re running into.

---

<div class="post-metadata">

**Author:** ![witman](https://avatars.discourse-cdn.com/v4/letter/w/d2c977/32.png) [@witman](https://forum.inductiveautomation.com/u/witman)\
**Post date:** [February 4, 2022, 7:44pm UTC](https://forum.inductiveautomation.com/t/perspective-project-import-failing/51884/15 "2022-02-04T19:44:02Z")

</div>

Thanks @Davide3i. That makes sense. In our case I suspect there’s no firewall between the two computers in the same server room where import did not work, but anything’s possible. Will check with IT.

EDIT: On second thought, we’ve had a lot of changes and I just realized the computer I was working on via RDP is not in the same server room as the one it couldn’t upload to anymore. And it is in the same server room as the one it did upload to. It’s almost certainly an issue with our firewalls / new SD-WAN.
