Hi Cyrille,
even if you don't start up a client side callback server you need
to configure it in the ConnectQos so that the server establishes
a callback queue. By setting retries='-1' the server never gives
up to reach the client.
I have tried it with the following script:
=======================================================
<!--
java javaclients.script.XmlScript -requestFile loginLogoutSubscribe.xml
-->
<xmlBlaster>
<connect>
<qos>
<securityService type="htpasswd" version="1.0"><![CDATA[
<user>tester</user>
<passwd>tester</passwd>
]]></securityService>
<persistent>true</persistent>
<session name='tester/1' />
<queue relating='connection'>
<address type="XMLRPC" pingInterval='1000' retries='-1'
delay='2000' />
</queue>
<!-- DO THIS: -->
<queue relating='callback' maxEntries='5' maxEntriesCache='2'>
<callback type="XMLRPC" pingInterval='1000' retries='-1'
delay='1000' />
</queue>
</qos>
</connect>
<subscribe><key
oid="__sys__Login"></key><qos><persistent>false</persistent></qos></subscribe>
<wait delay="600000000" />
</xmlBlaster>
=======================================================
Probably you could additionally set
<callback ... dispatcherActive='false' ...
like this the callback framework is not needlessly trying to find the
client.