Hi
On 27/07/16 12:26, CLEMENT Jean-Philippe wrote:
Dear CXF experts,

I'm trying to connect a web client to a CXF WebSocket. The browser logs the error 
"WebSocket connection failed: Error during WebSocket handshake: Unexpected response 
code: XXX". The XXX response code changes depending on the @Produces annotation: 200 
when text/plain, 406 when text/*.

406 with text/* can be explained by the fact the websocket client does not know what HTTP Accept is and the spec requires that when the final response type has a wildcard subtype (with the only exception being application/*) then it is 406.
The server Java looks like this:
@GET
@Path("monitor")
@Produces("text/*")
public StreamingOutput greetMonitor() {
  return stream -> {
   stream.write("Ok".getBytes());
   stream.flush();
  };
}

The client Javascript looks like this:
var socket= new 
WebSocket("ws://myurlwithsameportaswebservice/cxf/test/monitor");

socket.onmessage= function(e) { console.log(e.data); };

What's wrong?
Can you please look at
https://github.com/apache/cxf/blob/master/distribution/src/main/release/samples/jax_rs/websocket/src/main/resources/index.html

may be you need to set a socket type

Cheers, Sergey


Regards,
JP



--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to