Hi Glyn, I am just back from a personal trip to Canada. Thanks for your comments. Actually I am new to open source development and have not grasped the message package. So I just kept all the constructors from the MessageElement in my SOAPHeader. Happy to see SOAPHeader is added to the repository.
I will keep trying to add missing pieces, like Detail, DetailEntry etc., and send them to you. Xiaoping -----Original Message----- From: Glyn Normington [mailto:[EMAIL PROTECTED]] Sent: Monday, April 08, 2002 10:55 AM To: WEN,XIAO (HP-NewJersey,ex2) Cc: [EMAIL PROTECTED] Subject: Re: JAXM SOAP Package Xiaoping, I'd appreciate some help in implementing the JAXM SOAP package in Axis, so thanks for the offer! Sorry I haven't responded sooner - I was on vacation. I don't have much experience of JAXM, so you may find that some things you take for granted are not obvious to me - which should help us produce a good implementation! Firstly, this kind of communication is best kept to the Axis developer's mailing list. Please subscribe to that if you haven't already. This gives other developers a chance to comment. I've copied axis-dev on this reply, for example. Secondly, thanks for SOAPHeader.java. It prompted me to implement detachNode as previously I'd no-opped that. Thirdly, I do have some comments on the code in SOAPHeader.java: 1. (Boring, but important) It should contain the Apache license like other Axis source files. 2. There's no need to reproduce the javadoc from the interface -- including it causes dual maintenance. 3. I don't think we need many constructors. I think it would be sufficient to have a single package-scope constructor that can be called from SOAPEnvelope.getHeader. I don't see much point in being able to create a SOAPHeader in isolation given that it's basically just an aggregation of SOAPHeaderElement instances. 4. Maybe we should add a constructor to SOAPHeaderElement which takes a Name parameter. This will simplify addHeaderElement. 5. Maybe we should add a 'hasActor' method to SOAPHeaderElement which takes an actor string and returns true if and only if the actor matches the header element's actor value (coping with null values, of course). We could then: a) compress two loops into one in getHeaderElements, b) move the node detaching logic of getHeaderElements into extractHeaderElements, and c) merge getHeaderElements into examineHeaderElements. I think the resulting code will look quite a bit simpler, IMHO. Let me know what you think of the above comments and we'll take it from there. Thanks, Glyn "WEN,XIAO (HP-NewJersey,ex2 To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> )" cc: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>, "'[EMAIL PROTECTED]'" <xiao-ping_wen@hp <[EMAIL PROTECTED]> .com> Subject: 04/04/02 23:26 Please respond to "WEN,XIAO (HP-NewJersey,ex2 )" Hi, I am Axis user and trying to contribute someting. I know Axis is trying to implement JAX-RPC, which include the SOAP package of JAXM. Since I have some experience with JAXM I may of help in this part. I noticed the message package are not JAXM compliant yet, e.g. no SOAPHeader and SOAPBody implementation. I create a SOAPHeader implementation based on my knowledge of Axis. If this is useful I can help to create other missing pieces like SOAPFault, Detail.... Xiaoping Wen Hewlett-Packard Company HP Bluestone Middleware Division 6000 Irwin Road Mount Laurel, NJ 08054 [EMAIL PROTECTED] Phone: (856)-638-6057 (See attached file: SOAPHeader.java)