所以現在我正在構建ISO8583支付網關應用程序。此應用程序是一個可以充當客戶端或服務器的客戶端 - 服務器應用程序。在這種情況下,我正在處理應用程序的客戶端。錯誤代碼67 ISO8583
首先,我將(客戶端)應用連接到外部服務器。我正在發送詢問消息,並且運行良好(返回成功消息)。然後,我試圖運行這個應用程序作爲客戶端和服務器(運行2個應用程序,並將我的IP作爲IP主機),一個作爲客戶端,另一個作爲服務器。我正在發送詢問消息,並且它一直返回響應代碼67(其他錯誤)。與此同時,當我僅將應用程序作爲客戶端運行時,它會成功
我不知道是否有幫助,但這裏的查詢方法
/// <summary>
/// Send Inquiry Message
/// </summary>
private void SendInquiryMessage()
{
var requestMsg = new Iso8583Message(200);
DateTime transmissionDate = DateTime.Now;
requestMsg.Fields.Add(7, string.Format("{0}{1}",
string.Format("{0:00}{1:00}", transmissionDate.Month, transmissionDate.Day),
string.Format("{0:00}{1:00}{2:00}", transmissionDate.Hour,
transmissionDate.Minute, transmissionDate.Second)));
requestMsg.Fields.Add(11, _sequencer.Increment().ToString());
requestMsg.Fields.Add((int)ISO8583ProtocolFields.PROCESSING_CODE, "341019");
requestMsg.Fields.Add((int)ISO8583ProtocolFields.ADDITIONAL_DATA_61, "5271720012002010802012");
#region Send 0200
SendRequestHandlerCtrl sndCtrl = _client.SendExpectingResponse(requestMsg, 1000, true, null);
sndCtrl.WaitCompletion(); // Wait send completion.
if (!sndCtrl.Successful)
{
Console.WriteLine(string.Format("Client: unsuccessful request # {0} ({1}.",
_sequencer.CurrentValue(), sndCtrl.Message));
if (sndCtrl.Error != null)
Console.WriteLine(sndCtrl.Error);
}
else
{
sndCtrl.Request.WaitResponse();
if (sndCtrl.Request.IsExpired)
_expiredRequests++;
else
_requestsCnt++;
}
latestInquiryMessage = sndCtrl.Request.ReceivedMessage as Iso8583Message;
Console.WriteLine(latestInquiryMessage.Fields[39].Value);
#endregion
}
任何人都知道問題是什麼?我可能會錯過什麼?
謝謝!