# Perspective in iframe: Websocket issues

**URL:** <https://forum.inductiveautomation.com/t/perspective-in-iframe-websocket-issues/104002>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [March 21, 2025, 11:25am UTC](https://forum.inductiveautomation.com/t/perspective-in-iframe-websocket-issues/104002 "2025-03-21T11:25:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![martin\_ignition](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@martin\_ignition](https://forum.inductiveautomation.com/u/martin_ignition)\
**Post date:** [March 21, 2025, 11:25am UTC](https://forum.inductiveautomation.com/t/perspective-in-iframe-websocket-issues/104002/1 "2025-03-21T11:25:04Z")

</div>

Hello,  
I'm embedding ignition in an iframe. The domain of iframe and parent are different and I've set

```python
wrapper.java.additional.1=-Dignition.http.header.x_frame_options.enabled=false
wrapper.java.additional.2=-Dignition.http.header.x_frame_options.value=

```

The setup works in firefox, but in chrome, the connection fails with

```python
store.Channel: Websocket connection closed. code=1006, wasClean=false, reason=No reason given, codeMeaning=Code not defined, codeDescription=Code out of range.

```

What makes it most puzzling is the fact that there's an exception in the ignition logs _only_ when using chrome:

```python
jvm 1 | 2025/03/21 12:24:13 | java.lang.UnsupportedOperationException: Feature unsupported after Upgraded to WebSocket
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.websocket.core.server.internal.UpgradeHttpServletRequest.getSession(UpgradeHttpServletRequest.java:293)
jvm 1 | 2025/03/21 12:24:13 | at com.inductiveautomation.perspective.gateway.comm.Routes.getOrCreateSession(Routes.java:1765)
jvm 1 | 2025/03/21 12:24:13 | at com.inductiveautomation.perspective.gateway.comm.PerspectiveWebSocketServlet$PerspectiveWebSocketCreator.createWebSocket(PerspectiveWebSocketServlet.java:185)
jvm 1 | 2025/03/21 12:24:13 | at com.inductiveautomation.perspective.gateway.comm.PerspectiveWebSocketServlet$PerspectiveWebSocketCreator.createWebSocket(PerspectiveWebSocketServlet.java:123)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.websocket.server.JettyWebSocketServlet$WrappedJettyCreator.createWebSocket(JettyWebSocketServlet.java:276)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.websocket.core.server.internal.CreatorNegotiator.lambda$negotiate$0(CreatorNegotiator.java:64)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1451)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1488)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.websocket.core.server.internal.CreatorNegotiator.negotiate(CreatorNegotiator.java:63)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.websocket.core.server.internal.AbstractHandshaker.upgradeRequest(AbstractHandshaker.java:76)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.websocket.core.server.internal.HandshakerSelector.upgradeRequest(HandshakerSelector.java:39)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.websocket.core.server.WebSocketMappings.upgrade(WebSocketMappings.java:241)
jvm 1 | 2025/03/21 12:24:13 | at org.eclipse.jetty.websocket.server.JettyWebSocketServlet.service(JettyWebSocketServlet.java:181)
jvm 1 | 2025/03/21 12:24:13 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
jvm 1 | 2025/03/21 12:24:13 | at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:86)

```

---

<div class="post-metadata">

**Author:** ![martin\_ignition](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@martin\_ignition](https://forum.inductiveautomation.com/u/martin_ignition)\
**Post date:** [March 21, 2025, 9:17pm UTC](https://forum.inductiveautomation.com/t/perspective-in-iframe-websocket-issues/104002/2 "2025-03-21T21:17:36Z")

</div>

I needed to make sure that cookies are set correctly. They need to be SameSite=None, HttpOnly and Secure in my setup
