1 package org.codehaus.xfire.handler;
2
3 import javax.xml.stream.XMLStreamException;
4 import javax.xml.stream.XMLStreamReader;
5
6 import org.codehaus.xfire.MessageContext;
7 import org.codehaus.xfire.fault.XFireFault;
8 import org.codehaus.xfire.util.STAXUtils;
9
10 /***
11 * A handler which echoes the SOAP Body back.
12 *
13 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
14 * @since Feb 18, 2004
15 */
16 public class EchoHandler
17 extends AbstractHandler
18 {
19 /***
20 * @see org.codehaus.xfire.handler.Handler#invoke(org.codehaus.xfire.MessageContext, javax.xml.stream.XMLStreamReader)
21 */
22 public void invoke( MessageContext context, XMLStreamReader parser )
23 throws XFireFault
24 {
25 try
26 {
27 STAXUtils.copy(parser, getXMLStreamWriter(context));
28 }
29 catch (XMLStreamException e)
30 {
31 throw new XFireFault("Couldn't parse the request document.", e, XFireFault.SENDER);
32 }
33 }
34 }