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  }