axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Using Headers Client Side
Date Tue, 01 Feb 2005 08:31:13 GMT
M Litherland a écrit :

> Hi all,
> I'm new to Axis and I am trying to create a SOAP client to communicate 
> with a vendor.  They have supplied me with the WSDL and I ran 
> WSDL2Java against it to create my stubs.  There are custom headers, so 
> I specified the '-a' option for WSDL2Java to produce a stub for the 
> custom header as well.
> My problem is that I don't know what to do with this custom header.  I 
> can create the object and populate it as need be, but how do I tell my 
> code to use that header?  The code is very simple - essentially these 
> three lines:
> MySoapLocator msl = new MySoapLocator();
> MySoap ms = msl.getMySoap(new;
> ms.send(message);
> I would expect to be able to do something like this:
> ms.setHeader(myHeaderObject);

You can do that :

        MyService service = new MyServiceLocator();
        MyPortType client = service.getService();
        /* header */
        Stub s = (Stub) client;
        s.setHeader("namespace", "element name", new MyHeader(args));

and then continue on calling the methods as usually.
"namespace" is the namespace of the header;
"element name" is the element name of the header (I'm pretty logical here :)
MyHeader is the stub class created by Axis.

However, I couldn't find a way to make Axis use automatically the 
namespace and element name specified in the WSDL.


View raw message