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();