为什么 j8583 Configparser 会因模板字段没有默认值而失败?
Why does j8583 Configparser fails with no default value to template fields?
我正在使用 j8583 来构建和解析 ISO 消息。
我有我的模板并解析 config.xml
,但是当没有为模板字段指定默认值时,它会失败并显示 NullPointerException。
下面是因 NullPointerException 而失败的模板。
字段 3
没有任何默认值。
<template type="0200">
<field num="3" type="NUMERIC" length="6"></field>
<field num="32" type="LLVAR">456</field>
<field num="35" type="LLVAR">4591700012340000=</field>
<field num="43" type="ALPHA" length="40">SOLABTEST TEST-3 DF MX</field>
<field num="49" type="ALPHA" length="3">484</field>
<field num="60" type="LLLVAR">B456PRO1+000</field>
<field num="61" type="LLLVAR"> 1234P</field>
<field num="100" type="LLVAR">999</field>
<field num="102" type="LLVAR">ABCD</field>
嗯,您将字段 3 指定为 6 位数字字段,但您没有设置任何值。你得到 NPE 很奇怪,当它试图解析空字符串时应该是 NumberFormatException。
请在 github.com/chochos/j8583 上提交问题,我会调查(我是 j8583 的作者)。
同时,尝试将该值设置为 0。或者,如果您不需要该字段,只需从模板中省略它即可。
我正在使用 j8583 来构建和解析 ISO 消息。
我有我的模板并解析 config.xml
,但是当没有为模板字段指定默认值时,它会失败并显示 NullPointerException。
下面是因 NullPointerException 而失败的模板。
字段 3
没有任何默认值。
<template type="0200">
<field num="3" type="NUMERIC" length="6"></field>
<field num="32" type="LLVAR">456</field>
<field num="35" type="LLVAR">4591700012340000=</field>
<field num="43" type="ALPHA" length="40">SOLABTEST TEST-3 DF MX</field>
<field num="49" type="ALPHA" length="3">484</field>
<field num="60" type="LLLVAR">B456PRO1+000</field>
<field num="61" type="LLLVAR"> 1234P</field>
<field num="100" type="LLVAR">999</field>
<field num="102" type="LLVAR">ABCD</field>
嗯,您将字段 3 指定为 6 位数字字段,但您没有设置任何值。你得到 NPE 很奇怪,当它试图解析空字符串时应该是 NumberFormatException。
请在 github.com/chochos/j8583 上提交问题,我会调查(我是 j8583 的作者)。
同时,尝试将该值设置为 0。或者,如果您不需要该字段,只需从模板中省略它即可。