1 package org.codehaus.xfire.soap;
2
3 import org.codehaus.xfire.handler.Handler;
4 import org.codehaus.xfire.soap.handler.FaultSoapSerializerHandler;
5 import org.codehaus.xfire.soap.handler.ReadHeadersHandler;
6 import org.codehaus.xfire.soap.handler.SoapSerializerHandler;
7 import org.codehaus.xfire.soap.handler.ValidateHeadersHandler;
8 import org.codehaus.xfire.transport.AbstractTransport;
9 import org.codehaus.xfire.transport.Transport;
10
11 /***
12 * Provides soap messaging support to a channel by adding the SOAP handlers.
13 *
14 * @see org.codehaus.xfire.soap.handler.ReadHeadersHandler
15 * @see org.codehaus.xfire.soap.handler.ValidateHeadersHandler
16 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
17 */
18 public class SoapTransport
19 {
20 private static final Handler readHeaders = new ReadHeadersHandler();
21 private static final Handler validate = new ValidateHeadersHandler();
22 private static final Handler serializer = new SoapSerializerHandler();
23 private static final Handler faultSerializer = new FaultSoapSerializerHandler();
24
25 public static Transport createSoapTransport(AbstractTransport transport)
26 {
27 transport.addInHandler(readHeaders);
28 transport.addInHandler(validate);
29
30 transport.addOutHandler(serializer);
31 transport.addFaultHandler(faultSerializer);
32
33 return transport;
34 }
35 }