public string GetTaxpayerRegistrationData(string taxRefNo) { var reg = new RegistrationManagementRequestStructure { RequestOperation = RegistrationManagementRequestStructureRequestOperation.RETRIEVE_ENTITY_DETAILS, PartyIdentifiers = new[] { new RegistrationManagementRequestStructurePartyIdentifier { IdentifierType = "REFERENCE_NO", Value = taxRefNo } } }; var messageId = Guid.NewGuid(); var corXml = Sars.Systems.Serialization.XmlObjectSerializer.GetXmlWithNoDeclaration(reg); var soapMessage = FdrCommon.CreateSoapRegistrationQuery(corXml, taxRefNo, messageId.ToString()); soapMessage = FdrCommon.FormatXml(soapMessage); var queueInfo = new QueueInfo { Manager = MQConfigurationSettings.RegistrationOutQManagerName, Channel = MQConfigurationSettings.RegistrationOutQChannelName, UseManagerName = false, Port = MQConfigurationSettings.RegistrationOutPortNumber, HostName = MQConfigurationSettings.RegistrationOutHostName, QueueName = MQConfigurationSettings.RegistrationOutQName, CorrelationId = messageId.ToString(), Message = soapMessage }; FdrMessaging.SendMessageToQueue(queueInfo); return(messageId.ToString()); }
public XmlElement EnquireRegistration(string taxRefNo) { var reg = new RegistrationManagementRequestStructure { RequestOperation = RegistrationManagementRequestStructureRequestOperation.RETRIEVE_ENTITY_DETAILS, PartyIdentifiers = new[] { new RegistrationManagementRequestStructurePartyIdentifier { IdentifierType = "REFERENCE_NO", Value = taxRefNo } } }; var doc = new XmlDocument(); var messageId = Guid.NewGuid(); var corXml = XmlObjectSerializer.GetXmlWithNoDeclaration(reg); var soapMessage = FdrCommon.CreateSoapRegistrationQuery(corXml, taxRefNo, messageId.ToString()); soapMessage = FdrCommon.FormatXml(soapMessage); var queueInfo = new QueueInfo { Manager = MQConfigurationSettings.RegistrationOutQManagerName, Channel = MQConfigurationSettings.RegistrationOutQChannelName, UseManagerName = false, Port = MQConfigurationSettings.RegistrationOutPortNumber, HostName = MQConfigurationSettings.RegistrationOutHostName, QueueName = MQConfigurationSettings.RegistrationOutQName, CorrelationId = messageId.ToString(), Message = soapMessage }; var message = string.Empty; FdrMessaging.SendMessageToQueue(queueInfo); Thread.Sleep(1); var data = DBReadManager.GetResponse(messageId.ToString()); var i = 1; while (!data.HasRows && i <= Configurations.QueueResponseTime) { Thread.Sleep(1); i++; data = DBReadManager.GetResponse(messageId.ToString()); } if (!data.HasRows && i >= Configurations.QueueResponseTime) { doc.LoadXml(string.Format("<Errors><Error message=\"{0}\" /></Errors>", Configurations.QueueTimeoutMessage)); return(doc.DocumentElement); } if (string.IsNullOrEmpty(message)) { if (Convert.ToInt32(data[0]["ReturnCode"]) != 0) { message = data[0]["ReturnMessage"].ToString(); doc.LoadXml(string.Format("<Errors><Error message=\"{0}\" /></Errors>", message)); return(doc.DocumentElement); } } var xml = data[0]["Message"].ToString(); doc.LoadXml(xml); return(doc.DocumentElement); }