String httpHeaders,
MimeParts mimeParts,
ElementLocation elementLocation)
{
// Create log entry
MessageEntry messageEntry = new MessageEntryImpl();
messageEntry.setId(id);
messageEntry.setConversationId(conversationID);
messageEntry.setType(type);
messageEntry.setTimestamp(timestamp);
messageEntry.setSenderHostAndPort(senderIPPort);
messageEntry.setReceiverHostAndPort(receiverIPPort);
messageEntry.setHTTPHeaders(httpHeaders);
messageEntry.setBOM(bom);
messageEntry.setElementLocation(elementLocation);
String encoding = null;
if (mimeParts == null)
{
// Get the encoding for this message content
encoding = Utils.getXMLEncoding(messageContent);
messageEntry.setMessage(messageContent);
messageEntry.setMimeContent(false);
}
else
{
messageEntry.setMimeParts(mimeParts);
MimePart root = Utils.findRootPart(httpHeaders, mimeParts.getParts());
if (root != null)
{
// Get the encoding for this message content
encoding = Utils.getXMLEncoding(root.getContent());
mimeParts.setRootPart(root);
}
// else empty body
messageEntry.setMimeContent(true);
}
if ((encoding == null) || (encoding.equals("")))
encoding = WSIConstants.DEFAULT_XML_ENCODING;
messageEntry.setEncoding(encoding);
return messageEntry;
}