String[] response = xmlBlasterImpl.publishArr(getAddressServer(), receiver.getSecretSessionId(), arr);
executeResponse(receiver, response, udp);
}
else if (MethodName.UPDATE_ONEWAY == receiver.getMethodName()) {
try {
I_CallbackExtended cbClientTmp = this.cbClient;
if (cbClientTmp == null) {
throw new XmlBlasterException(glob, ErrorCode.COMMUNICATION_NOCONNECTION_CALLBACKSERVER_NOTAVAILABLE, ME, "The " + getType() + " callback driver is not created, can't process the remote invocation. Try configuration ' -protocol "+getType()+"'");
}
MsgUnitRaw[] arr = receiver.getMessageArr();
if (arr == null || arr.length < 1) {
log.severe("Invocation of " + receiver.getMethodName() + "() failed, missing arguments");
return true;
}
cbClientTmp.updateOneway(receiver.getSecretSessionId(), arr);
}
catch (XmlBlasterException e) {
executeException(receiver, e, udp);
return true;
}
catch (Throwable e) {
XmlBlasterException xmlBlasterException = new XmlBlasterException(glob, ErrorCode.USER_UPDATE_INTERNALERROR, ME, "Invocation of " + receiver.getMethodName() + "() failed, missing arguments", e);
executeException(receiver, xmlBlasterException, udp);
return true;
}
}
else if (MethodName.UPDATE == receiver.getMethodName()) {
try {
I_CallbackExtended cbClientTmp = this.cbClient; // Remember to avoid synchronized block
if (cbClientTmp == null) {
throw new XmlBlasterException(glob, ErrorCode.COMMUNICATION_NOCONNECTION_CALLBACKSERVER_NOTAVAILABLE, ME, "No "+getType()+" callback driver is available, can't process the remote invocation for UPDATE");
}
MsgUnitRaw[] arr = receiver.getMessageArr();
if (arr == null || arr.length < 1) {
throw new XmlBlasterException(glob, ErrorCode.USER_UPDATE_INTERNALERROR, ME, "Invocation of " + receiver.getMethodName() + "() failed, missing arguments");
}
String[] response = cbClientTmp.update(receiver.getSecretSessionId(), arr);
executeResponse(receiver, response, udp);
}
catch (XmlBlasterException e) {
executeException(receiver, e, udp);
return true;