public String PostRequest(Iso8583Request req) { byte[] reqMsg = null; if (req.RequestString != null) { String sReq = req.RequestString.Trim(); if (String.IsNullOrEmpty(sReq)) { throw new HttpResponseException(HttpStatusCode.NoContent); } System.Text.RegularExpressions.Regex ws = new System.Text.RegularExpressions.Regex(@"\s+"); sReq = ws.Replace(sReq, ""); reqMsg = MessageUtility.StringToHex(sReq, true); if (reqMsg == null) { //throw new HttpResponseException(HttpStatusCode.InternalServerError); _outputData = "Error: Invalid request message string (not valid hexadecimal)"; } } try { MessageClient client = new MessageClient(req.ServerHost, req.ServerPort, null, this.PrintModel); client.IsSslEnabled = req.IsSSL; if (req.RequestString != null) { if (reqMsg != null) { client.SendBytes(reqMsg); } } else { client.Model = HttpContext.Current.Session != null ? HttpContext.Current.Session["model"] : null; if (client.Model != null) { _iso8583ResponseEvent.Reset(); client.SendModel(); _iso8583ResponseEvent.WaitOne(); } else { _outputData = "Error: Invalid request message (cannot be null value)"; } } } catch { //throw new HttpResponseException(HttpStatusCode.InternalServerError); _outputData = "Error: Cannot send request message to ISO 8583 server."; } if (_outputData.IndexOf("Error: ") == 0) { Logger.GetInstance().WriteLine(_outputData); } return(_outputData); }