dblevins    2005/02/02 19:26:10

  Modified:    modules/core/src/test/org/openejb/server/soap
                        WSContainerTest.java
  Log:

  Revising the WSContainer to better support rpc/encoded strictly against a 
lightweight WSDL->Java mapping.
  Added validation for lightweigth mappings.
  Added ability to download the WSDL via http://foobar.com/someservice?wsdl
  
  Revision  Changes    Path
  1.4       +1 -134    
openejb/modules/core/src/test/org/openejb/server/soap/WSContainerTest.java
  
  Index: WSContainerTest.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/test/org/openejb/server/soap/WSContainerTest.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- WSContainerTest.java      3 Feb 2005 00:07:59 -0000       1.3
  +++ WSContainerTest.java      3 Feb 2005 00:26:10 -0000       1.4
  @@ -88,95 +88,6 @@
   //        org.apache.log4j.BasicConfigurator.configure();
   //    }
   
  -//    public void testWSContainer() throws Exception {
  -//        EJBContainer ejbContainer = new MockEJBContainer();
  -//        WSContainer container = new WSContainer(ejbContainer, null, null, 
"urn:testing", "encoded", "rpc");
  -//
  -//        ByteArrayOutputStream baos = new ByteArrayOutputStream();
  -//        PrintStream out = new PrintStream(baos);
  -//        out.print("<soap:Envelope\n" +
  -//                
"xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"\n"; +
  -//                
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"; +
  -//                "xmlns:ns=\"urn:testing\"\n" +
  -//                
"soap:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"; >\n" +
  -//                "<Body>\n" +
  -//                "<ns:intMethodRequest>\n" +
  -//                "<ns:in0 xsi:type=\"int\">126</ns:in0>\n" +
  -//                "</ns:intMethodRequest>\n" +
  -//                "</Body>\n" +
  -//                "</soap:Envelope>");
  -//        out.flush();
  -//        out.close();
  -//
  -//        ByteArrayInputStream in = new 
ByteArrayInputStream(baos.toByteArray());
  -//        baos.reset();
  -//
  -//        baos = new ByteArrayOutputStream();
  -//        MessageContext context = new MessageContext("not-used", null, 
baos, null, "/test/web/service");
  -//        context.setRequestStream(in);
  -//        container.invoke(context);
  -//
  -//        String result = getResult(new 
ByteArrayInputStream(baos.toByteArray()));
  -//
  -//        assertEquals("127", result);
  -//    }
  -//
  -//    public void testGBeanWSContainerStack() throws Exception {
  -//        Kernel kernel = new Kernel("wstest");
  -//        kernel.boot();
  -//
  -//        WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
  -//        wsdlReader.readWSDL(wsdlURL.toExternalForm());
  -//
  -//        ObjectName ejbContainer = MockEJBContainer.addGBean(kernel, 
"MockEJB");
  -//        ObjectName wsContainer = WSContainerGBean.addGBean(kernel, 
"HTTPSOAP", ejbContainer, new URI("/test/service"), null, "urn:testing", 
"encoded", "rpc");
  -//        ObjectName listener = TestSoapHttpListener.addGBean(kernel, 
"HTTPSOAP", wsContainer);
  -//        ObjectName server = HttpServerGBean.addGBean(kernel, "HTTPSOAP", 
listener);
  -//        ObjectName stack = StandardServiceStackGBean.addGBean(kernel, 
"HTTPSOAP", 0, InetAddress.getByName("localhost"), null, 1, 5, null, null, 
server);
  -//
  -//        assertRunning(kernel, ejbContainer);
  -//        assertRunning(kernel, wsContainer);
  -//        assertRunning(kernel, listener);
  -//        assertRunning(kernel, server);
  -//        assertRunning(kernel, stack);
  -//
  -//        HttpURLConnection connection = null;
  -//
  -//        try {
  -//            kernel.setAttribute(stack, "soTimeout", new Integer(1000));
  -//            int port = ((Integer) kernel.getAttribute(stack, 
"port")).intValue();
  -//            URL url = new URL("http://localhost:"; + port + 
"/this/should/hit/something");
  -//
  -//            connection = (HttpURLConnection) url.openConnection();
  -//            connection.setDoOutput(true);
  -//            connection.setRequestProperty("Content-Type", "text/xml");
  -//            PrintStream out = new 
PrintStream(connection.getOutputStream());
  -//            out.print("<soap:Envelope\n" +
  -//                    
"xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"\n"; +
  -//                    
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"; +
  -//                    "xmlns:ns=\"urn:testing\"\n" +
  -//                    
"soap:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"; >\n" +
  -//                    "<Body>\n" +
  -//                    "<ns:intMethodRequest>\n" +
  -//                    "<ns:in0 xsi:type=\"int\">126</ns:in0>\n" +
  -//                    "</ns:intMethodRequest>\n" +
  -//                    "</Body>\n" +
  -//                    "</soap:Envelope>");
  -//            out.flush();
  -//            out.close();
  -//
  -//            String result = getResult(connection.getInputStream());
  -//
  -//            assertEquals("127", result);
  -//
  -//        } catch (Exception e) {
  -//            fail(e.getMessage());
  -//        } finally {
  -//            connection.disconnect();
  -//            kernel.stopGBean(stack);
  -//            kernel.shutdown();
  -//        }
  -//    }
   
       private Definition getDefinition(URL wsdlURL) throws Exception {
           WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
  @@ -282,50 +193,6 @@
               kernel.shutdown();
           }
       }
  -
  -//    public void testAxisClient() throws Exception {
  -//        Kernel kernel = new Kernel("wstest");
  -//        kernel.boot();
  -//
  -//        URL wsdlURL = new 
File("target/test-ejb-jar/META-INF/wsdl/test-ejb.wsdl").toURL();
  -//
  -//        ObjectName ejbContainer = MockEJBContainerGBean.addGBean(kernel, 
new File("target/test-ejb-jar").toURL(), "SimpleEJB", 
"org.openejb.test.simple.slsb.SimpleStatelessSessionEJB", 
"org.openejb.test.simple.slsb.SimpleStatelessSessionHome", 
"org.openejb.test.simple.slsb.SimpleStatelessSession", 
"org.openejb.test.simple.slsb.SimpleStatelessSessionLocalHome", 
"org.openejb.test.simple.slsb.SimpleStatelessSessionLocal", 
"org.openejb.test.simple.slsb.SimpleStatelessSessionEndpoint" );
  -//        ObjectName wsContainer = WSContainerGBean.addGBean(kernel, 
"HTTPSOAP", ejbContainer, getDefinition(wsdlURL), new URI("/services/Simple"), 
wsdlURL, "urn:testing", "encoded", "rpc");
  -//        ObjectName index = WSContainerIndexGBean.addGBean(kernel, 
"HTTPSOAP", wsContainer);
  -//        ObjectName listener = SoapHttpListenerGBean.addGBean(kernel, 
"HTTPSOAP", index);
  -//        ObjectName server = HttpServerGBean.addGBean(kernel, "HTTPSOAP", 
listener);
  -//        int port = 8000;
  -//        ObjectName stack = StandardServiceStackGBean.addGBean(kernel, 
"HTTPSOAP", port, InetAddress.getByName("localhost"), null, 1, 5, null, null, 
server);
  -//
  -//        assertRunning(kernel, ejbContainer);
  -//        assertRunning(kernel, wsContainer);
  -//        assertRunning(kernel, index);
  -//        assertRunning(kernel, listener);
  -//        assertRunning(kernel, server);
  -//        assertRunning(kernel, stack);
  -//
  -//        try {
  -//            kernel.setAttribute(stack, "soTimeout", new Integer(1000));
  -//            URL wsdl = new URL("http://localhost:"; + port + 
"/services/Simple?wsdl");
  -//
  -//            String namespaceURI = "http://openejb.org/test-ejb-jar";;
  -//            Service service = new org.apache.axis.client.Service(wsdl, new 
QName(namespaceURI,"SimpleService"));
  -//
  -//            QName portName = new QName(namespaceURI, "SimplePort");
  -//            QName operationName = new QName(namespaceURI, "echo");
  -//
  -//            Call call = service.createCall(portName, operationName);
  -//            Object[] inputParams = new Object[]{"hello"};
  -//            String result = (String) call.invoke(inputParams);
  -//            System.out.println("result = " + result);
  -//        } catch (Exception e) {
  -//            e.printStackTrace();
  -//            fail(e.getMessage());
  -//        } finally {
  -//            kernel.stopGBean(stack);
  -//            kernel.shutdown();
  -//        }
  -//    }
   
       private void assertRunning(Kernel kernel, ObjectName objectName) throws 
Exception {
           int state = ((Integer) kernel.getAttribute(objectName, 
"state")).intValue();
  
  
  

Reply via email to