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.
          

Reply via email to