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 }