Blocking a specific session


Our service keeps receiving calls from an unknown session. We don’t know where these calls are comming from. This triggers the event SOAPMessageWriteException with a exception message:
Session {E7F6721D-AFB2-42DF-BCE6-66CBEAB0A8D8} could not be found.

It fires every thirty seconds. My questions are:
How can I find the source IP from these calls?
How can I block these calls?

Kind regards,



You can use the OnGetDispatchInfo event.

procedure TDataService.DataAbstractServiceGetDispatchInfo(
  const aTransport: IROTransport; const aMessage: IROMessage);
  tcpinfo: IROTCPTransport;
  textmessage: UnicodeString;
  streamaccess: IROStreamAccess;
  Log('ClientID is '+GUIDToString(aMessage.ClientID));
  if Supports(aTransport, IROTCPtransport, tcpinfo) then Log('Client ' + tcpinfo.GetClientAddress + ' connected!');
  Log('Got a reference to a ' + aTransport.GetTransportObject.ClassName);
  Log('About to invoke ' + aMessage.InterfaceName + '.' + aMessage.MessageName);

if you raise exception in this method, service method won’t called