jmeteriso8583jpos

JMeter iso8583 jpos plugin - invalid padding


sorry this may be pretty simple, but i just couldn't get it to work. I have configured JMeter iso8583 plugin. Have configured thes sampler with a simple echo message. and have the configuration file with fields set to IFB or IFE as required. However, when it's finally parsed, its sent as below.

<isomsg>
  <!-- org.jpos.iso.packager.GenericPackager[C:/apache-jmeter-5.6.3/iso93ebcdic-custom.xml] -->
  <header>C9E2D6F8F5F8F360F1F9F8F7F0F0F1F0F0F0F0F0F0</header>
  <field id="0" value="0800"/>
  <field id="7" value="0102476543"/>
  <field id="11" value="830118"/>
  <field id="37" value="123456789012"/>
  <field id="70" value="301"/>
</isomsg>

<!--
0000  08 00 82 20 00 00 08 00  00 00 04 00 00 00 00 00  ... ............
0010  00 00 01 02 47 65 43 83  01 18 F1 F2 F3 F4 F5 F6  ....GeC.........
0020  F7 F8 F9 F0 F1 F2 30 10                           ......0.
-->

The padding for the last field 70 is a zero added to end But what is want is zero added to front.

<isomsg>
  <!-- org.jpos.iso.packager.GenericPackager[C:/apache-jmeter-5.6.3/iso93ebcdic-custom.xml] -->
  <header>C9E2D6F8F5F8F360F1F9F8F7F0F0F1F0F0F0F0F0F0</header>
  <field id="0" value="0800"/>
  <field id="7" value="0102476543"/>
  <field id="11" value="830118"/>
  <field id="37" value="123456789012"/>
  <field id="70" value="301"/>
</isomsg>

<!--
0000  08 00 82 20 00 00 08 00  00 00 04 00 00 00 00 00  ... ............
0010  00 00 01 02 47 65 43 83  01 18 F1 F2 F3 F4 F5 F6  ....GeC.........
0020  F7 F8 F9 F0 F1 F2 03 01                           ......0.
-->

packager file:

 <isofield
      id="70"
      length="3"
      name="Country code, authorizing agent Inst."    
      class="org.jpos.iso.IFB_NUMERIC"/>

any help is highly appreciated

Thanks Apr for your answer it did solve the issue. Opening a new question as per your suggestion for the other issue.


Solution

  • The field packager configuration accepts a 'pad' attribute. You can change your field 70 configuration to look like this:

    <isofield
          id="70"
          length="3"
          name="Country code, authorizing agent Inst."    
          class="org.jpos.iso.IFB_NUMERIC"
          pad="true" />