чт, 8 апр. 2021 г. в 16:10, Jean-Louis MONTEIRO <jeano...@gmail.com>:
>
> Hi,
>
> I am running WebSocket TCK on TomEE and I'm having some issues.
> Wondering if I missed some configuration.
>
> Essentially the TCK is deploying an application with this class
> https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/src/com/sun/ts/tests/websocket/negdep/onmessage/pasrv/nomoreendpoints/OnMessageServerEndpoint.java
>
> It fails to deploy
>
> Caused by: jakarta.websocket.DeploymentException: De multiples
> paramètres de message sont présents sur la méthode [echo] de la classe
> [com.sun.ts.tests.websocket.negdep.onmessage.srv.binarybytebufferint.OnMessageServerEndpoint]
> qui a été annotée avec OnMessage
>    at 
> org.apache.tomcat.websocket.pojo.PojoMethodMapping$MessageHandlerInfo.<init>(PojoMethodMapping.java:543)
>    at 
> org.apache.tomcat.websocket.pojo.PojoMethodMapping.<init>(PojoMethodMapping.java:139)
>    at 
> org.apache.tomcat.websocket.server.WsServerContainer.addEndpoint(WsServerContainer.java:154)
>    at 
> org.apache.tomcat.websocket.server.WsServerContainer.addEndpoint(WsServerContainer.java:278)
>    at org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:126)
>
>
> From the wiki, Tomcat is supposed to be passing the WebSocket TCK.
> Do you have pointers to help?

1. Your link above are for class in package "nomoreendpoints".

2. but the package name mentioned in the message is "*.binarybytebufferint.*".

https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/src/com/sun/ts/tests/websocket/negdep/onmessage/pasrv/nomoreendpoints/OnMessageServerEndpoint.java

https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/src/com/sun/ts/tests/websocket/negdep/onmessage/srv/binarybytebufferint/OnMessageServerEndpoint.java

Either way, both classes are annotated with
"@ServerEndpoint("/invalid")" and that path suggests that they are
expected to fail.


WebSocket spec (1.1) says that the requirements for methods annotated
with @OnMessage are stated in javadoc for that annotation.

https://cwiki.apache.org/confluence/display/TOMCAT/Specifications#Specifications-JavaAPIforWebSocket
https://docs.oracle.com/javaee/7/api/javax/websocket/OnMessage.html

<quote>
Each websocket endpoint may only have one message handling method for
each of the native websocket message formats: text, binary and pong.
</quote>

The class in package "nomoreendpoints":
- It has two methods to handle text messages (full vs partial). It is
not allowed.

The class in package "binarybytebufferint":
- Invalid parameters to handle partial binary messages. (expected:
ByteBuffer + boolean, actual: ByteBuffer + int).

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to