[jboss-cvs] JBossAS SVN: r66560 - branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 30 05:09:52 EDT 2007
Author: heiko.braun at jboss.com
Date: 2007-10-30 05:09:52 -0400 (Tue, 30 Oct 2007)
New Revision: 66560
Modified:
branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java
branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java
branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
Log:
Fix JBWS-1762
Modified: branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java
===================================================================
--- branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java 2007-10-30 09:09:05 UTC (rev 66559)
+++ branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java 2007-10-30 09:09:52 UTC (rev 66560)
@@ -133,7 +133,8 @@
@Override
public boolean isWebServiceDeployment(DeploymentInfo unit)
{
- if (super.isWebServiceDeployment(unit) == false)
+ if (super.isWebServiceDeployment(unit) == false
+ || unit.context.get("org.jboss.ws.ejbwebapp")!=null) // Reject EJB im-memory deployments)
return false;
WebservicesMetaData wsMetaData = getWebservicesMetaData(unit, "WEB-INF/webservices.xml");
Modified: branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java
===================================================================
--- branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java 2007-10-30 09:09:05 UTC (rev 66559)
+++ branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java 2007-10-30 09:09:52 UTC (rev 66560)
@@ -31,6 +31,8 @@
import javax.jws.WebService;
import javax.xml.ws.WebServiceProvider;
+import javax.ejb.Stateless;
+import javax.ejb.Stateful;
import org.jboss.deployment.DeploymentInfo;
import org.jboss.metadata.WebMetaData;
@@ -73,7 +75,7 @@
// Copy the attachments
dep.addAttachment(WebMetaData.class, webMetaData);
- List<Servlet> servlets = getRelevantServlets(webMetaData, di.annotationsCl);
+ List<Servlet> servlets = getEndpointBeans(webMetaData, di.annotationsCl);
for (Servlet servlet : servlets)
{
String servletName = servlet.getServletName();
@@ -91,14 +93,15 @@
@Override
public boolean isWebServiceDeployment(DeploymentInfo unit)
{
- if (super.isWebServiceDeployment(unit) == false)
+ if (super.isWebServiceDeployment(unit) == false
+ || unit.context.get("org.jboss.ws.ejbwebapp")!=null) // Reject EJB im-memory deployments
return false;
boolean isWebServiceDeployment = false;
try
{
WebMetaData webMetaData = (WebMetaData)unit.metaData;
- List<Servlet> servlets = getRelevantServlets(webMetaData, unit.annotationsCl);
+ List<Servlet> servlets = getEndpointBeans(webMetaData, unit.annotationsCl);
isWebServiceDeployment = servlets.size() > 0;
}
catch (Exception ex)
@@ -109,7 +112,7 @@
return isWebServiceDeployment;
}
- private List<Servlet> getRelevantServlets(WebMetaData webMetaData, ClassLoader loader)
+ private List<Servlet> getEndpointBeans(WebMetaData webMetaData, ClassLoader loader)
{
List<Servlet> servlets = new ArrayList<Servlet>();
Iterator it = webMetaData.getServletClassMap().entrySet().iterator();
@@ -125,11 +128,30 @@
try
{
+
+ // [JBWS-1762] works on re-written web.xml
+ // In this case we grap the endpoint classname from the init param
+ Map initParams = webMetaData.getServletParams(servletName);
+ Iterator iterator = initParams.keySet().iterator();
+ while(iterator.hasNext())
+ {
+ String paramName = (String)iterator.next();
+ if(Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+ {
+ servletClassName = (String)initParams.get(paramName);
+ }
+ }
+
Class<?> servletClass = loader.loadClass(servletClassName.trim());
boolean isWebService = servletClass.isAnnotationPresent(WebService.class);
boolean isWebServiceProvider = servletClass.isAnnotationPresent(WebServiceProvider.class);
+
if (isWebService || isWebServiceProvider)
+ {
+ // works on standard JSR 109 deployments
servlets.add(new Servlet(servletName, servletClassName));
+ }
+
}
catch (ClassNotFoundException ex)
{
Modified: branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
===================================================================
--- branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java 2007-10-30 09:09:05 UTC (rev 66559)
+++ branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java 2007-10-30 09:09:52 UTC (rev 66560)
@@ -73,6 +73,8 @@
if (di != null)
auxdi.repositoryConfig = di.getTopRepositoryConfig();
+ auxdi.context.put("org.jboss.ws.ejbwebapp", "true");
+
getMainDeployer().deploy(auxdi);
}
catch (Exception ex)
More information about the jboss-cvs-commits
mailing list