On Thu, Feb 21, 2019, 18:29 Matteo Alessandroni <skylar...@apache.org> wrote:
> > > On 21/02/19 16:43, Martin Grigorov wrote: > > On Thu, Feb 21, 2019 at 5:35 PM Matteo Alessandroni < > skylar...@apache.org> > > wrote: > > > >> > >> On 21/02/19 16:30, Martin Grigorov wrote: > >>> On Thu, Feb 21, 2019 at 5:24 PM Matteo Alessandroni < > >> skylar...@apache.org> > >>> wrote: > >>> > >>>> On 21/02/19 16:07, Martin Grigorov wrote: > >>>>> On Thu, Feb 21, 2019 at 4:41 PM Matteo Alessandroni < > >>>> skylar...@apache.org> > >>>>> wrote: > >>>>> > >>>>>> On 21/02/19 12:14, Martin Grigorov wrote: > >>>>>>> On Thu, Feb 21, 2019 at 12:11 PM Matteo Alessandroni < > >>>>>>> matteo.alessandr...@tirasa.net> wrote: > >>>>>>> > >>>>>>>> Hi, > >>>>>>>> > >>>>>>>> On 21/02/19 11:05, Martin Grigorov wrote: > >>>>>>>>> When the WebSocket connection is established (maybe when the page > >> is > >>>>>>>>> loaded) you should see an entry in the Network tab. > >>>>>>>>> If you select this entry then on the right-side you should see > any > >> WS > >>>>>>>>> messages to/from the server. > >>>>>>>> Yes I know how about WS debugging, but I do not see any WS request > >>>> (with > >>>>>>>> WS devtool filter and without it). > >>>>>>>> > >>>>>>> Maybe this is the problem. > >>>>>>> If there is no WebSocket response at all then there is no way the > JS > >>>> code > >>>>>>> to be executed. > >>>>>>> > >>>>>>> But since your WebSocketBehavior callback method is executed then > >> there > >>>>>>> must be an established WebSocket connection. > >>>>>>> I have no idea what goes wrong. > >>>>>> It is strange because in our application version that uses Wicket > 7.x > >> I > >>>>>> see no WS requests in DevTools console as well, but the code is > >>>>>> correctly executed and everything works. > >>>>>> Yes the WebSocket connection seems to be established anyway in both > >> our > >>>>>> versions so with both Wicket 7.x and 8.x, but for some reason the > >>>>>> "appendJavaScript()" method does not work on the > >>>>>> "WebSocketRequestHandler" object with Wicket 8.x. > >>>>>> > >>>>>> Is there anything else we can try to make it work? > >>>>>> > >>>>> Put a breakpoint at > >>>>> > >> > https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java#L141 > >>>>> and see whether it is called. > >>>>> And another one at > >>>>> > >> > https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketResponse.java#L86 > >>>>> to see whether the XML response is being written back to the browser > in > >>>> the > >>>>> WebSocketConnection. > >>>> Thanks! > >>>> Ok the first method [1] was called many times and once was the one I'm > >>>> interested on where the "script" variable was: > >>>> > >>>> > >>>> > >> > "window.Wicket.WebSocket.send('{"kind":"ADD_ENDPOINT","target":"...","source":"...","scope":"..."}');" > >>>> also the second one [2] was called, but *only once* and both the > "text" > >>>> and "binary" variables were null. > >>>> > >>> What is the type of "response" variable at > >>> > >> > https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java#L141 > >>> ? > >>> It seems it is not WebSocketResponse > >> Ideed, it's "StringResponse"! > >> And it's content is something like this: > >> > > I didn't expect this! > > Can you please put a breakpoint > > at org.apache.wicket.response.StringResponse#StringResponse() (the > > constructor) and see where it is instantiated. > > AjaxRequestHandler uses StringResponse, but WebSocketRequestHandler does > > not. > > I'm not completely sure but it seems that all the times the application > enters in [1] (including when "script" contains "addEnpoint(...)") and > then the "StringResponse()" constructor is called, the source is [2]. > > [1] > > https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java#L141 > [2] > > https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java#L360 It seems WebSocketRequestHandler#respond() is not called at all. Put a breakpoint in AbstractWebSocketProcessor and see what happens there. > > > > >> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component > >> id="id178" ><![CDATA[<span id="id178"> > >> <div class="wizard-form"> > >> <div id="id204"> > >> <div class="wizard-overview"> > >> > >> </div> > >> <div class="wizard-header"> > >> <div> > >> <div> > >> <div class="wizard-step-title"> > >> <div></div> > >> </div> > >> <div class="wizard-step-summary"> > >> <div></div> > >> </div> > >> </div> > >> </div> > >> </div> > >> <div class="wizard-view"> > >> <div id="id207"> > >> <span id="id226"> > >> <span id="id227"> > >> > >> ... > >> > >>> > >>>> [1] > >>>> > >>>> > >> > https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java#L141 > >>>> [2] > >>>> > >>>> > >> > https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketResponse.java#L86 > >>>>>> Thanks > >>>>>> > >>>>>>>>> What is the type of resourceCreateEvent.getTarget() ? > >>>>>>>>> Is it WebSocketRequestHandler or AjaxRequestHandler ? > >>>>>>>> "resourceCreateEvent.getTarget()"type is "AjaxRequestHandler". > >>>>>>>> > >>>>>>>>>> [1] > >>>>>>>>>> > >>>>>>>>>> > >> > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java#L602-L609 > >>>>>>>>>> On 21/02/19 10:01, Martin Grigorov wrote: > >>>>>>>>>>> Hi, > >>>>>>>>>>> > >>>>>>>>>>> Check the browser's Dev Tools' console for any JavaScript > errors. > >>>>>>>>>>> If there are no errors then check in the DevTools Network tab > >>>> whether > >>>>>>>> the > >>>>>>>>>>> WebSocket response frame contains the JS code in its body. It > >> must > >>>> be > >>>>>>>>>>> inside <execution> XML element. If it is not there at all then > it > >>>>>> must > >>>>>>>> be > >>>>>>>>>>> something on the server side. > >>>>>>>>>>> > >>>>>>>>>>> On Thu, Feb 21, 2019 at 10:54 AM Matteo Alessandroni < > >>>>>>>>>> skylar...@apache.org> > >>>>>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> Hi, > >>>>>>>>>>>> > >>>>>>>>>>>> we have a logic where a websocket message is sent from an > >>>>>> "onEvent()" > >>>>>>>>>>>> method [1] and catched in a WebSocketBehavior class [2]. > >>>>>>>>>>>> Then, a call to a js method "addEndpoint()"[3] must be > executed. > >>>>>>>>>>>> Our problem is that the js code "addEndpoint(...)" inside > >>>>>>>>>>>> "handler.appendJavaScript(...)" [4] is not executed, so the > code > >>>>>>>>>>>> correctly reaches that switch case but it's like the > >>>>>>>>>>>> "appendJavaScript(...)" is not working. > >>>>>>>>>>>> > >>>>>>>>>>>> On our application v2.0.x that code works and it uses Wicket > >> 7.x, > >>>>>>>> while > >>>>>>>>>>>> the newer v2.1.x uses Wicket 8.x and it does not work. > >>>>>>>>>>>> > >>>>>>>>>>>> Could you please give us an hint of this? Is there anything we > >> are > >>>>>>>>>>>> missing to make it work for Wicket 8.x? > >>>>>>>>>>>> > >>>>>>>>>>>> Thank you! > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> [1] > >>>>>>>>>>>> > >>>>>>>>>>>> > >> > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java#L602-L609 > >>>>>>>>>>>> [2] > >>>>>>>>>>>> > >>>>>>>>>>>> > >> > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyWebSocketBehavior.java#L153-L157 > >>>>>>>>>>>> [3] > >>>>>>>>>>>> > >>>>>>>>>>>> > >> > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/resources/META-INF/resources/js/topology.js#L269-L280 > >>>>>>>>>>>> [4] > >>>>>>>>>>>> > >>>>>>>>>>>> > >> > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyWebSocketBehavior.java#L154 > >>>>>>>>>>>> -- > >>>>>>>>>>>> > >>>>>>>>>>>> Dott. Matteo Alessandroni > >>>>>>>>>>>> > >>>>>>>>>>>> Software Engineer @ Tirasa S.r.l. > >>>>>>>>>>>> > >>>>>>>>>>>> Viale Vittoria Colonna, 97 - 65127 Pescara > >>>>>>>>>>>> Tel +39 0859116307 / FAX +39 0859111173 > >>>>>>>>>>>> > >>>>>>>>>>>> http://www.tirasa.net > >>>>>>>>>>>> > >>>>>>>>>>>> Apache Syncope PMC Member > >>>>>>>>>>>> http://people.apache.org/phonebook.html?uid=skylark17 > >>>>>>>>>>>> <http://people.apache.org/phonebook.html?uid=skylark17> > >>>>>>>>>>>> > >>>>>>>>>>>> Tirasa S.r.l. <http://www.tirasa.net> > >>>>>>>>>>>> > >>>>>>>>>> -- > >>>>>>>>>> > >>>>>>>>>> Dott. Matteo Alessandroni > >>>>>>>>>> > >>>>>>>>>> Software Engineer @ Tirasa S.r.l. > >>>>>>>>>> > >>>>>>>>>> Viale Vittoria Colonna, 97 - 65127 Pescara > >>>>>>>>>> Tel +39 0859116307 / FAX +39 0859111173 > >>>>>>>>>> > >>>>>>>>>> http://www.tirasa.net > >>>>>>>>>> > >>>>>>>>>> Apache Syncope PMC Member > >>>>>>>>>> http://people.apache.org/phonebook.html?uid=skylark17 > >>>>>>>>>> <http://people.apache.org/phonebook.html?uid=skylark17> > >>>>>>>>>> > >>>>>>>>>> Tirasa S.r.l. <http://www.tirasa.net> > >>>>>>>>>> > >>>>>>>> -- > >>>>>>>> > >>>>>>>> Dott. Matteo Alessandroni > >>>>>>>> > >>>>>>>> Software Engineer @ Tirasa S.r.l. > >>>>>>>> > >>>>>>>> Viale Vittoria Colonna, 97 - 65127 Pescara > >>>>>>>> Tel +39 0859116307 / FAX +39 0859111173 > >>>>>>>> > >>>>>>>> http://www.tirasa.net > >>>>>>>> > >>>>>>>> Apache Syncope PMC Member > >>>>>>>> http://people.apache.org/phonebook.html?uid=skylark17 > >>>>>>>> <http://people.apache.org/phonebook.html?uid=skylark17> > >>>>>>>> > >>>>>>>> Tirasa S.r.l. <http://www.tirasa.net> > >>>>>>>> > >>>>>> -- > >>>>>> > >>>>>> Dott. Matteo Alessandroni > >>>>>> > >>>>>> Software Engineer @ Tirasa S.r.l. > >>>>>> > >>>>>> Viale Vittoria Colonna, 97 - 65127 Pescara > >>>>>> Tel +39 0859116307 / FAX +39 0859111173 > >>>>>> > >>>>>> http://www.tirasa.net > >>>>>> > >>>>>> Apache Syncope PMC Member > >>>>>> http://people.apache.org/phonebook.html?uid=skylark17 > >>>>>> <http://people.apache.org/phonebook.html?uid=skylark17> > >>>>>> > >>>>>> Tirasa S.r.l. <http://www.tirasa.net> > >>>>>> > >>>> -- > >>>> > >>>> Dott. Matteo Alessandroni > >>>> > >>>> Software Engineer @ Tirasa S.r.l. > >>>> > >>>> Viale Vittoria Colonna, 97 - 65127 Pescara > >>>> Tel +39 0859116307 / FAX +39 0859111173 > >>>> > >>>> http://www.tirasa.net > >>>> > >>>> Apache Syncope PMC Member > >>>> http://people.apache.org/phonebook.html?uid=skylark17 > >>>> <http://people.apache.org/phonebook.html?uid=skylark17> > >>>> > >>>> Tirasa S.r.l. <http://www.tirasa.net> > >>>> > >> -- > >> > >> Dott. Matteo Alessandroni > >> > >> Software Engineer @ Tirasa S.r.l. > >> > >> Viale Vittoria Colonna, 97 - 65127 Pescara > >> Tel +39 0859116307 / FAX +39 0859111173 > >> > >> http://www.tirasa.net > >> > >> Apache Syncope PMC Member > >> http://people.apache.org/phonebook.html?uid=skylark17 > >> <http://people.apache.org/phonebook.html?uid=skylark17> > >> > >> Tirasa S.r.l. <http://www.tirasa.net> > >> > > -- > > Dott. Matteo Alessandroni > > Software Engineer @ Tirasa S.r.l. > > Viale Vittoria Colonna, 97 - 65127 Pescara > Tel +39 0859116307 / FAX +39 0859111173 > > http://www.tirasa.net > > Apache Syncope PMC Member > http://people.apache.org/phonebook.html?uid=skylark17 > <http://people.apache.org/phonebook.html?uid=skylark17> > > Tirasa S.r.l. <http://www.tirasa.net> >