The WSO2 Enterprise Integrator (WSO2 EI) secure WebSocket inbound protocol implementation is based on the WebSocket protocol, and allows full-duplex, secure message mediation.
Following is a sample secure WebSocket inbound endpoint configuration:
<inboundEndpoint name="SecureWebSocketEP" onError="fault" protocol="wss" sequence="TestIn" suspend="false"> <parameters> <parameter name="inbound.ws.port">9091</parameter> <parameter name="ws.client.side.broadcast.level">0</parameter> <parameter name="ws.outflow.dispatch.sequence">TestOut</parameter> <parameter name="ws.outflow.dispatch.fault.sequence">fault</parameter> <parameter name="wss.ssl.key.store.file">repository/resources/security/wso2carbon.jks</parameter> <parameter name="wss.ssl.key.store.pass">wso2carbon</parameter> <parameter name="wss.ssl.trust.store.file">repository/resources/security/client-truststore.jks</parameter> <parameter name="wss.ssl.trust.store.pass">wso2carbon</parameter> <parameter name="wss.ssl.cert.pass">wso2</parameter> </parameters> </inboundEndpoint>
WebSocket inbound endpoint parameters
Parameter | Description | Required |
---|---|---|
inbound.ws.port | The netty listener port on which the WebSocket inbound listens. | Yes |
ws.client.side.broadcast.level | The client broadcast level that defines how WebSocket frames are broadcasted from the WebSocket inbound endpoint to the client. Broadcast happens based on the subscriber path client connected to the WebSocket inbound endpoint. The three possible levels are as follows: 0 - Only a unique client can receive the frame from a WebSocket inbound endpoint. 1 - All the clients connected with the same subscriber path receives the WebSocket frame. 2 - All the clients connected with the same subscriber path, except the one who publishes the frame to the inbound, receives the WebSocket frame. | Yes |
ws.outflow.dispatch.sequence | The sequence for the back-end to client mediation. | Yes |
ws.outflow.dispatch.fault.sequence | The fault sequence for the back-end to client mediation path. | Yes |
wss.ssl.key.store.file | The keystore location where keys are stored. | Yes |
wss.ssl.key.store.pass | The password to access the keystore file. | Yes |
wss.ssl.trust.store.file | The truststore location where keys are stored. | Yes |
wss.ssl.trust.store.pass | The password to access the truststore file. | Yes |
wss.ssl.cert.pass | The SSL certificate password. | Yes |
ws.boss.thread.pool.size | The size of the netty boss pool. | No |
ws.worker.thread.pool.size | The size of the worker thread pool. | No |
ws.subprotocol.handler.class | The custom subprotocol handler classes separated by a semicolon. | No |