|
From: <kc...@us...> - 2003-06-17 04:28:03
|
Update of /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/handler In directory sc8-pr-cvs1:/tmp/cvs-serv27446/src/hk/hku/cecid/phoenix/message/handler Modified Files: MessageServer.java MessageServiceHandler.java Log Message: significant commit: we throw away the dependency on JAXM for serialization of SOAP message. now, we control the MIME headers, content transfer encoding and serialization of SOAP messages. The sole purpose is to support reading of payload data ONLY when sending out. In the past, JAXM will load the payload to memory for preparing data, which will limits the maximum size of the payload to be sent. Index: MessageServer.java =================================================================== RCS file: /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/handler/MessageServer.java,v retrieving revision 1.138 retrieving revision 1.139 diff -C2 -d -r1.138 -r1.139 *** MessageServer.java 29 May 2003 14:20:16 -0000 1.138 --- MessageServer.java 17 Jun 2003 04:28:01 -0000 1.139 *************** *** 76,79 **** --- 76,80 ---- import hk.hku.cecid.phoenix.message.packaging.MessageHeader; import hk.hku.cecid.phoenix.message.packaging.MessageOrder; + import hk.hku.cecid.phoenix.message.packaging.PayloadContainer; import java.io.*; import java.net.URL; *************** *** 3578,3581 **** --- 3579,3583 ---- } + ArrayList payloads = new ArrayList(); if (boundary != null && withAttachments) { lastIndex = line.length - 1; *************** *** 3706,3710 **** } } ! soapMessage.addAttachmentPart(attachment); offset += (length + line.length); --- 3708,3725 ---- } } ! // soapMessage.addAttachmentPart(attachment); ! if (EbxmlMessage.needPatch) { ! String contentId = attachment.getContentId(); ! if (!contentId.startsWith("<") || ! !contentId.endsWith(">")) { ! contentId = "<" + contentId + ">"; ! } ! payloads.add(new PayloadContainer(attachment, ! contentId, null)); ! } ! else { ! payloads.add(new PayloadContainer(attachment, ! attachment.getContentId(), null)); ! } offset += (length + line.length); *************** *** 3724,3727 **** --- 3739,3743 ---- if (withAttachments) { EbxmlMessage message = new EbxmlMessage(soapMessage); + message.setPayloadContainers(payloads); message.setFileName(file.getCanonicalPath()); logger.debug("<= MessageServer.getMessageFromFile"); Index: MessageServiceHandler.java =================================================================== RCS file: /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/handler/MessageServiceHandler.java,v retrieving revision 1.169 retrieving revision 1.170 diff -C2 -d -r1.169 -r1.170 *** MessageServiceHandler.java 27 May 2003 02:44:56 -0000 1.169 --- MessageServiceHandler.java 17 Jun 2003 04:28:01 -0000 1.170 *************** *** 1864,1869 **** else { try { ! final String contentType = ret.getSOAPMessage(). ! getMimeHeaders().getHeader(Constants.CONTENT_TYPE)[0]; response.setContentType(contentType); response.setStatus(HttpServletResponse.SC_OK); --- 1864,1880 ---- else { try { ! String contentType; ! if (ret.getPayloadCount() > 0) { ! contentType = Constants.MULTIPART_RELATED_TYPE ! + "\"" + ret.getMimeBoundary() + "\"; " ! + Constants.CHARACTER_SET + "=\"" ! + Constants.CHARACTER_ENCODING + "\"; " ! + Constants.START + "=\"<" ! + EbxmlMessage.SOAP_PART_CONTENT_ID + ">\""; ! } ! else { ! contentType = ret.getSOAPMessage(). ! getMimeHeaders().getHeader(Constants.CONTENT_TYPE)[0]; ! } response.setContentType(contentType); response.setStatus(HttpServletResponse.SC_OK); |