On 11/28/06, Marcel Ruff <mr at marcelruff.info
Matthew Monson wrote:
> I'm using xmlBlaster for a GPRS receipting solution
> which provides the end user with the ability to issue
> prepaid electricity tokens to a consumer.
> The message server is running at the local municipality
> and so is the server providing the token numbers.
> My problem is that every now and again the GPRS connection
> drops and the client needs to redial the GSM modem and
> establish a connection back to VodacomISP, whereby getting
> a brand new IP address. Unfortunately the client cannot
> reconnect to the message server unless I exit the application
> and go back in, basically killing the old connection and
> creating a new one. The connection does change ALIVE -> POLLING,
> but can never connect to the server after redial and there's
> nothing happening in the log file on the server.
> I'm assuming its the IP address because the software works
> perfectly on a LAN?
The IP address of the server (xmlBlaster) is not changing,
so you think it is the client side IP address?
Yes the client is allocated a different IP address every time
it dials up and it's connects to the xmlBlaster server which
has a public IP address.
Is your client a java software?
On which OS?
Which xmlBlaster version do you use?
Yes it's a java 1.6 app running on Windows XP at the moment.
And the server is xmlBlaster 1.2 running on Suse Linux Enterprise 9.
> This solution is ptp so I managed to kind of
> get a workaround by just connecting using a different
> session name eg. machine2/2, and setting the old sessions
> to expire after 10min, but I'm sure there must be a better way.
Yes, this is a hack...
> I'm using the RAW SOCKET and SSL protocols and passing the message
> server the same client session name everytime, my question is,
> what in your opinion should the settings be firstly
> on the message server and secondly on the client to
> enable a client with a different IP address to reconnect
> to an existing session.
Could you please try if it runs fine without SSL ?
First thing I tried, unfortunately still doesn't reconnect.
I also had zlib full stream compression on, but also made
> A very simple example of the xmlBlaster.properties
> the client arguments would be appreciated as I'm still quite
> new to xmlBlaster and java.
This is a fail save client:
java javaclients.HelloWorldSubscribe -
if the server disappears or the network disappears it will automatically
I also tried this example but the same behaviour occurs. It just doesn't ever
reconnect to the server and the server never shows anything in the logs.
I've coded the app to retry the connection 5 times and then
first disconnect and reconnect again, the server then shows a
reconnect coming from a different IP address and port.
This should be fine for now but I'm still gonna try using
a GPRS router which will have a static IP address
and port, maybe it'll make a difference.