- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 jpos 库构建一个简单的电子购买金融消息,我正在使用通用打包器来打包我的消息字段,问题出现在字段 48(TLV 字段)处。
这里是字段 48 的打包参数。
<isofieldpackager id="48"
name="Additional Private Data"
length="999"
class="org.jpos.iso.IFB_LLLBINARY"
emitBitmap="false"
tagMapper="org.jpos.iso.packager.TTTDecimalTagMapper"
packager="org.jpos.iso.packager.GenericTaggedFieldsPackager">
<!-- -->
<isofield id="1" length="8" name="PSP Identifier" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2"/>
<!-- -->
<isofield id="2" length="8" name="Ecommerce Acquirer Identifier" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2"/>
<!-- -->
<isofield id="3" length="3" name="Buyer Country Code" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2" />
<!-- -->
<isofield id="4" length="20" name="Buyer Card Brand" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2" />
<!-- -->
<isofield id="5" length="24" name="Buyer IP Address" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2" />
<!-- -->
<isofield id="6" length="30" name="Buyer email Address" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2" />
<!-- -->
<isofield id="7" length="14" name="Buyer Phone Number" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2" />
<isofield id="8" length="6" name="Merchant Operation Reference" class="org.jpos.iso.IF_CHAR" />
<isofield id="9" length="3" name="One Click Indicator" class="org.jpos.iso.IF_CHAR"/>
<isofield id="10" length="12" name="ISC INTERNET PIN" class="org.jpos.iso.IF_CHAR"/>
<isofield id="11" length="3" name="One Click Indicator" class="org.jpos.iso.IF_CHAR"/>
<isofield id="12" length="12" name="ISC INTERNET PIN" class="org.jpos.iso.IF_CHAR"/>
<!-- -->
<isofield id="13" length="12" name="One Click Indicator" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2"/>
<!-- -->
<isofield id="14" length="1" name="ISC INTERNET PIN" class="ma.XXY.net.merkit.utils.IFA_TTLLBINARY2"/>
</isofieldpackager>
IFA_TTLLBINARY2.java
public class IFA_TTLLBINARY2 extends ISOTagBinaryFieldPackager {
public IFA_TTLLBINARY2() {
super(0,null, BcdPrefixer.LLL, NullPadder.INSTANCE,
LiteralBinaryInterpreter.INSTANCE, BcdPrefixer.LL);
}
public IFA_TTLLBINARY2 (int len, String description) {
super(len, description, BcdPrefixer.LLL, NullPadder.INSTANCE,
LiteralBinaryInterpreter.INSTANCE, BcdPrefixer.LL);
}
}
main.java
ISOMsg authISOMsg = new ISOMsg();
ISOMsg authISOMsgResp;
QMUX qMux;
IServicesUtils service = new ServiceUtilsImpl();
logger.info("Initiating Authorization Request for Simple ePurchase Transaction : 11001122222");
// To be used in header
String stan = service.generateSTAN();
// HEADER
String acquirerTimeOut = service
.getValuesFromPropertiesFile(new String[] { IConstants.ACQUIRER_MSG_TIMEOUT }, "parameters.properties")
.get(IConstants.ACQUIRER_MSG_TIMEOUT).toString();
String issuerTimeOut = service
.getValuesFromPropertiesFile(new String[] { IConstants.ISSUER_MSG_TIMEOUT }, "parameters.properties")
.get(IConstants.ISSUER_MSG_TIMEOUT).toString();
authISOMsg.setHeader(("001" + issuerTimeOut + DateUtils.getHeaderFieldIso(new Date(), stan)).getBytes());
try {
// MTI
authISOMsg.setMTI(IsoConstants.ISO_AUTH_REQUEST_MSG_MTI);
authISOMsg.set(14, "0819");
// Merchant Type - not existing in mpi response
authISOMsg.set(18, "3306");
// POS Entry Mode
authISOMsg.set(22, IsoConstants.ISO_AUTH_REQUEST_POS_ENTRY_MODE);
// POS Condition code
authISOMsg.set(25,IsoConstants.ISO_AUTH_REQUEST_POS_CONDITION_CODE);
// Card Acceptor Terminal Identification
authISOMsg.set(41,"BX023350");
// Merchant ID
authISOMsg.set(42, service.reduceMerchantIDLength("*****"));
//
authISOMsg.set("48.1","PSP_001");
authISOMsg.set("48.2","ACQ_002");
authISOMsg.set("48.3","MAR");
authISOMsg.set("48.4","VISA INTERNATIONAL");
authISOMsg.set("48.5","10.0.0.136");
authISOMsg.set("48.6","*****");
authISOMsg.set("48.7","******");
// Currency
authISOMsg.set(49,"840");
Q2 scanner = new Q2();
scanner.start();
qMux = (QMUX) QMUX.getMUX("clientmux");
authISOMsgResp = qMux.request(authISOMsg,
Integer.parseInt(acquirerTimeOut));
if (authISOMsgResp != null) {
System.out.println(authISOMsgResp.getString(2));
}
上面的主要代码表示包含一些字段的财务消息,我遇到的问题发生在字段 48。
下面的错误引发以下异常。
Nested:org.jpos.iso.ISOException: Error reading deploy\packager\basic-packager.xml (org.xml.sax.SAXParseException; systemId: file:basic-packager.xml;
lineNumber: 114; columnNumber: 64; Attribute "tagMapper" must be declared for element type "isofieldpackager").
最佳答案
看来您需要使用generic-subtag-packager.dtd验证您的 xml 打包器定义。
您可以将该文件复制到 xml 所在的目录中,并用 doctype 定义替换该文件:
<!DOCTYPE isopackager SYSTEM "generic-subtag-packager.dtd">
我希望这能解决您的问题。
关于java - JPos - ISO8583 消息 TLV 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47576377/
我想知道是否可以通过 ISO 8583 做一个完整的声明(在一个日期范围之间),我看到 ATM 可以做完整的声明并且想知道他们使用什么方法。我知道余额查询和迷你报表可以在超过 8583 的 POS 设
我一直在尝试通过 7zip 和 WinRar 提取 ISO 镜像。 这是我使用的命令行: 7z x -y "%Isocontents%\ISO.iso" -o%Newfolder% WinRar.ex
我正在将 ICU 集成到一些内部软件中。我希望能够获取诸如“en_US”之类的字符串并为其获取脚本名称“Latin”。 (虽然最终我实际上想要一个 ICU ScriptCode。) 我尝试使用 ICU
我的数据位于一个数据框中,其结构如下: df2 <- data.frame(Year = c("2007"), Week = c(1:12), Measurement = c(rnorm(12, me
我需要计算一周分配到的年份。例如,2003 年 12 月 29 日被指定为 2004 年的第一周(我认为这仅适用于欧洲)。您可以使用以下代码来查看: SELECT DATEPART(isowk, '2
我想做什么? 我想提取 ISO 文件并编辑其中的文件,然后将其重新打包回 ISO 文件。 (正如你已经读过的) 我为什么要这样做? 我想开始修改 PSP ISO,为此我必须使用游戏资源、 Assets
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 2年前关闭。 Improve this questi
我有一个文件。在 Python 中,我想占用它的创建时间,并将其转换为 ISO time (ISO 8601) string 同时保留它是在 Eastern Time Zone 中创建的事实。 (美国
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我在二维网格上有两个标量场。我想为第一个标量场绘制一条等值线,并根据第二个标量场设置其不透明度。 我从 this SO answer 开始尝试使用 mayavi但我无法从 3D 切换到 2D。 下面是
假设您声明两个同构 showing :: (Read a, Show a) => Iso' String a showing = iso read show reading :: (Read a, S
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines准则。它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,
假设有一个两个字符的String,它应该代表ISO 639国家或语言名称。 你知道,Locale类有两个函数 getISOLanguages和 getISOCountries分别返回包含所有 ISO
实体中的值是否可以自由嵌入到 ISO 10303-21 格式的文件中? 在我看到的所有由 CAD 程序生成的示例中,length_measure 都嵌入在uncertainty_measure_wit
是否可以从原始 ISO 自动创建用于操作系统安装的 Vagrant .box 文件? 对我来说,Vagrant 提供的虚拟机上操作系统安装和配置的端到端自动化存在巨大差距。 当然,VagrantBox
有没有办法实现这样的格式: 2003-09-25T14:00:00.000+1000 or 2003-09-25T14:00:00.000+1100 要这样转换 2003-09-25T14:00:00
我正在使用: @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) @JsonFormat( pattern = "MM-dd-yyyy" ) private
我需要将 iso-3166-1/iso-3166-2 代码转换为经度/纬度 例子: 输入:“美国”,输出:(37.09024, -95.71289100000001)。 输入“VE-O”,输出:(10
我想转换 POSIX 语言环境名称,例如 en_US、de_DEISO-639-1 和 ISO-3166 代码到 Windows English_United States、German_German
我在 MS Access 上有一个数据库,我通过调用 PDO 和 odbc 驱动程序将其与 PHP 一起使用。我的数据库中有法语、丹麦语和波兰语单词。法语和丹麦语没问题,但波兰语字符没办法,我只得到“
我是一名优秀的程序员,十分优秀!