1 package org.codehaus.xfire.transport.http; 2 3 import org.codehaus.xfire.service.object.ObjectServiceBuilder; 4 import org.codehaus.xfire.service.object.ServiceBuilder; 5 import org.codehaus.xfire.services.BeanService; 6 import org.codehaus.xfire.test.AbstractServletTest; 7 import org.codehaus.xfire.test.TestHttpTransport; 8 import org.codehaus.xfire.transport.TransportManager; 9 import org.codehaus.xfire.type.DefaultTypeMappingRegistry; 10 import org.codehaus.xfire.type.TypeMapping; 11 import org.codehaus.xfire.type.TypeMappingRegistry; 12 import org.dom4j.Document; 13 14 import com.meterware.httpunit.PostMethodWebRequest; 15 import com.meterware.httpunit.WebRequest; 16 import com.meterware.httpunit.WebResponse; 17 18 /*** 19 * XFireServletTest 20 * 21 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> 22 */ 23 public class XFireServletTest 24 extends AbstractServletTest 25 { 26 private DefaultTypeMappingRegistry registry; 27 private ServiceBuilder builder; 28 29 public void setUp() throws Exception 30 { 31 super.setUp(); 32 33 registry = new DefaultTypeMappingRegistry(); 34 35 TypeMapping tm = registry.createDefaultMappings(); 36 registry.registerDefault(tm); 37 38 TransportManager trans = getXFire().getTransportManager(); 39 trans.register( new TestHttpTransport() ); 40 41 42 builder = new ObjectServiceBuilder(getXFire(), registry); 43 builder.create(BeanService.class); 44 } 45 46 public TypeMappingRegistry getRegistry() 47 { 48 return registry; 49 } 50 51 public ServiceBuilder getBuilder() 52 { 53 return builder; 54 } 55 56 public void testServlet() throws Exception 57 { 58 WebResponse response = newClient().getResponse( "http://localhost/services/BeanService?wsdl" ); 59 60 Document resDoc = readDocument(response.getText()); 61 printNode(resDoc); 62 63 WebRequest req = new PostMethodWebRequest( "http://localhost/services/BeanService", 64 getClass().getResourceAsStream("/org/codehaus/xfire/message/wrapped/bean11.xml"), 65 "text/xml" ); 66 67 response = newClient().getResponse(req); 68 69 resDoc = readDocument(response.getText()); 70 printNode(resDoc); 71 } 72 }