public static ISOMsg objectToIso8583( ISOBasePackager packager, Object jaxbObj, Map<String, String> mappings) { ISOMsg res = Iso8583Util.emptyMsg(packager); try { for (String key : mappings.keySet()) { String oPath = mappings.get(key); Object value = BCUtils.extractFromJaxbObjByOPath(jaxbObj, oPath); debug("oPath=" + oPath + ", value=" + value); String strVal = ""; if (value == null) { strVal = ""; } else if (value instanceof Date) { strVal = ISODate.getDateTime((Date) value); } else { strVal = value.toString(); } Integer fldPos = Integer.valueOf(key); Iso8583Util.setField(res, fldPos, strVal); } } catch (Exception ex) { ex.printStackTrace(); throw new RuntimeException(ex); } return res; }