You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by Apache Wiki <wi...@apache.org> on 2010/09/15 21:34:06 UTC

[Ws Wiki] Update of "FrontPage/Axis/AxisClientSetHTTPHeaders" by FlorianKirchhoff

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ws Wiki" for change notification.

The "FrontPage/Axis/AxisClientSetHTTPHeaders" page has been changed by FlorianKirchhoff.
http://wiki.apache.org/ws/FrontPage/Axis/AxisClientSetHTTPHeaders

--------------------------------------------------

New page:
Q: How do I setup HTTP headers in Axis clients?

A: Set the appropriate Hashtable entry in the MessageContext in a Handler:

{{{
package yourpackage;
import java.util.Hashtable;
import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;
import org.apache.axis.transport.http.HTTPConstants;
public class HTTPHeaderHandler extends BasicHandler {
  @Override
  public void invoke(MessageContext ctx) throws AxisFault {
    Hashtable ht = (Hashtable)ctx.getProperty(HTTPConstants.REQUEST_HEADERS);
    if(ht == null) {
      ht = new Hashtable();
    }
    ht.put("test", "test");
    ctx.setProperty(HTTPConstants.REQUEST_HEADERS, ht);
  }
}
}}}
The next step is to configure the handler in client-config.wsdd:

{{{
<?xml version="1.0" encoding="UTF-8"?>
<deployment name="defaultClientConfig" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <globalConfiguration>
  <parameter name="disablePrettyXML" value="true" />
  <parameter name="enableNamespacePrefixOptimization" value="false" />
 </globalConfiguration>
 <handler type="java:yourpackage.HTTPHeaderHandler" name="HTTPHeaderHandler" />
 <transport name="http"
  pivot="java:org.apache.axis.transport.http.HTTPSender">
  <requestFlow>
   <handler type="HTTPHeaderHandler" />
  </requestFlow>
 </transport>
 <transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender" />
 <transport name="java"  pivot="java:org.apache.axis.transport.java.JavaSender" />
</deployment>
}}}
You can find details of how to configure a Handler in AxisClientConfiguration and how to ensure your client code picks up your client-config.wsdd in AxisClientConfiguration.