/** * Create the root element for this message. * You must override this. * @return The root element. */ public Object unmarshalRootElement(Reader inStream, BaseXmlTrxMessageIn soapTrxMessage) throws Exception { String xml = Utility.transferURLStream(null, null, inStream, null); soapTrxMessage.getMessage().setXML(xml); return xml; } /**
/** * Convert this source message to the ECXML format. * Typically you do not override this method, you override the getTransformer method * to supply a XSLT document to do the conversion. * @param source The source XML document. */ public int convertExternalToInternal(Object recordOwner) { if (this.getXSLTDocument() == null) return super.convertExternalToInternal(recordOwner); String strXML = this.getXML(); strXML = this.transformMessage(strXML, null); // Now use the XSLT document to convert this XSL document. boolean bSuccess = this.getMessage().setXML(strXML); return bSuccess ? DBConstants.NORMAL_RETURN : DBConstants.ERROR_RETURN; } }
/** * CreateMessage Method. */ public BaseMessage createMessage(BaseMessageHeader messageHeader, MessageRecordDesc messageDataDesc) { BaseMessage message = null; String strMessageClassName = this.getField(MessageLog.kMessageClassName).toString(); message = BaseMessage.createMessage(strMessageClassName, messageHeader, null); if (messageDataDesc != null) message.addMessageDataDesc(messageDataDesc); if (messageHeader instanceof TrxMessageHeader) { if (message == null) message = BaseMessage.createMessage((TrxMessageHeader)messageHeader); if (message == null) message = new TreeMessage((TrxMessageHeader)messageHeader, null); } String strXMLData = this.getField(MessageLog.kXMLMessageData).getString(); message.setXML(strXMLData); return message; } /**
/** * Convert the external form to the internal message form. * You must override this method. * @param externalMessage The received message to be converted to internal form. * @return The internal message. */ public int convertExternalToInternal(Object recordOwner) { String strMessage = (String)this.getRawData(); strMessage = this.stripHtmlTags((String)strMessage); Map<String,Object> map = this.getEMailParams(strMessage); this.moveHeaderParams(map, ((TrxMessageHeader)this.getMessage().getMessageHeader()).getMessageHeaderMap()); String rootTag = BaseMessage.ROOT_TAG; if (this.getMessage() != null) if (this.getMessage().getMessageDataDesc(null) != null) if (this.getMessage().getMessageDataDesc(null).getKey() != null) rootTag = this.getMessage().getMessageDataDesc(null).getKey(); StringBuffer sb = new StringBuffer(); Util.addStartTag(sb, rootTag); Util.addXMLMap(sb, map); Util.addEndTag(sb, rootTag); String strXML = sb.toString(); if (this.getXSLTDocument() != null) strXML = this.transformMessage(strXML, null); // Now use the XSLT document to convert this XSL document. boolean bSuccess = this.getMessage().setXML(strXML); return bSuccess ? DBConstants.NORMAL_RETURN : DBConstants.ERROR_RETURN; } /**