1 package org.codehaus.xfire.handler; 2 3 import org.codehaus.xfire.MessageContext; 4 import org.codehaus.xfire.fault.Soap12FaultHandler; 5 import org.codehaus.xfire.service.MessageService; 6 import org.codehaus.xfire.soap.Soap12; 7 import org.codehaus.xfire.test.AbstractXFireTest; 8 import org.dom4j.Document; 9 10 /*** 11 * @author <a href="mailto:dan@envoisolutiosn.com">Dan Diephouse</a> 12 */ 13 public class SoapHandlerTest 14 extends AbstractXFireTest 15 { 16 private CheckpointHandler reqHandler; 17 private CheckpointHandler resHandler; 18 19 public void setUp() throws Exception 20 { 21 super.setUp(); 22 23 MessageService service = new MessageService(); 24 service.setName("Echo"); 25 service.setSoapVersion(Soap12.getInstance()); 26 service.setWSDLURL(getClass().getResource("/org/codehaus/xfire/echo11.wsdl").toString()); 27 28 service.setServiceHandler(new SoapHandler(new EndpointTestHandler())); 29 service.setFaultHandler(new Soap12FaultHandler()); 30 31 HandlerPipeline reqPipeline = new HandlerPipeline(); 32 reqHandler = new CheckpointHandler(); 33 reqPipeline.addHandler(reqHandler); 34 service.setRequestPipeline(reqPipeline); 35 36 HandlerPipeline resPipeline = new HandlerPipeline(); 37 resHandler = new CheckpointHandler(); 38 resPipeline.addHandler(resHandler); 39 service.setResponsePipeline(resPipeline); 40 41 getServiceRegistry().register(service); 42 } 43 44 public void testInvoke() 45 throws Exception 46 { 47 Document response = invokeService( "Echo", "/org/codehaus/xfire/echo11.xml" ); 48 49 assertTrue(reqHandler.invoked); 50 assertTrue(resHandler.invoked); 51 } 52 53 public class CheckpointHandler 54 extends AbstractHandler 55 { 56 public boolean invoked = false; 57 58 public void invoke(MessageContext context) 59 throws Exception 60 { 61 this.invoked = true; 62 } 63 } 64 }