[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xmlblaster] client not responding to sever pings??



Hi All,


I'm trying to work through a troublesome networking evironment. Since
logging is so verbose I have selectivly enabled in critical areas that
I wish to trace for and have recompiled.

Now having done so the client is no longer responding to server pings.
Though pre built versions do so. Stepping through the code I can see
why my build is not. Please see below.

try { // Executor
            super.initialize(this.sockCon.getGlobal(),
this.callbackAddress, sock, null);
    }

The snippet above is from SocketCallbackImpl the clue is last
parameter being a null.
The snippet below is from Executor it is the code that runs when the
client recv's a PING request for the server. The clue here is
xmlBlasterImpl this is set to null by the
above snippet. Therefore the response to the server ping is never
excuted. Where/How does the client respond to the server pings. As far
as I can see this is the only place that initializes the
xmlBlasterImpl member var.

else if (MethodName.PING == receiver.getMethodName()) {
            MsgUnitRaw[] arr = receiver.getMessageArr();
            if (this.cbClient == null && !glob.isServerSide()) {
               XmlBlasterException xmlBlasterException = new
XmlBlasterException(glob,
ErrorCode.COMMUNICATION_NOCONNECTION_CALLBACKSERVER_NOTAVAILABLE, ME, "No
SOCKET callback driver is available, can't process the remote invocation.");
               executeException(receiver, xmlBlasterException);
               return true;
            }
            if (xmlBlasterImpl != null) { <<<<<  how does it respond to
ping.
               String response =
			xmlBlasterImpl.ping(/*receiver.getSecretSessionId(),*/ (arr.length>0)?
arr[0].getQos() : "<qos/>");
               executeResponse(receiver, response);
//Constants.RET_OK="<qos><state id='OK'/></qos>" or current run level
            }
         }


WorkerThread t = new WorkerThread(glob, this, receiver); runs whenever
a recv.isInvoke detected.

XmlBlaster rocks.

Regards

Martin