docs: public BaseMessageTransport getMessageTransport(BaseMessage internalTrxMessage)
      {
          TrxMessageHeader messageHeader = (TrxMessageHeader)internalTrxMessage.getMessageHeader();
          BaseMessageTransport transport = null;
          Map<String,Object> propMessageTransport = null;
          String strMessageType = (String)messageHeader.get(MessageTransportModel.SEND_MESSAGE_BY_PARAM);
          if (strMessageType != null)
          {
              String strClassName = null;
              Record recMessageTransport = this.getRecord(MessageTransportModel.MESSAGE_TRANSPORT_FILE);
              if (recMessageTransport == null)
                  recMessageTransport = Record.makeRecordFromClassName(MessageTransportModel.THICK_CLASS, this);
              recMessageTransport.setKeyArea(MessageTransportModel.CODE_KEY);
              recMessageTransport.getField(MessageTransportModel.CODE).setString(strMessageType);
              try {
                  if (recMessageTransport.seek(null))
                  {
                      PropertiesField fldProperty = (PropertiesField)recMessageTransport.getField(MessageTransportModel.PROPERTIES);
                      strClassName = fldProperty.getProperty(MessageTransportModel.TRANSPORT_CLASS_NAME_PARAM);
                      Map<String,Object> mapToMerge = messageHeader.getMessageTransportMap();
                      propMessageTransport = fldProperty.loadProperties();
                      if (mapToMerge != null)
                          propMessageTransport.putAll(mapToMerge);
                      messageHeader.setMessageTransportMap(propMessageTransport);
                  }
              } catch (DBException ex) {
                  ex.printStackTrace();
              }
              
              String strBasePackage = SOAPMessageTransport.class.getName();
              strBasePackage = strBasePackage.substring(0, strBasePackage.lastIndexOf('.'));    // Get rid of class name
              strBasePackage = strBasePackage.substring(0, strBasePackage.lastIndexOf('.'));    // Get rid of last package name
              if ((strClassName == null) || (strClassName.length() == 0))
              {
                  strClassName = strBasePackage + '.' + strMessageType.toLowerCase();
                  strClassName = strClassName + '.' + strMessageType + "MessageTransport";
              }
              transport = (BaseMessageTransport)ClassServiceUtility.getClassService().makeObjectFromClassName(strClassName);
          }
          if (transport == null)
          {
              Utility.getLogger().warning("No transport specified on message");
              transport = new SOAPMessageTransport();         // Default = SOAP
          }
          transport.init(this.getTask(), null, propMessageTransport);
          return transport;
      }