我正在实施ATM模拟器,它从客户端接受ISO8583消息,并使用jPOS库解压缩。
解压缩我的消息时发生的错误是:"错误解包字段102:negativearraysizeexception" 。
我研究了这个错误,并考虑将logger添加到我的程序中,这样在打印时,我会得到哪些数据进入哪个字段的信息。
我在现有Java应用程序中包含的代码如下:
Logger logger = new Logger();
logger.addListener (new SimpleLogListener(System.out));
((LogSource)p).setLogger(logger, "debug");// p is my ISOPackger
它给我编译错误为
1-构造函数记录器()未定义
2-方法addListener未定义类型Logger
3- LogSource无法解析为类型
帮我解决这些错误。任何帮助,将不胜感激。提前谢谢。
答案 0 :(得分:4)
关于该错误“错误解压缩字段102:negativearraysizeexception”
我可以帮忙,因为它发生在我身上。
检查配置文件夹中的iso87cscascii.xml文件,该文件中的每个字段长度和类型必须与您收到的ISO消息相同。
错误(102)中的字段编号可能是发生错误的地方,请准确检查该字段,并检查其他字段以确保不再发生错误。
答案 1 :(得分:2)
您可能没有导入org.jpos.util.Logger
并选择其他一些Logger。
jPOS'Logger确实没有args构造函数。
请参阅此处的javadoc:http://jpos.org/doc/javadoc/org/jpos/util/Logger.html#Logger()
答案 2 :(得分:2)
你可以发布完整的java类吗?我猜你添加了不正确的Jpos库
1-构造函数Logger()未定义
您使用import org.jpos.util.Logger吗?
2-方法addListener未定义类型Logger
确保使用完全正确的jpos库。
答案 3 :(得分:0)
这发生在我身上。这只是与SLF4J记录器的冲突。