|
From: <cy...@us...> - 2003-05-21 15:09:22
|
Update of /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/handler
In directory sc8-pr-cvs1:/tmp/cvs-serv20508
Modified Files:
Tag: b0931
MessageServer.java MessageServiceHandler.java
Log Message:
Bug fix: cannot get undelivered messages with MessageOrder semantics.
Index: MessageServer.java
===================================================================
RCS file: /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/handler/MessageServer.java,v
retrieving revision 1.119.2.8
retrieving revision 1.119.2.9
diff -C2 -d -r1.119.2.8 -r1.119.2.9
*** MessageServer.java 20 May 2003 08:57:09 -0000 1.119.2.8
--- MessageServer.java 21 May 2003 15:09:16 -0000 1.119.2.9
***************
*** 3418,3421 ****
--- 3418,3426 ----
static EbxmlMessage getMessageFromFile(File file)
throws MessageServerException {
+ return (EbxmlMessage) getMessageFromFile(file, true);
+ }
+
+ static Object getMessageFromFile(File file, boolean withAttachments)
+ throws MessageServerException {
logger.debug("=> MessageServer.getMessageFromFile");
***************
*** 3502,3510 ****
final MimeHeaders headers = new MimeHeaders();
headers.addHeader(Constants.CONTENT_TYPE, Constants.TEXT_XML_TYPE);
! final SOAPMessage soapMessage = MessageFactory.newInstance().
! createMessage (headers, new ByteArrayInputStream
! (soapMessageBytes, 0, lastIndex + 1));
! if (boundary != null) {
lastIndex = line.length - 1;
for ( ; lastIndex >= 0 ; lastIndex--) {
--- 3507,3524 ----
final MimeHeaders headers = new MimeHeaders();
headers.addHeader(Constants.CONTENT_TYPE, Constants.TEXT_XML_TYPE);
! final SOAPMessage soapMessage;
! try {
! soapMessage = MessageFactory.newInstance().createMessage
! (headers, new ByteArrayInputStream(soapMessageBytes, 0,
! lastIndex + 1));
! }
! catch (Exception e) {
! String err = ErrorMessages.getMessage
! (ErrorMessages.ERR_SOAP_CANNOT_CREATE_OBJECT, e);
! logger.warn(err);
! throw new MessageServerException(err);
! }
! if (boundary != null && withAttachments) {
lastIndex = line.length - 1;
for ( ; lastIndex >= 0 ; lastIndex--) {
***************
*** 3650,3657 ****
fileStream.close();
! EbxmlMessage ret = new EbxmlMessage(soapMessage);
! ret.setFileName(file.getCanonicalPath());
logger.debug("<= MessageServer.getMessageFromFile");
! return ret;
}
catch (MessageServerException e) {
--- 3664,3676 ----
fileStream.close();
! if (withAttachments) {
! EbxmlMessage message = new EbxmlMessage(soapMessage);
! message.setFileName(file.getCanonicalPath());
! logger.debug("<= MessageServer.getMessageFromFile");
! return message;
! }
!
logger.debug("<= MessageServer.getMessageFromFile");
! return soapMessage;
}
catch (MessageServerException e) {
Index: MessageServiceHandler.java
===================================================================
RCS file: /cvsroot/ebxmlms/ebxmlms/src/hk/hku/cecid/phoenix/message/handler/MessageServiceHandler.java,v
retrieving revision 1.148.2.16
retrieving revision 1.148.2.17
diff -C2 -d -r1.148.2.16 -r1.148.2.17
*** MessageServiceHandler.java 21 May 2003 08:10:53 -0000 1.148.2.16
--- MessageServiceHandler.java 21 May 2003 15:09:17 -0000 1.148.2.17
***************
*** 615,620 ****
try {
String fileName = (String) results.get(i);
! EbxmlMessage ebxmlMessage = MessageServer.
! getMessageFromFile(new File(fileName));
messageListener.onMessage(ebxmlMessage);
tx = new Transaction(MessageServer.dbConnectionPool);
--- 615,621 ----
try {
String fileName = (String) results.get(i);
! EbxmlMessage ebxmlMessage =
! MessageServer.getMessageFromFile
! (new File(msh.messageRepository, fileName));
messageListener.onMessage(ebxmlMessage);
tx = new Transaction(MessageServer.dbConnectionPool);
***************
*** 2069,2072 ****
--- 2070,2081 ----
int seqNo = ((Integer) list.get(1)).intValue();
String fileName = (String) list.get(2);
+
+ if (conversationId.equals(WILD_CARD)) {
+ SOAPMessage soapMessage = (SOAPMessage)
+ MessageServer.getMessageFromFile
+ (new File(messageRepository, fileName), false);
+ EbxmlMessage ebxmlMessage = new EbxmlMessage(soapMessage);
+ conversationId = ebxmlMessage.getConversationId();
+ }
DeliveryRecord record = null;
|