|
From: Arnstein V. <ar...@ki...> - 2006-09-07 13:00:22
|
Thanks for the clarification - then I don't know why I couldn't get it = to work, I'm quite sure my smtp config was correct as I was able to send = messages trough hermes, just not deliver ack's.=20 It's not so important for me any more - but if someone can see what's = wrong from the following log transcript I'd be happy to know about it: I've been trying to set up Hermes to recieve messages from the ebMail = client application, and send read acknowledgements, but it looks like = Hermes isn't sending the requested acks. =20 I check off "request read reciept" in ebMail (using the default PO = example plugin). Looking at the message repository for Hermes, it seems = like Hermes is preparing the acknowledgements, it just doesn't seem like = it gets sent. Am I missing something...? Here is some of the log data for the reception of the message:=20 >=20 >-18 11:47:35,556 DEBUG [Thread-12]: polling mail server for messages >2005-11-18 11:47:35,556 DEBUG [Thread-12]: =3D> Mail.receive >2005-11-18 11:47:35,556 INFO [Thread-12]: Receiving pop3 messages from=20 >pop3.domeneshop.no<INBOX> >2005-11-18 11:47:38,748 DEBUG [Thread-12]: <=3D Mail.receive >2005-11-18 11:47:38,748 DEBUG [Thread-12]: got 1 messages >2005-11-18 11:47:38,748 INFO [Thread-12]: Received a message from SMTP >2005-11-18 11:47:38,748 DEBUG [Thread-12]: =3D>=20 >MessageServiceHandler.onMessage >2005-11-18 11:47:38,748 DEBUG [Thread-12]: =3D>=20 >MessageServiceHandler.dispatchMessage >2005-11-18 11:47:38,748 DEBUG [Thread-12]: =3D>=20 >MessageServiceHandler.hasSignature >2005-11-18 11:47:38,748 DEBUG [Thread-12]: <=3D=20 >MessageServiceHandler.hasSignature >2005-11-18 11:47:38,748 DEBUG [Thread-12]: validating incoming ebXML=20 >message >2005-11-18 11:47:38,758 DEBUG [Thread-12]: validation of incoming=20 >message ok >2005-11-18 11:47:38,768 DEBUG [Thread-12]: =3D> = MessageServer.hasReceived >2005-11-18 11:47:38,768 DEBUG [Thread-12]: =3D>=20 >DbConnectionPool.getConnection >2005-11-18 11:47:38,768 DEBUG [Thread-12]: <=3D=20 >DbConnectionPool.getConnection >2005-11-18 11:47:38,768 DEBUG [Thread-12]: <=3D = MessageServer.hasReceived >2005-11-18 11:47:38,768 DEBUG [Thread-12]: message has an AckReq >2005-11-18 11:47:38,768 DEBUG [Thread-12]: =3D> = MessageServer.hasReceived >2005-11-18 11:47:38,768 DEBUG [Thread-12]: <=3D = MessageServer.hasReceived >2005-11-18 11:47:38,768 DEBUG [Thread-12]: message has not been=20 >received previously >2005-11-18 11:47:38,768 DEBUG [Thread-12]: final sequence number in=20 >store: -9998 >2005-11-18 11:47:38,768 DEBUG [Thread-12]: =3D> MessageServer.store >2005-11-18 11:47:38,768 DEBUG [Thread-12]: Message haven't persisted >2005-11-18 11:47:38,768 DEBUG [Thread-12]: Try to persist to=20 >R0000\message32784 >2005-11-18 11:47:38,778 DEBUG [Thread-12]: Message Persisted to=20 >R0000\message32784 on persitence handler >2005-11-18 11:47:38,778 DEBUG [Thread-12]: insert into messagestore=20 >database >2005-11-18 11:47:38,778 DEBUG [Thread-12]: <=3D MessageServer.store >2005-11-18 11:47:38,778 DEBUG [Thread-12]: =3D>=20 >MessageServiceHandler.generateAcknowledgment >2005-11-18 11:47:38,818 DEBUG [Thread-12]: <=3D=20 >MessageServiceHandler.generateAcknowledgment >2005-11-18 11:47:38,818 DEBUG [Thread-12]: =3D> Transaction.commit = (txID:=20 >#7) >2005-11-18 11:47:38,818 DEBUG [Thread-12]: =3D>=20 >DbConnectionPool.freeConnection >2005-11-18 11:47:38,818 DEBUG [Thread-12]: <=3D=20 >DbConnectionPool.freeConnection >2005-11-18 11:47:38,818 DEBUG [Thread-12]: <=3D Transaction.commit >2005-11-18 11:47:38,818 DEBUG [Thread-12]: final sequence number in=20 >store: -9999 >2005-11-18 11:47:38,818 DEBUG [Thread-12]: =3D> MessageServer.store >2005-11-18 11:47:38,818 DEBUG [Thread-12]: insert into reftomessage=20 >database >2005-11-18 11:47:38,818 DEBUG [Thread-12]: =3D>=20 >DbConnectionPool.getConnection >2005-11-18 11:47:38,818 DEBUG [Thread-12]: <=3D=20 >DbConnectionPool.getConnection >2005-11-18 11:47:38,818 DEBUG [Thread-12]: Message haven't persisted >2005-11-18 11:47:38,818 DEBUG [Thread-12]: Try to persist to=20 >R0000\message32785 >2005-11-18 11:47:38,828 DEBUG [Thread-12]: Message Persisted to=20 >R0000\message32785 on persitence handler >2005-11-18 11:47:38,828 DEBUG [Thread-12]: insert into messagestore=20 >database >2005-11-18 11:47:38,828 DEBUG [Thread-12]: <=3D MessageServer.store >2005-11-18 11:47:38,828 DEBUG [Thread-12]: Ack replied synchronously >2005-11-18 11:47:38,828 DEBUG [Thread-12]: =3D>=20 >MessageServer.logReceivedMessage >2005-11-18 11:47:38,828 DEBUG [Thread-12]: <=3D=20 >MessageServer.logReceivedMessage >2005-11-18 11:47:38,828 DEBUG [Thread-12]: <=3D=20 >MessageServiceHandler.dispatchMessage >2005-11-18 11:47:38,828 DEBUG [Thread-12]: =3D> Transaction.commit = (txID:=20 >#7) >2005-11-18 11:47:38,828 DEBUG [Thread-12]: =3D>=20 >DbConnectionPool.freeConnection >2005-11-18 11:47:38,828 DEBUG [Thread-12]: <=3D=20 >DbConnectionPool.freeConnection >2005-11-18 11:47:38,828 DEBUG [Thread-12]: <=3D Transaction.commit >2005-11-18 11:47:38,828 DEBUG [Thread-12]: <=3D=20 >MessageServiceHandler.onMessage >2005-11-18 11:47:47,452 INFO [http-8080-Processor25]: Process command:=20 >Get message (32) >2005-11-18 11:47:47,452 DEBUG [http-8080-Processor25]: =3D>=20 >MessageServiceHandler.processCommand >2005-11-18 11:47:47,452 DEBUG [http-8080-Processor25]: =3D>=20 >MessageServiceHandler.getMessage >2005-11-18 11:47:47,452 DEBUG [http-8080-Processor25]: =3D>=20 >MessageServiceHandler.getNextUndeliveredMessage >2005-11-18 11:47:47,452 DEBUG [http-8080-Processor25]: =3D>=20 >MessageServer.getUndeliveredMessages >2005-11-18 11:47:47,452 DEBUG [http-8080-Processor25]: =3D>=20 >DbConnectionPool.getConnection >2005-11-18 11:47:47,452 DEBUG [http-8080-Processor25]: <=3D=20 >DbConnectionPool.getConnection >2005-11-18 11:47:47,462 DEBUG [http-8080-Processor25]: <=3D=20 >MessageServer.getUndeliveredMessages >2005-11-18 11:47:47,462 DEBUG [http-8080-Processor25]: =3D>=20 >MessageServer.setFileDeliveryStatus >2005-11-18 11:47:47,462 DEBUG [http-8080-Processor25]: <=3D=20 >MessageServer.setFileDeliveryStatus >2005-11-18 11:47:47,462 DEBUG [http-8080-Processor25]: =3D>=20 >MessageServer.getMessageFromDataSource >2005-11-18 11:47:47,533 DEBUG [http-8080-Processor25]: <=3D=20 >MessageServiceHandler.getNextUndeliveredMessage with messageId:=20 >20051118-104728257-PO.po.PO.2@192.168.1.27=20 ><http://service.com/%3Ca%20href=3D> "=20 >target=3D"_new">http://service.com/po.PO.2@192.168.1.27=20 ><mailto:po.PO.2@192.168.1.27%3C/a> > >2005-11-18 11:47:47,533 DEBUG [http-8080-Processor25]: =3D>=20 >Transaction.commit (txID: #8) >2005-11-18 11:47:47,533 DEBUG [http-8080-Processor25]: =3D>=20 >DbConnectionPool.freeConnection >2005-11-18 11:47:47,533 DEBUG [http-8080-Processor25]: <=3D=20 >DbConnectionPool.freeConnection >2005-11-18 11:47:47,533 DEBUG [http-8080-Processor25]: <=3D=20 >Transaction.commit >2005-11-18 11:47:47,543 DEBUG [http-8080-Processor25]: <=3D=20 >MessageServiceHandler.getMessage >2005-11-18 11:47:47,543 DEBUG [http-8080-Processor25]: <=3D=20 >MessageServiceHandler.processCommand > > -----Opprinnelig melding----- Fra: ebx...@li... = [mailto:ebx...@li...] P=E5 vegne av = Patrick Yee Sendt: 7. september 2006 14:45 Til: General discussions Emne: Re: [ebxmlms-general] Hermes servlet problem Hello, It seems that there are some confusions here, so I have checked and=20 traced the source code once again. And here is my finding: 1. I found that the ACK over SMTP does work. So I apologize for I have=20 given out wrong information to the list before. 2. The reason why the line 464 of MessageServiceHandler.java ignores the = returned ACK is that, the returned message would only be processed in=20 the case of SYNC_REPLY. In SMTP case, all messages are sent in=20 asynchronous mode. Therefore, in our mail handling method, we ignore the = message generated for synchronous response, and the message generated=20 for asynchronous response will be processed before the return of the=20 onMessage() method. 3. Like DW has said, we don't recommend to use it when it is deployed in = an open environment, where the latency of the network is too = unpredictable. Hope this removes the confusion caused. Sorry about that, again. Regards, -Patrick Arnstein Vestad wrote: > That's very interesting to hear - it all seemed very strange when I = tried it and I researched both on this list and by contacting the = developers who seemed to confirm my findings that acknowledgement = messages was generated and persisted locally, but never transmitted over = the SMTP. When I researched the problem I also got this message from = Patrick:=20 > > =20 >> This probably is a bug. Hermes cannot handle well of the ACK message = when >working with SMTP protocol. For details, please see line 464 of = >MessageServiceHandler.java in the latest source tree. The handler = simply >ignore the ACK message generated. >> >> Regards, -Patrick >> =20 > > We're currently not planning to implement hermes again - but if we do = I'll give you a call, always nice working with you! > > > -----Opprinnelig melding----- > Fra: ebx...@li... = [mailto:ebx...@li...] P=E5 vegne av = Torsten Kirschner > Sendt: 7. september 2006 13:23 > Til: 'General discussions' > Emne: Re: [ebxmlms-general] Hermes servlet problem > > Hi again, > > those are two different statements, "Hermes1 doesn't support ebxml = reliable > messaging over the SMTP protocol" and "we certainly couldn't get it > working". > The first is incorrect, while I take your word for the second. > > I do not know what Patrick means by "a complete acknowledgement = mechanism on > SMTP". The ebXML reliable messaging in Hermes1 is transport-agnostic. = The > SMTP/POP transport adapter is certainly very simple, but then again, = so are > these protocols. Altogether it just works. There is no "problem". > > We have it running in production, interoperable with different ebXML = MS > implementations. > If You are interested, I could show You how it's done.=20 > > best regards > Torsten > > -----Opprinnelig melding----- > Fra: ebx...@li... > [mailto:ebx...@li...] P=E5 vegne av = Arnstein > Vestad > Sendt: 7. september 2006 10:03 > Til: General discussions > Emne: Re: [ebxmlms-general] Hermes servlet problem > > > =20 >> Torsten Kirschner >> Sendt: 7. september 2006 08:17 >> Til: 'General discussions' >> Emne: Re: [ebxmlms-general] [SPAM] - Hermes servlet problem >> =20 > -BayesianFilter >detected spam > > =20 >> Hi Arnstein, >> >> I think You might be wrong here.=20 >> >> Hermes1 does support reliable messaging, and if I recall correctly, >> =20 > this is > =20 >> implemented in a transport-agnostic way.=20 >> >> Anyway, I have seen Hermes1 both send and receive acknowledgement >> =20 > messages, > =20 >> as well as re-send messages if an acknowledgement was not received in >> =20 > time. > =20 >> All over SMTP. >> =20 > > Well - we certainly couldn't get it working, and this is all very = strange, > as I had confirmation of the problem from the developers as well as an = offer > of paid consulting work to fix it: > > > =20 >>>> -----Opprinnelig melding----- >>>> Fra: Patrick Yee [mailto:kc...@ce...] >>>> Sendt: 20. januar 2006 03:51 >>>> Til: Arnstein Vestad >>>> Kopi: 'ope...@ce...' >>>> Emne: Re: Smtp-fix for Hermes 1 >>>> >>>> Hi Arnstein, >>>> >>>> Thanks for using Hermes. >>>> >>>> We did not implement a complete acknowledgment mechanism on SMTP.=20 >>>> =20 > [...] > > > = -------------------------------------------------------------------------= > Using Tomcat but need to do more? Need to support web services, = security? > Get stuff done quickly with pre-integrated technology to make your job = easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo > = http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 > _______________________________________________ > ebxmlms-general mailing list > ebx...@li... > https://lists.sourceforge.net/lists/listinfo/ebxmlms-general > > = -------------------------------------------------------------------------= > Using Tomcat but need to do more? Need to support web services, = security? > Get stuff done quickly with pre-integrated technology to make your job = easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo > = http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 > _______________________________________________ > ebxmlms-general mailing list > ebx...@li... > https://lists.sourceforge.net/lists/listinfo/ebxmlms-general > > =20 --=20 Regards, Patrick Yee Center for E-Commerce Infrastructure Development Making E-Commerce Everyday Commerce -------------------------------------------------------------------------= Using Tomcat but need to do more? Need to support web services, = security? Get stuff done quickly with pre-integrated technology to make your job = easier Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 _______________________________________________ ebxmlms-general mailing list ebx...@li... https://lists.sourceforge.net/lists/listinfo/ebxmlms-general |