title: J8583: ISO8583 MessageFactory has no parsing guide for message type 0800
body: <p>I am using j8583 iso parser for ISO message (0800 2020000000800000 000000 000001 3239313130303031).</p>
  
  <p><strong>Below is my java code:</strong></p>
  
  <pre><code>public class ISOUtility {
  
      private static BufferedReader reader;
  
      private static String getMessage() throws IOException {
          if (reader == null) {
              reader = new BufferedReader(new InputStreamReader(System.in));
          }
       //   System.out.println("Paste your ISO8583 message here (no ISO headers): ");
          return "0800 2020000000800000 000000 000001 3239313130303031";
      }
  
      public static void main(String [] args) throws IOException, ParseException {
  
          final MessageFactory&lt;IsoMessage&gt; mf = new MessageFactory&lt;IsoMessage&gt;();
  
         if (1 == 0) {
  
  
          //  ConfigParser.createFromClasspathConfig("j8583.xml");
              ConfigParser.configureFromDefault(mf);
  
  
          }  else {
  
              String path="C:\\Users\\DELL\\workspace\\SolabParser\\j8583.xml";
              if (System.console() != null) {
                  System.console().printf("Attempting to configure MessageFactory from %s...%n", path);
  
              }
              System.out.println("Messagefactory is done");
              String url = "j8583.xml";
              if (path.contains("://")) {
                  System.out.println("else ");
  
                  ConfigParser.configureFromUrl(mf, new URL(path));
              } else {
                  System.out.println("else ");
                  ConfigParser.configureFromUrl(mf, new File(path).toURI().toURL());
              }
          }
          //Now read messages in a loop
          String line = getMessage();
          while (line != null &amp;&amp; line.length() &gt; 0) {
              IsoMessage m = mf.parseMessage(line.getBytes(), 14);
              if (m != null) {
                  System.out.printf("Message type: %04x%n", m.getType());
                  System.out.println("FIELD TYPE    VALUE");
                  for (int i = 2; i &lt;= 128; i++) {
                      IsoValue&lt;?&gt; f = m.getField(i);
                      if (f != null) {
                          System.out.printf("%5d %-6s [", i, f.getType());
                          System.out.print(f.toString());
                          System.out.println(']');
                      }
                  }
              }
              line = getMessage();
          }
      }
  }
  </code></pre>
  
  <p><strong>Below is config file.</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;!DOCTYPE j8583-config PUBLIC "-//J8583//DTD CONFIG 1.0//EN"
      "http://j8583.sourceforge.net/j8583.dtd"&gt;
  &lt;j8583-config&gt;
  &lt;!-- This is a test config file --&gt;
  
  &lt;!-- These are the ISO headers to be prepended to the message types specified --&gt;
  &lt;header type="0800"&gt;&lt;/header&gt;
  
  &lt;template type="0280"&gt;
      &lt;field num="3" type="NUMERIC" length="2"&gt;99&lt;/field&gt;
  &lt;/template&gt;
  
  &lt;!-- The server example uses this to read the requests --&gt;
  &lt;parse type="0200"&gt;
      &lt;field num="3" type="NUMERIC" length="6" /&gt;
      &lt;field num="4" type="AMOUNT" /&gt;
      &lt;field num="7" type="DATE10" /&gt;
      &lt;field num="11" type="NUMERIC" length="6" /&gt;
      &lt;field num="12" type="TIME" /&gt;
      &lt;field num="13" type="DATE4" /&gt;
      &lt;field num="15" type="DATE4" /&gt;
      &lt;field num="17" type="DATE_EXP" /&gt;
      &lt;field num="32" type="LLVAR" /&gt;
      &lt;field num="35" type="LLVAR" /&gt;
      &lt;field num="37" type="NUMERIC" length="12" /&gt;
      &lt;field num="41" type="ALPHA" length="16" /&gt;
      &lt;field num="43" type="ALPHA" length="40" /&gt;
      &lt;field num="48" type="LLLVAR" /&gt;
      &lt;field num="49" type="ALPHA" length="3" /&gt;
      &lt;field num="60" type="LLLVAR" /&gt;
      &lt;field num="61" type="LLLVAR" /&gt;
      &lt;field num="100" type="LLVAR" /&gt;
      &lt;field num="102" type="LLVAR" /&gt;
  &lt;/parse&gt;
  
  &lt;!-- The client example uses this to read the responses --&gt;
  &lt;parse type="0210"&gt;
      &lt;field num="3" type="NUMERIC" length="6" /&gt;
      &lt;field num="4" type="AMOUNT" /&gt;
      &lt;field num="7" type="DATE10" /&gt;
      &lt;field num="11" type="NUMERIC" length="6" /&gt;
      &lt;field num="12" type="TIME" /&gt;
      &lt;field num="13" type="DATE4" /&gt;
      &lt;field num="15" type="DATE4" /&gt;
      &lt;field num="17" type="DATE_EXP" /&gt;
      &lt;field num="32" type="LLVAR" /&gt;
      &lt;field num="35" type="LLVAR" /&gt;
      &lt;field num="37" type="NUMERIC" length="12" /&gt;
      &lt;field num="38" type="NUMERIC" length="6" /&gt;
      &lt;field num="39" type="NUMERIC" length="2" /&gt;
      &lt;field num="41" type="ALPHA" length="16" /&gt;
      &lt;field num="43" type="ALPHA" length="40" /&gt;
      &lt;field num="48" type="LLLVAR" /&gt;
      &lt;field num="49" type="ALPHA" length="3" /&gt;
      &lt;field num="60" type="LLLVAR" /&gt;
      &lt;field num="61" type="LLLVAR" /&gt;
      &lt;field num="70" type="ALPHA" length="3" /&gt;
      &lt;field num="90" type="ALPHA" length="42" /&gt;
      &lt;field num="100" type="LLVAR" /&gt;
      &lt;field num="102" type="LLVAR" /&gt;
      &lt;field num="126" type="LLLVAR" /&gt;
  &lt;/parse&gt;
  
  &lt;!-- this is for binary tests (message encoding AND fields) --&gt;
  &lt;parse type="0600"&gt;
      &lt;field num="4" type="AMOUNT" /&gt;
      &lt;field num="7" type="DATE10" /&gt;
      &lt;field num="11" type="NUMERIC" length="6" /&gt;
      &lt;field num="41" type="BINARY" length="8" /&gt;
      &lt;field num="42" type="BINARY" length="4" /&gt;
      &lt;field num="43" type="ALPHA" length="40" /&gt;
      &lt;field num="62" type="LLBIN" /&gt;
      &lt;field num="63" type="LLBIN" /&gt;
      &lt;field num="64" type="LLLBIN" /&gt;
      &lt;field num="65" type="LLLBIN" /&gt;
      &lt;field num="102" type="LLLVAR" /&gt;
  &lt;/parse&gt;
  
  &lt;parse type="0800"&gt;
      &lt;field num="3" type="ALPHA" length="6"/&gt;
      &lt;field num="12" type="DATE4" legth="14"&gt;
      &lt;field num="17" type="DATE4" length="8"/&gt;
      &lt;field num="11" type="NUMERIC" length="6"/&gt;
      &lt;field num="41" type="LLVAR" length="16"/&gt;
  &lt;/parse&gt;
  
  &lt;parse type="0810" extends="0800"&gt;
      &lt;field num="17" type="exclude"/&gt;
      &lt;field num="39" type="ALPHA" length="2"/&gt;
  &lt;/parse&gt;
  
  &lt;parse type="0201"&gt;
      &lt;field num="3" type="NUMERIC" length="19" /&gt;
  &lt;/parse&gt;
  &lt;parse type="0202"&gt;
      &lt;field num="3" type="NUMERIC" length="22" /&gt;
  &lt;/parse&gt;
  &lt;parse type="0280"&gt;
      &lt;field num="3" type="NUMERIC" length="2" /&gt;
  &lt;/parse&gt;
  
  &lt;/j8583-config&gt;
  </code></pre>
  
  <p>I am using the message of type "0800" for which I am not using any header.</p>
  
  <p>I am getting an error while compiling program: 
  <strong>ISO8583 MessageFactory has no parsing guide for message type 0800</strong> </p>
  
  <p>Any help will be appreciated.</p>