Hi,

I am trying to integrate CDAP UI with Knox. CDAP UI main page send some web 
socket request like:

ws://192.168.134.119:11011/cdap/ns/default/_sock/719/ixibayd2/websocket


Changed request through Knox:

wss://192.168.134.119:8443/gateway/default/cdapui/cdap/ns/default/_sock/719/ixibayd2/websocket

I have written the following rewrite.xml and service.xml for handling this:

Service.xml:

<service role="CDAPWS" name="cdapws" version="4.3.4">
  <routes>
    <route path="/cdapui/**/websocket">
      <rewrite apply="CDAPWS/cdap/ws/inbound" to="request.url"/>
    </route>
  </routes>
</service>


Rewrite.xml:

<rules>

  <rule dir="IN" name="CDAPWS/cdap/ws/inbound" pattern="*://*:*/{**}/websocket">
    <rewrite template="{$serviceUrl[CDAPWS]}/{**}/websocket"/>
  </rule>

</rules>

My web socket calls are showing status of 101 switching protocols but I can see 
errors in Knox gateway logs :

2018-08-28 06:39:13,978 WARN  websockets.ProxyWebSocketAdapter 
(AbstractEventDriver.java:unhandled(245)) - Unhandled Error (closing connection)
org.eclipse.jetty.io.RuntimeIOException: java.io.EOFException: Reading 
WebSocket Upgrade response
        at 
org.apache.hadoop.gateway.websockets.ProxyWebSocketAdapter.onWebSocketConnect(ProxyWebSocketAdapter.java:94)
        at 
org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onConnect(JettyListenerEventDriver.java:87)
        at 
org.eclipse.jetty.websocket.common.events.AbstractEventDriver.openSession(AbstractEventDriver.java:227)
        at 
org.eclipse.jetty.websocket.common.WebSocketSession.open(WebSocketSession.java:421)
        at 
org.eclipse.jetty.websocket.server.WebSocketServerConnection.onOpen(WebSocketServerConnection.java:72)
        at 
org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:185)
        at 
org.eclipse.jetty.server.HttpConnection.completed(HttpConnection.java:345)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:436)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        at 
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:748)



Can anybody please help me in knowing why this error is coming?

Thanks,

Priyanka

Reply via email to