java - 如何获取发送到 JMETER 中用于 ISO8583 采样器的服务器的字节数组?
问题描述
我正在尝试请求在 ISO8583 Sampler 中生成(已打包)的字节数组,以便为我的 ISO 消息生成字段 128。
现在,当我尝试在脚本部分中使用此代码在 JSR233 断言中获取它时:
log.info("******sampler data***** ="+ prev.getSamplerData() );
生成的结果是:
2020-04-04 01:40:27,560 INFO o.a.j.a.J.JSR223 Assertion: ******sampler data***** =<isomsg direction="outgoing">
<!-- org.jpos.iso.packager.GenericPackager[G:/switchRepository/integration-test/src/test/resources/iso-isopackager-v87-tosan-plus-test.xml] -->
<field id="0" value="0200"/>
<field id="2" value="45853812060001356"/>
<field id="3" value="310000"/>
<field id="7" value="0404014021"/>
<field id="11" value="219225"/>
<field id="12" value="014021"/>
<field id="13" value="0404"/>
<field id="14" value="9802"/>
<field id="15" value="0808"/>
<field id="22" value="021"/>
<field id="23" value="000"/>
<field id="25" value="02"/>
<field id="32" value="627381"/>
<field id="35" value="6273812060001356=98021012272"/>
<field id="41" value="LLLLL"/>
<field id="42" value="MMMMMMMM1234567"/>
<field id="49" value="364"/>
<field id="52" value="6944E75616EC5DB7"/>
<field id="61" value="888999"/>
<field id="62" value="000001"/>
<field id="128" value="1111111111111111"/>
</isomsg>
<!--
0000 30 32 30 30 45 32 33 45 30 36 38 31 32 30 43 31 0200E23E068120C1
0010 39 30 30 43 30 30 30 30 30 30 30 30 31 30 30 30 900C000000001000
0020 30 30 30 31 31 36 36 32 37 33 38 31 32 30 36 30 0001166273812060
0030 30 30 31 33 35 36 33 31 30 30 30 30 30 34 30 34 0013563100000404
0040 30 31 34 30 32 31 32 31 39 32 32 35 30 31 34 30 0140212192250140
0050 32 31 30 34 30 34 39 38 30 32 30 38 30 38 30 32 2104049802080802
0060 31 30 30 30 30 32 30 36 36 32 37 33 38 31 32 38 1000020662738128
0070 34 35 38 35 38 31 32 30 36 30 30 30 31 33 35 36 45853812060001356
0080 3D 39 38 30 32 31 30 31 32 32 37 32 4C 6F 63 61 =98021012272Loca
0090 6C 20 20 20 4D 65 72 63 68 61 6E 74 31 32 33 34 l MMMMMMMM1234
00a0 35 36 37 30 30 34 36 37 31 31 38 36 42 30 42 38 567004671186B0B8
00b0 31 30 39 33 31 33 30 32 45 33 34 32 45 33 33 36 10931302E342E336
00c0 46 30 34 38 39 30 32 33 30 33 30 36 32 30 33 38 F048902303062038
00d0 31 30 31 33 30 33 36 34 36 39 34 34 45 37 35 36 101303646944E756
00e0 31 36 45 43 35 44 42 37 30 30 36 38 38 38 39 39 16EC5DB700688899
00f0 39 30 30 36 30 30 30 30 30 31 30 36 36 32 37 33 9006000001066273
0100 38 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 8111111111111111
0110 31 31 11
-->
但我只想获取以下部分信息:
30 32 30 30 45 32 33 45 30 36 38 31 32 30 43 31
39 30 30 43 30 30 30 30 30 30 30 30 31 30 30 30
30 30 30 31 31 36 36 32 37 33 38 31 32 30 36 30
30 30 31 33 35 36 33 31 30 30 30 30 30 34 30 34
30 31 34 30 32 31 32 31 39 32 32 35 30 31 34 30
32 31 30 34 30 34 39 38 30 32 30 38 30 38 30 32
31 30 30 30 30 32 30 36 36 32 37 33 38 31 32 38
36 32 37 33 38 31 32 30 36 30 30 30 31 33 35 36
3D 39 38 30 32 31 30 31 32 32 37 32 4C 6F 63 61
6C 20 20 20 4D 65 72 63 68 61 6E 74 31 32 33 34
35 36 37 30 30 34 36 37 31 31 38 36 42 30 42 38
31 30 31 33 30 33 36 34 36 39 34 34 45 37 35 36
31 36 45 43 35 44 42 37 30 30 36 38 38 38 39 39
39 30 30 36 30 30 30 30 30 31 30 36 36 32 37 33
38 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
31 31
另一方面,我只想获取在采样器中为将要发送的请求生成的十六进制字符串。如何从采样器中获取它?
谢谢
解决方案
您似乎正在使用ISOUtil.hexdump(...)
, 使用ISOUtil.hexString(...)
方法。
推荐阅读
- python - 不能按照我想要的方式附加 2 个字符串
- soap - 使用 Nginx 反向代理限制 SOAP 调用
- excel - 您如何防止调整形状/文本框的大小但允许移动?
- sqlite - 为什么 PRAGMA schema.index_list(table-name); 不显示主键?
- python-3.x - Beautifulsoup 对数组中文本的抓取问题
- python - pygame.Rect.move_ip() 不更新 rect 属性
- java - 如何将 JavaFX GridPane 替换为另一个?我尝试并收到重复错误
- latex - 乳胶逐字:如何显示由树命令创建的文件目录?
- angular - 如何在 Angular 6 中处理页面上的多个下拉过滤器?
- javascript - 使用 lodash 显示嵌套 json 的所有值