This post is how to connect a websocket which is secured by Basic Authentication.
I will be using javax.websocket-api jar file.
Create WebContainer object
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
using the container connect to the service
credentials are passed to clientConfig object.
endpoint is the callback handler. Once the session is established with the service then we pass a message using the session object. onMessage() method should be overridden to receive the message.
I will be using javax.websocket-api jar file.
Create WebContainer object
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
using the container connect to the service
1 | container.connectToServer(endpoint, clientConfig, new URI("wss://hostname:port/demo")); |
credentials are passed to clientConfig object.
1 2 3 4 5 6 7 8 9 10 11 | ClientEndpointConfig.Configurator configurator = new ClientEndpointConfig.Configurator() { public void beforeRequest(Map<String, List<String>> headers) { String credentials = "username:password"; headers.put("Authorization", Arrays.asList("Basic " + new BASE64Encoder().encode(credentials.getBytes()))); System.out.println("Header set successfully"); } }; ClientEndpointConfig clientConfig = ClientEndpointConfig.Builder.create() .configurator(configurator) .build(); |
endpoint is the callback handler. Once the session is established with the service then we pass a message using the session object. onMessage() method should be overridden to receive the message.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Endpoint endpoint = new Endpoint() { @Override public void onOpen(Session session, EndpointConfig config) { session.addMessageHandler(new MessageHandler.Whole<String>() { @Override public void onMessage(String content) { System.out.println("Received message: "+content); } }); try { System.out.println("Sending message to endpoint: " + msg); System.out.println("Session Id:: "+session.getId()); session.getBasicRemote().sendText(msg); } catch (Exception e) { e.printStackTrace(); } } }; |
No comments:
Post a Comment