public override System.DateTime PullMessages([System.Xml.Serialization.XmlElementAttribute(DataType = "duration")] string Timeout, int MessageLimit, [System.Xml.Serialization.XmlAnyElementAttribute()] System.Xml.XmlElement[] Any, out System.DateTime TerminationTime, [System.Xml.Serialization.XmlElementAttribute("NotificationMessage", Namespace = "http://docs.oasis-open.org/wsn/b-2")] out NotificationMessageHolderType[] NotificationMessage) { int subscriptionKey = SoapReferanceHeaderProcessing(unknownHeaders); ConfStorageLoad(); EventServerLoad(); DateTime timeout; try { TimeSpan timeSpan = System.Xml.XmlConvert.ToTimeSpan(Timeout); timeout = DateTime.UtcNow.Add(timeSpan.Subtract(new TimeSpan(0, 0, 1))); } catch (Exception) { throw FaultLib.GetSoapException(FaultType.General, "Wrong Timeout."); } NotificationMessage = EventServer.GetPullPointMessages(subscriptionKey, timeout, MessageLimit); TerminationTime = EventServer.EventSubsciptionList[subscriptionKey].TerminationTime; DateTime res = DateTime.UtcNow; EventServerSave(); ConfStorageSave(); actionHeader.actionValue = "http://www.onvif.org/ver10/events/wsdl/PullPointSubscription/PullMessagesResponse"; return(res); }