Author: darran.lofthouse(a)jboss.com
Date: 2006-12-03 05:54:48 -0500 (Sun, 03 Dec 2006)
New Revision: 1533
Modified:
trunk/src/main/java/org/jboss/ws/integration/jboss50/ServiceEndpointGeneratorEJB.java
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSEndpointMetaDataBuilder.java
trunk/src/test/java/org/jboss/test/ws/jaxws/jbws981/EJB3Bean.java
trunk/src/test/java/org/jboss/test/ws/jaxws/jbws981/JBWS981TestCase.java
Log:
JBWS-981 - Ported implementation from branches/jbossws-1.0 and modified for JBoss 5
Modified:
trunk/src/main/java/org/jboss/ws/integration/jboss50/ServiceEndpointGeneratorEJB.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/integration/jboss50/ServiceEndpointGeneratorEJB.java 2006-12-03
10:02:52 UTC (rev 1532)
+++
trunk/src/main/java/org/jboss/ws/integration/jboss50/ServiceEndpointGeneratorEJB.java 2006-12-03
10:54:48 UTC (rev 1533)
@@ -28,6 +28,7 @@
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import org.jboss.deployers.spi.deployer.DeploymentUnit;
@@ -231,6 +232,7 @@
<jboss-web>
<security-domain>java:/jaas/cts</security-domain>
<context-root>/ws/ejbN/</context-root>
+ <virtual-host>some.domain.com</virtual-host>
</jboss-web>
*/
Element jbossWeb = DOMUtils.createElement("jboss-web");
@@ -267,6 +269,38 @@
Element root =
(Element)jbossWeb.appendChild(DOMUtils.createElement("context-root"));
root.appendChild(DOMUtils.createTextNode(contextRoot));
+ String[] virtualHosts = null;
+ for (EndpointMetaData epMetaData : epMetaDataList)
+ {
+ ServerEndpointMetaData sepMetaData = (ServerEndpointMetaData)epMetaData;
+ String[] next = sepMetaData.getVirtualHosts();
+ if (next != null && next.length > 0)
+ {
+ Arrays.sort(next);
+ if (virtualHosts == null)
+ {
+ virtualHosts = next;
+ }
+ else
+ {
+ if (Arrays.equals(virtualHosts, next) == false)
+ {
+ throw new WSException("All endpoints must define the same virtual
hosts");
+ }
+ }
+ }
+ }
+
+ if (virtualHosts != null)
+ {
+ for (String current : virtualHosts)
+ {
+ Element virtualHost =
(Element)jbossWeb.appendChild(DOMUtils.createElement("virtual-host"));
+ virtualHost.appendChild(DOMUtils.createTextNode(current));
+ }
+ }
+
+
return jbossWeb;
}
Modified:
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSEndpointMetaDataBuilder.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSEndpointMetaDataBuilder.java 2006-12-03
10:02:52 UTC (rev 1532)
+++
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSEndpointMetaDataBuilder.java 2006-12-03
10:54:48 UTC (rev 1533)
@@ -129,6 +129,13 @@
sepMetaData.setTransportGuarantee(transportGuarantee);
}
}
+
+ // virtual hosts
+ String[] virtualHosts = anPortComponent.virtualHosts();
+ if (virtualHosts != null & virtualHosts.length > 0)
+ {
+ sepMetaData.setVirtualHosts(virtualHosts);
+ }
}
}
}
Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/jbws981/EJB3Bean.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jaxws/jbws981/EJB3Bean.java 2006-12-03 10:02:52
UTC (rev 1532)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/jbws981/EJB3Bean.java 2006-12-03 10:54:48
UTC (rev 1533)
@@ -22,15 +22,12 @@
package org.jboss.test.ws.jaxws.jbws981;
import javax.ejb.Stateless;
-import javax.jws.WebMethod;
import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.jboss.logging.Logger;
import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.ws.annotation.PortComponent;
/**
*
@@ -55,7 +52,7 @@
catch (Exception e)
{
log.error(e);
- return e.getMessage();
+ return "Unable to get WebModule MBean for virtual host - virtual-host not
handled from @PortComponent";
}
return message;
Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/jbws981/JBWS981TestCase.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jaxws/jbws981/JBWS981TestCase.java 2006-12-03
10:02:52 UTC (rev 1532)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/jbws981/JBWS981TestCase.java 2006-12-03
10:54:48 UTC (rev 1533)
@@ -55,7 +55,7 @@
if (true) return;
if (port == null)
{
- URL wsdlURL = new URL("http://" + getServerHost() +
":8080jaxws-jbws981/EJB3Bean?wsdl");
+ URL wsdlURL = new URL("http://" + getServerHost() +
":8080/jaxws-jbws981/EJB3Bean?wsdl");
QName serviceName = new
QName("http://www.jboss.org/test/ws/jaxws/jbws981", "TestService");
Service.create(wsdlURL, serviceName);
Service service = Service.create(wsdlURL, serviceName);
@@ -65,10 +65,10 @@
public void testCall() throws Exception
{
- System.out.println("FIXME: [JBWS-981] Virtual host configuration for EJB
endpoints");
+ System.out.println("FIXME: [JBWS-981] Virtual host configuration for EJB
endpoints (Enable once JBossAS supports virtual-host element)");
if (true) return;
String message = "hello";
- assertEquals(message, port.hello(message));
+ assertEquals("Web service mapped to virtual host.",
port.hello(message));
}
}
\ No newline at end of file