On Fri, Feb 22, 2019 at 10:50 AM Matteo Alessandroni <[email protected]> wrote:
> > > On 21/02/19 18:50, Martin Grigorov wrote: > > On Thu, Feb 21, 2019, 18:29 Matteo Alessandroni <[email protected]> > > wrote: > > > >> > >> On 21/02/19 16:43, Martin Grigorov wrote: > >>> On Thu, Feb 21, 2019 at 5:35 PM Matteo Alessandroni < > >> [email protected]> > >>> wrote: > >>> > >>>> On 21/02/19 16:30, Martin Grigorov wrote: > >>>>> On Thu, Feb 21, 2019 at 5:24 PM Matteo Alessandroni < > >>>> [email protected]> > >>>>> wrote: > >>>>> > >>>>>> On 21/02/19 16:07, Martin Grigorov wrote: > >>>>>>> On Thu, Feb 21, 2019 at 4:41 PM Matteo Alessandroni < > >>>>>> [email protected]> > >>>>>>> wrote: > >>>>>>> > >>>>>>>> On 21/02/19 12:14, Martin Grigorov wrote: > >>>>>>>>> On Thu, Feb 21, 2019 at 12:11 PM Matteo Alessandroni < > >>>>>>>>> [email protected]> 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. > > Hi, > ok thanks, I did that and the constructor of > "AbstractWebSocketProcessor" is never called! > The constructor should be called when the WS connection is established. I guess you use wicket-native-websocket-javax. Check org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor and its org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor.StringMessageHandler onMessage() method is called when the client sends something to the server. onMessage() delegates to org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor#broadcastMessage() where the processing happens, i.e. WebSocketBehavior#onMessage() is called. > > > > > > > > >>>> <?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 < > >>>>>>>>>>>> [email protected]> > >>>>>>>>>>>>> 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> > >> > > -- > > 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> >
