[ 
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)

Reply via email to