Jump to content

Websockets using Stomp


slimsim

Recommended Posts

Hi

 

I'm trying to send data from my Java Spring Boot backend to my frontend using webSockets StompJS.

But I'm gettign the followign error in the browser console:

WebSocket connection to 
'ws://slimsim.heliohost.org/slimsim_ava/gs-guide-websocket/015/sxvos2r2/websocket' failed: 
Error during WebSocket handshake: 
Unexpected response code: 400

Is it possible to get the server-logs? This request was made at about 2020-10-21 14:16:45.

 

My info:

  • Username: slimsim
  • WAR-file: slimsim_ava.war
  • Path: /home/slimsim/
  • Server: johnny

 

 

 

I have read a lot on this forum, but I can't seem to find any one who have used Stomp. It works on my locahost as well as on my last web hosting server. Does anybody have any tips?

 

My JavaScript code is the following:

    connect = function() {
        const funk = "connect";
        console.log("\n\n\n\n" + funk + ":\n");
        const socketPath = thymeLeaf.contextPath + 'gs-guide-websocket';

        console.log( "*** " + funk + ": socketPath", socketPath );
        var socket = new SockJS( socketPath );
        console.log( "*** " + funk + ": socket", socket );
        stompClient = Stomp.over(socket);
        console.log( "*** " + funk + ": stompClient", stompClient );
        stompClient.connect({}, function (frame) {
            // It never gets to here....
            console.log( "*** " + funk + ": connected!" );
        });
    }

And my WebSocketConfig.java file is the following:

import com.slimsimapps.ava.badlog.BadLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
import org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Autowired
    BadLogService log;

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        log.a(config);
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
        log.o(config);
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        log.a(registry);

        //registry.addEndpoint("/gs-guide-websocket").withSockJS();

        registry.addEndpoint("/gs-guide-websocket")
                .setHandshakeHandler(new DefaultHandshakeHandler(new TomcatRequestUpgradeStrategy()))
                //.setAllowedOrigins( "slimsim.heliohost.org" )
                .setAllowedOrigins( "*" )
                .withSockJS();

        log.o(registry);
    }

}

Thanks so much for any help!

Edited by slimsim
Link to comment
Share on other sites

 

21-Oct-2020 14:13:59.360 INFO [localhost-startStop-9] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/apache-tomcat-8.5.24/webapps/slimsim_ava.war] has finished in [33,771] ms
2020-10-21 14:14:54.920  INFO 16719 --- [MessageBroker-1] o.s.w.s.c.WebSocketMessageBrokerStats    : WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0]
2020-10-21 14:16:29.615  INFO 16719 --- [io-8080-exec-90] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-10-21 14:16:29.655  INFO 16719 --- [io-8080-exec-90] o.s.web.servlet.DispatcherServlet        : Completed initialization in 40 ms
2020-10-21 14:16:47.324 ERROR 16719 --- [io-8080-exec-83] o.s.w.s.s.s.DefaultHandshakeHandler      : Handshake failed due to invalid Upgrade header: null
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...