2 Replies Latest reply on Apr 16, 2015 7:57 AM by vst77

    Wildfly Websocket Secure wss - URL scheme chosen but no SSL provider given

    vst77

      Hi developers,

       

      I'm trying to create a secure connection (wss) between a websocket client (servlet, web project) and wildfly 8.2.

      The message says I don't have a SSL provider given? How to add one?

       

      Would be great if someone could help!

       

      -------------------------

       

      I followed the intructions of this link:

      Securing WebSocket using wss and HTTPS/TLS (Tech Tip #50) - Miles to go 2.0 ...

       

      But I'm getting this exception:

      10:36:29,805 ERROR [io.undertow.request] (default task-4) UT005023: Exception handling request to /Terminal/bplus/connect: java.lang.IllegalArgumentException: XNIO000100: 'https' URL scheme chosen but no SSL provider given

          at org.xnio.http.HttpUpgrade$HttpUpgradeState.doUpgrade(HttpUpgrade.java:253)

          at org.xnio.http.HttpUpgrade$HttpUpgradeState.access$100(HttpUpgrade.java:165)

          at org.xnio.http.HttpUpgrade.performUpgrade(HttpUpgrade.java:129)

          at io.undertow.websockets.client.WebSocketClient.connect(WebSocketClient.java:95) [undertow-core-1.1.0.Final.jar:1.1.0.Final]

          at io.undertow.websockets.jsr.ServerWebSocketContainer.connectToServerInternal(ServerWebSocketContainer.java:253) [undertow-websockets-jsr-1.1.0.Final.jar:1.1.0.Final]

          at io.undertow.websockets.jsr.ServerWebSocketContainer.connectToServer(ServerWebSocketContainer.java:173) [undertow-websockets-jsr-1.1.0.Final.jar:1.1.0.Final]

          at com.var.client.ConnectionHandler.connectToServer(ConnectionHandler.java:22) [VarPartnerInterface.jar:]

          at com.var.service.test.Connect.doGet(Connect.java:40) [classes:]

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]

          at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]

          at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]

          at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]

          at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)

       

       

      Here are some of my settings in standalone.xml:

      <security-realm name="WebSocketRealm">

          <server-identities>

              <ssl>

                  <keystore path="websocket.keystore" relative-to="jboss.server.config.dir" keystore-password="websocket"/>

              </ssl>

          </server-identities>

      </security-realm>

       

      <https-listener name="default" socket-binding="https" security-realm="WebSocketRealm"/>

        • 1. Re: Wildfly Websocket Secure wss - URL scheme chosen but no SSL provider given
          jaikiran

            at com.var.client.ConnectionHandler.connectToServer(ConnectionHandler.java:22) [VarPartnerInterface.jar:]

           

              at com.var.service.test.Connect.doGet(Connect.java:40

          What does the code in those 2 classes look like?

          • 2. Re: Wildfly Websocket Secure wss - URL scheme chosen but no SSL provider given
            vst77

            This the code of the ConnectionHandler class. The Connect.java Class is a servlet that calls the connectToServer method.

             

            private static Session session;

               

                @Deprecated // currently deprecated,

                public static void connectToServer(String hostname, String port, String url, Class<?> endpoint) throws DeploymentException, IOException

                {

               if(session == null)
               {
              
               WebSocketContainer container = ContainerProvider.getWebSocketContainer();  
               String uri = "wss://" + hostname + ":" + port + url;
               URI urii = URI.create(uri);
               session = container.connectToServer(endpoint, urii);
               }

                }