C# 美国运通ISO8583
有人为美国运通实施过iso8583信息传递吗?我有一个端口和ip,但当我用套接字发送回显消息(1804)时,它不会回答任何问题。。。编码是EBCDIC。有人举个例子吗?代码是C语言的#C# 美国运通ISO8583,c#,iso8583,ebcdic,C#,Iso8583,Ebcdic,有人为美国运通实施过iso8583信息传递吗?我有一个端口和ip,但当我用套接字发送回显消息(1804)时,它不会回答任何问题。。。编码是EBCDIC。有人举个例子吗?代码是C语言的# Console.WriteLine(“发送消息回显…”); ManageConnection.ManageSocket _manage=新的ManageConnection.ManageSocket(IpAmex,PortAmex); TupleList _request=new TupleList(); _Ad
Console.WriteLine(“发送消息回显…”);
ManageConnection.ManageSocket _manage=新的ManageConnection.ManageSocket(IpAmex,PortAmex);
TupleList _request=new TupleList();
_Add(Encoding.GetEncoding(500),“1804”);
_添加(Encoding.UTF8,“203001800000000”);
_Add(Encoding.GetEncoding(500),“000000”);
_Add(Encoding.GetEncoding(500),“112233”);
_添加(Encoding.GetEncoding(500),“17091412051083187000”);
var\u response=\u manage.SendMessageSocket(\u请求);
返回响应;
公共字符串SendMessageSocket(元组列表消息){
string _return=string.Empty;
尝试
{
字节[]字节=新字节[65000];
IPAddress=IPAddress.Parse(IP);
IPEndPoint remoteEP=新IPEndPoint(ipAddress,端口);
套接字发送方=新套接字(AddressFamily.InterNetwork、SocketType.Stream、ProtocolType.Tcp);
发送方连接(remoteEP);
Console.WriteLine(“Enviando mensaje…”);
var bytesMessage=GetCompleteMessage(_messages);
//此函数的作用是:GetCompleteMessage=byte[]ByteMessage={241,248,240,244,32,48,1128,0,0,0,0,240,240,240,240,241,241, 241, 242, 242, 243, 243, 241, 247, 240, 249, 241, 244, 241, 242, 240, 245, 241, 240, 248, 243, 241,248, 247, 240, 240 };
int bytesent=sender.Send(bytesMessage);
Console.WriteLine(“世界语应答器”);
int bytesRec=sender.Receive(字节);//此处不接收任何内容
int len=Array.IndexOf(bytes,byte.MinValue);
var responseString=Encoding.UTF8.GetString(bytes,byte.MinValue,len);
发送器关闭(SocketShutdown.Both);
sender.Close();
归还所有的财产;
}
捕获(例外情况除外)
{
投掷;
}
}
信息是针对ISO8583全球信用授权指南(GCAG),我不懂C,但我用JAVA实现了美国运通。我想您不应该在EBCDIC中对位图进行编码,而应该只unhex其内容。作为位图,我的意思是“203001800000000
”
我希望这会有所帮助。1。与美国运通使用的ISO8583类似的规范。 他们使用了几种定制的ISO 8583方言作为示例:
- 全球信贷授权指南(GCAG)
- 全球电子数据采集(GEDC)终端信息规范
- 多接口处理(PIP)终端接口
---
# Cheef's parser.
# Copyright (C) 2008-2017 Alexander Shevelev. https://iso8583.info/
# lib : "/lib/AMEX/GCAG/" - Global Credit Authorization Guide
# tool : "host"
# stat : 28 nodes, 14 lookup tables, 92.86% passed (13/14)
host: # AMEX GCAG host simulator
- rq:#"F1F8F0F42030018000000000F0F0F0F0F0F0F1F1F2F2F3F3F1F7F0F9F1F4..F0F0" # AMEX GCAG message
- MTI: "1804" # Message Type ID. // network management request
- DE000: "2030018000000000" # Primary bitmap // 3.11.12.24.25.
- BM0:#"F0F0F0F0F0F0F1F1F2F2F3F3F1F7F0F9F1F4F1F2F0F5F1F0F8F3F1F8F7F0F0" # Fields at Primary Bitmap
- DE003:#"000000" # PC // System Audit Control/Echo Message
- S01: "00" # Transaction Code. // Goods and service
- S02: "00" # Account, from. // unspecified
- S03: "00" # Account, to. // unspecified
- DE011: "112233" # STAN.
- DE012:#"170914120510" # Date and time, local transaction
- date: "170914" # Date, local transaction. // 2017.09.14
- time: "120510" # Time, local transaction. // 12:05:10
- DE024: "831" # Function code. // echo test.
- DE025: "8700" # Message reason code (MRC).
- rs:#"F1F8F1F42030010002000000F0F0F0F0F0F0F1F1F2F2F3F3F1F7F0F9F1F4..F0F0" # AMEX GCAG message
- MTI: "1814" # Message Type ID. // network management request response
- DE000: "2030010002000000" # Primary bitmap // 3.11.12.24.39.
- BM0:#"F0F0F0F0F0F0F1F1F2F2F3F3F1F7F0F9F1F4F1F2F0F5F1F0F8F3F1F0F0F0" # Fields at Primary Bitmap
- DE003:#"000000" # PC // System Audit Control/Echo Message
- S01: "00" # Transaction Code. // Goods and service
- S02: "00" # Account, from. // unspecified
- S03: "00" # Account, to. // unspecified
- DE011: "112233" # STAN.
- DE012:#"170914120510" # Date and time, local transaction
- date: "170914" # Date, local transaction. // 2017.09.14
- time: "120510" # Time, local transaction. // 12:05:10
- DE024: "831" # Function code. // echo test.
- DE039: "000" # Action Code // approved.
消息需要包含描述消息内容长度的两个字节。邮件中缺少上述两个字节。美国运通代表什么?美国运通-ISO8583是的,我的朋友,我已经做了,但不起作用。。。。请给我看一个java示例,甚至是1804消息(我希望在发送之前看到从字符串到字节的转换)例如,我以字节形式发送此消息:byte[]\u message={241248240244,32,48,1128,0,0,0,0240240141,241,242,242,243,243, 241,247,240,249,241,244,241,242,240,245,241,240,248,243,241,248,247,240,240};您好,谢谢您的评论。我已经使用了上面提到的解析器,并且按照您在示例中描述的方式发送了消息,但没有结果。模拟器正确地解释了这些消息,但当我发送消息时,美国运通没有回答任何问题。这是套接字发送的字节数组。字节[]——消息={241248240244,32,48,1128,0,0,02402402402242243243,2412424024924124422422402452412482432418247240240};谢谢朋友,你说得对,这条消息是针对ISO8583全球信贷授权指南(GCAG),请更新你的原始问题,并添加十六进制表示的示例消息。关于请求和回复格式,请与主机连接的支持人员联系。
---
# Cheef's parser.
# Copyright (C) 2008-2017 Alexander Shevelev. https://iso8583.info/
# lib : "/lib/AMEX/GCAG/" - Global Credit Authorization Guide
# tool : "host"
# stat : 28 nodes, 14 lookup tables, 92.86% passed (13/14)
host: # AMEX GCAG host simulator
- rq:#"F1F8F0F42030018000000000F0F0F0F0F0F0F1F1F2F2F3F3F1F7F0F9F1F4..F0F0" # AMEX GCAG message
- MTI: "1804" # Message Type ID. // network management request
- DE000: "2030018000000000" # Primary bitmap // 3.11.12.24.25.
- BM0:#"F0F0F0F0F0F0F1F1F2F2F3F3F1F7F0F9F1F4F1F2F0F5F1F0F8F3F1F8F7F0F0" # Fields at Primary Bitmap
- DE003:#"000000" # PC // System Audit Control/Echo Message
- S01: "00" # Transaction Code. // Goods and service
- S02: "00" # Account, from. // unspecified
- S03: "00" # Account, to. // unspecified
- DE011: "112233" # STAN.
- DE012:#"170914120510" # Date and time, local transaction
- date: "170914" # Date, local transaction. // 2017.09.14
- time: "120510" # Time, local transaction. // 12:05:10
- DE024: "831" # Function code. // echo test.
- DE025: "8700" # Message reason code (MRC).
- rs:#"F1F8F1F42030010002000000F0F0F0F0F0F0F1F1F2F2F3F3F1F7F0F9F1F4..F0F0" # AMEX GCAG message
- MTI: "1814" # Message Type ID. // network management request response
- DE000: "2030010002000000" # Primary bitmap // 3.11.12.24.39.
- BM0:#"F0F0F0F0F0F0F1F1F2F2F3F3F1F7F0F9F1F4F1F2F0F5F1F0F8F3F1F0F0F0" # Fields at Primary Bitmap
- DE003:#"000000" # PC // System Audit Control/Echo Message
- S01: "00" # Transaction Code. // Goods and service
- S02: "00" # Account, from. // unspecified
- S03: "00" # Account, to. // unspecified
- DE011: "112233" # STAN.
- DE012:#"170914120510" # Date and time, local transaction
- date: "170914" # Date, local transaction. // 2017.09.14
- time: "120510" # Time, local transaction. // 12:05:10
- DE024: "831" # Function code. // echo test.
- DE039: "000" # Action Code // approved.