1 package org.codehaus.xfire.fault; 2 3 import java.io.ByteArrayOutputStream; 4 import org.codehaus.xfire.AbstractXFireTest; 5 import org.codehaus.xfire.MessageContext; 6 import org.codehaus.xfire.SOAPConstants; 7 import org.codehaus.xfire.handler.BadHandler; 8 import org.codehaus.xfire.service.SimpleService; 9 10 /*** 11 * XFireTest 12 * 13 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> 14 */ 15 public class XFireFaultTest 16 extends AbstractXFireTest 17 { 18 19 public void testSOAP12() 20 throws Exception 21 { 22 SOAP12FaultHandler soap12 = new SOAP12FaultHandler(); 23 24 testHandler( soap12 ); 25 } 26 27 public void testSOAP11() 28 throws Exception 29 { 30 SOAP11FaultHandler soap11 = new SOAP11FaultHandler(); 31 32 testHandler( soap11 ); 33 } 34 35 /*** 36 * @param soap11 37 */ 38 private void testHandler( FaultHandler soap11 ) 39 { 40 SimpleService service = new SimpleService(); 41 service.setName("Echo"); 42 service.setSoapVersion(SOAPConstants.SOAP12_ENVELOPE_NS); 43 service.setWSDLURL(getClass().getResource("/org/codehaus/xfire/echo11.wsdl").toString()); 44 45 service.setServiceHandler(new BadHandler()); 46 service.setFaultHandler(soap11); 47 48 getServiceRegistry().register(service); 49 50 ByteArrayOutputStream out = new ByteArrayOutputStream(); 51 MessageContext context = 52 new MessageContext( "Echo", 53 null, 54 out, 55 null, 56 null ); 57 58 getXFire().invoke( 59 getResourceAsStream( "/org/codehaus/xfire/echo11.xml" ), 60 context ); 61 62 System.out.println(out.toString()); 63 } 64 }