Sylvain,
I took a look at this code and its looking good. I do have some JAX-RPC concerns however. A few comments/questions: - The required attribute isn't getting set? You probably want to investigate and fix that problem as part of your submission. See your comment in Header.java. - How, as a user of the stub, do I set headers? How do I retrieve them? - JAX-RPC (chapter 11) talks about the ServiceContext. In 11.2.2, they talk about an Explicit Service Context, which is added as a parameter to the stub method signature. Do we need to implement headers this way to be JAX-RPC compliant? - Make sure you write up a section for the users guide and include that as part of the submit. That way people will have something to reference. - Make sure to include a functional test that verifies the feature. Nit picking: - Header and Headers aren't very good class names, too much alike. :-) How about Header and HeaderList? - Look like you have tabs in some places, make sure you use spaces. - Probably no need for the @author comment for methods (i.e. Service.java) - Make sure you remove all the System.out.println() statements I agree that we do not want these changes in for Beta 2, but I think we should work to get them in shortly after B2 is release. Thanks again for jumping in and helping out with this! -- Tom Jordahl Macromedia -----Original Message----- From: St-Germain, Sylvain [mailto:[EMAIL PROTECTED]] Sent: Monday, April 22, 2002 3:51 PM To: Axis Dev (E-mail) Subject: Client side soap:header support. Hi all, Here is some code that provide client side support for soap:header entry in the WSDL operation binding. Modified files: xml-axis/java/src/org/apache/axis/client/Service.java xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java Added files: xml-axis/java/src/org/apache/axis/serviceContext/ServiceContext.java xml-axis/java/src/org/apache/axis/serviceContext/HeaderKey.java xml-axis/java/src/org/apache/axis/wsdl/toJava/Headers.java xml-axis/java/src/org/apache/axis/wsdl/toJava/Header.java >From a high level point of view: 1 - WSDL2Java now adds the appropriate setHeader() before call.invoke() as well as the appropriate updateHeader() following call.invoke() 2 - I have added a ServiceContext class stored in the Service that currently simply stores a Hashtable of all the service's header. The key to the hash is a HeaderKey (which could/should (not sure) be replace by a String if someone can confirm that the key to a header is the part name...) I did create HeaderKey because originaly I was using the combination of the part and the message to find a Header in the ServiceContext hash. I believe that this will not make its way into the build before Beta-2 (right?) so I am sending it to get feedback, let me know if my understanding of soap:header is right and what should be changed may this be the case. To try it simply have some entry like this in your input operation : <soap:header required="false" message="tns:tracking" part="tracking" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> -- Sylvain This message may contain privileged and/or confidential information. If you have received this e-mail in error or are not the intended recipient, you may not use, copy, disseminate or distribute it; do not open any attachments, delete it immediately from your system and notify the sender promptly by e-mail that you have done so. Thank you.