On 22/02/19 12:28, Matteo Alessandroni wrote:


On 22/02/19 10:31, Martin Grigorov wrote:
On Fri, Feb 22, 2019 at 10:50 AM Matteo Alessandroni <skylar...@apache.org>
wrote:


On 21/02/19 18:50, Martin Grigorov wrote:
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.

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.

Yes we use "wicket-native-websocket-javax" [1].
What I have just done is putting a breackpoint in both that method from "org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor#StringMessageHandler onMessage()" and "org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor#broadcastMessage()", but it does *not* enter there either.

So at that point I have tried to start v2.0.x with Wicket 7.x and tried to debug the same way, the result is that it enters in [2] only.


[1] https://github.com/apache/syncope/blob/2_1_X/client/console/pom.xml#L83 [2] https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-native-websocket/wicket-native-websocket-javax/src/main/java/org/apache/wicket/protocol/ws/javax/JavaxWebSocketProcessor.java#L65

Sorry I correct myself, I tried again with 2.1.x (Wicket 8.x) and it entered in [1] and [2].

[1] https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-native-websocket/wicket-native-websocket-javax/src/main/java/org/apache/wicket/protocol/ws/javax/JavaxWebSocketProcessor.java#L65 [2] https://github.com/apache/wicket/blob/3704144b73521c6b10de5fa7864773230762e86c/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/AbstractWebSocketProcessor.java#L213






<?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>

--

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>

Reply via email to