chirino 2005/03/18 12:10:32
Modified: modules/core/src/test/org/openejb/server/axis
WSContainerTest.java
Log:
Fix and re-enabled the axis WSContainerTests
Revision Changes Path
1.2 +26 -18
openejb/modules/core/src/test/org/openejb/server/axis/WSContainerTest.java
Index: WSContainerTest.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/test/org/openejb/server/axis/WSContainerTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- WSContainerTest.java 9 Mar 2005 06:19:56 -0000 1.1
+++ WSContainerTest.java 18 Mar 2005 17:10:31 -0000 1.2
@@ -52,9 +52,13 @@
import java.net.InetAddress;
import java.net.URI;
import java.net.URL;
+import java.net.URLClassLoader;
import java.util.jar.JarFile;
import javax.management.ObjectName;
import javax.wsdl.Definition;
+import javax.wsdl.Port;
+import javax.wsdl.Service;
+import javax.wsdl.extensions.soap.SOAPAddress;
import javax.wsdl.factory.WSDLFactory;
import javax.wsdl.xml.WSDLReader;
import javax.xml.parsers.ParserConfigurationException;
@@ -87,21 +91,20 @@
return wsdlReader.readWSDL(wsdlURL.toExternalForm());
}
- // TODO Get these running again
- public void xtestGetWSDL() throws Exception {
+ public void testGetWSDL() throws Exception {
Kernel kernel = new Kernel("wstest");
kernel.boot();
- URL wsdlURL = new
File("target/test-ejb-jar/META-INF/wsdl/test-ejb.wsdl").toURL();
+ URI wsdlURI = new URI("META-INF/wsdl/test-ejb.wsdl");
JarFile jarFile = new JarFile("target/test-ejb-jar.jar");
String ejbName = "SimpleStatelessSession";
- ClassLoader classLoader = this.getClass().getClassLoader();
-
+ ClassLoader classLoader = new URLClassLoader(new URL[]{new
URL("file:target/test-ejb-jar.jar")}, getClass().getClassLoader());
+
JavaServiceDesc serviceDesc =
AxisServiceBuilder.createEJBServiceDesc(jarFile, ejbName, classLoader);
- ObjectName ejbContainer = MockEJBContainer.addGBean(kernel,
"MockEJB");
+ ObjectName ejbContainer = MockEJBContainer.addGBean(kernel,
"MockEJB", classLoader);
ObjectName listener = SoapHttpListenerGBean.addGBean(kernel,
"HTTPSOAP");
- ObjectName wsContainer = WSContainerGBean.addGBean(kernel,
"HTTPSOAP", ejbContainer, listener, new URI("/services/Simple"), wsdlURL,
serviceDesc);
+ ObjectName wsContainer = WSContainerGBean.addGBean(kernel,
"HTTPSOAP", ejbContainer, listener, new URI("/test/service"), wsdlURI,
serviceDesc);
ObjectName server = HttpServerGBean.addGBean(kernel, "HTTPSOAP",
listener);
ObjectName stack = StandardServiceStackGBean.addGBean(kernel,
"HTTPSOAP", 0, InetAddress.getByName("localhost"), null, 1, 5, null, null,
server);
@@ -120,33 +123,38 @@
WSDLReader wsdlReader =
WSDLFactory.newInstance().newWSDLReader();
Definition definition = wsdlReader.readWSDL(null, new
InputSource(in));
-
+ in.close();
assertNotNull(definition);
+
+ // Check to see if the WSDL address was updated.
+ Service service = (Service)
definition.getServices().values().iterator().next();
+ assertNotNull(service);
+ Port port2 = service.getPort("SimplePort");
+ assertNotNull(port2);
+ SOAPAddress address = (SOAPAddress)
port2.getExtensibilityElements().get(0);
+ assertNotNull(address);
+ assertEquals("http://localhost:" + port + "/test/service",
address.getLocationURI());
- } catch (Exception e) {
- fail(e.getMessage());
} finally {
- in.close();
kernel.stopGBean(stack);
kernel.shutdown();
}
}
- // TODO Get these running again
- public void xtestAxisStyleMessage() throws Exception {
+ public void testAxisStyleMessage() throws Exception {
Kernel kernel = new Kernel("wstest");
kernel.boot();
- URL wsdlURL = new
File("target/test-ejb-jar/META-INF/wsdl/test-ejb.wsdl").toURL();
+ URI wsdlURI = new URI("META-INF/wsdl/test-ejb.wsdl");
JarFile jarFile = new JarFile("target/test-ejb-jar.jar");
String ejbName = "SimpleStatelessSession";
- ClassLoader classLoader = this.getClass().getClassLoader();
+ ClassLoader classLoader = new URLClassLoader(new URL[]{new
URL("file:target/test-ejb-jar.jar")}, getClass().getClassLoader());
JavaServiceDesc serviceDesc =
AxisServiceBuilder.createEJBServiceDesc(jarFile, ejbName, classLoader);
- 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 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", classLoader);
ObjectName listener = SoapHttpListenerGBean.addGBean(kernel,
"HTTPSOAP");
- ObjectName wsContainer = WSContainerGBean.addGBean(kernel,
"HTTPSOAP", ejbContainer, listener, new URI("/services/Simple"), wsdlURL,
serviceDesc);
+ ObjectName wsContainer = WSContainerGBean.addGBean(kernel,
"HTTPSOAP", ejbContainer, listener, new URI("/services/Simple"), wsdlURI,
serviceDesc);
ObjectName server = HttpServerGBean.addGBean(kernel, "HTTPSOAP",
listener);
ObjectName stack = StandardServiceStackGBean.addGBean(kernel,
"HTTPSOAP", 0, InetAddress.getByName("localhost"), null, 1, 5, null, null,
server);