[ https://issues.apache.org/jira/browse/MYFACES-4680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17880351#comment-17880351 ]
Volodymyr Siedlecki commented on MYFACES-4680: ---------------------------------------------- I'm missing something here – the {{behaviors}} callback should be for the web socket, not the XHR request. Let me do some more investigation into this. > 4.1 TCK Failure: Spec1396IT#testViewScopedWebsocket > --------------------------------------------------- > > Key: MYFACES-4680 > URL: https://issues.apache.org/jira/browse/MYFACES-4680 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 2.2.15, 2.3.10, 2.3-next-M8, 4.0.0, 4.1.0-RC2 > Reporter: Volodymyr Siedlecki > Assignee: Volodymyr Siedlecki > Priority: Major > Attachments: test-faces23-websocket.war > > > The app expects "pushed!" to display when the "push" button is pressed. It > is not, and the test fails. > Ajax requests do not occur when they are registered a websocket tag, from > what I could gather. It seems like the renderAjaxOutput behavior isn't > registered / called with the faces.push.init script. > MyFaces generated code (see behavior param (1) – second to last): > {code:java} > faces.push.init('j_id_c','/test-faces23-websocket/jakarta.faces.push/view?76379b861759b95fa70c118d2e05d29f','view',function(){document.getElementById('opened').innerHTML='yes';},null,null,null,{renderAjaxOutput:[function(event){myfaces.ab('j_id_c',event,'renderAjaxOutput','','ajaxOutput')}]},true);{code} > Facelet: > [https://github.com/jakartaee/faces/blob/4.1.0-RELEASE/tck/faces23/websocket/src/main/webapp/spec1396ViewScopedWebsocket.xhtml#L39] > {code:java} > <f:websocket channel="view" scope="view" > onopen="function(){document.getElementById('opened').innerHTML='yes';}"> > <f:ajax event="renderAjaxOutput" render="ajaxOutput" /> > </f:websocket>{code} > Link to Test: > [https://github.com/jakartaee/faces/blob/4.1.0-RELEASE/tck/faces23/websocket/src/test/java/ee/jakarta/tck/faces/test/javaee8/websocket/Spec1396IT.java#L94] > I test the same TCK app on Mojarra, and it sends out two XHR requests when > the button is clicked. One for the button click and another for the > renderAjaxOutput event. > MyFaces only handles the one XHR for the button click. Neither do I see the > onMessage invoked, which per the javadoc should trigger the behavior ( > "behavior param: Client behavior functions to be invoked when specific > message is received.")? > Docs: > [1) > https://jakarta.ee/specifications/faces/4.0/jsdoc/faces.push|https://jakarta.ee/specifications/faces/4.0/jsdoc/faces.push] -- This message was sent by Atlassian Jira (v8.20.10#820010)