Skip to content

Commit

Permalink
Merge pull request #6825 from asoldano/master
Browse files Browse the repository at this point in the history
[WFLY-2806] Add check to fail deployments that use CXFServlet but have n...
  • Loading branch information
kabir committed Oct 17, 2014
2 parents e6c52ac + 511e653 commit 4ce4f76
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
Expand Up @@ -38,7 +38,6 @@
import org.jboss.as.webservices.logging.WSLogger;
import org.jboss.as.webservices.service.HandlerChainService;
import org.jboss.dmr.ModelNode;
import org.jboss.msc.inject.Injector;
import org.jboss.msc.service.ServiceBuilder;
import org.jboss.msc.service.ServiceController;
import org.jboss.msc.service.ServiceName;
Expand Down Expand Up @@ -86,9 +85,8 @@ protected void performRuntime(final OperationContext context, final ModelNode op
final HandlerChainService service = new HandlerChainService(handlerChainType, handlerChainId, protocolBindings);
final ServiceTarget target = context.getServiceTarget();
final ServiceBuilder<?> handlerChainServiceBuilder = target.addService(handlerChainServiceName, service);
final Injector<UnifiedHandlerMetaData> injector = service.getHandlersInjector();
for (ServiceName sn : PackageUtils.getServiceNameDependencies(context, handlerChainServiceName, address, HANDLER)) {
handlerChainServiceBuilder.addDependency(sn, UnifiedHandlerMetaData.class, injector);
handlerChainServiceBuilder.addDependency(sn, UnifiedHandlerMetaData.class, service.getHandlersInjector()); //get a new injector instance each time
}
ServiceController<?> controller = handlerChainServiceBuilder.setInitialMode(ServiceController.Mode.ACTIVE).install();
if (newControllers != null) {
Expand Down
Expand Up @@ -45,6 +45,7 @@
import org.jboss.msc.service.ServiceName;
import org.jboss.msc.service.StartException;
import org.jboss.vfs.VirtualFile;
import org.jboss.wsf.spi.WSFException;
import org.jboss.wsf.spi.deployment.DeploymentAspect;

/**
Expand Down Expand Up @@ -281,4 +282,10 @@ public interface WSLogger extends BasicLogger {
@LogMessage(level = WARN)
@Message(id = 65, value = "Annotation '@%s' found on class '%s'. Perhaps you forgot to add a '%s' module dependency to your deployment?")
void missingModuleDependency(String annotation, String clazz, String module);

@Message(id = 66, value = "Servlet class %s declared in web.xml; either provide a proper deployment relying on JBossWS or disable the webservices subsystem for the "
+ "current deployment adding a proper jboss-deployment-structure.xml descriptor to it. "
+ "The former approach is recommended, as the latter approach causes most of the webservices Java EE and any JBossWS specific functionality to be disabled.")
WSFException invalidWSServlet(String servletClass);

}
Expand Up @@ -94,6 +94,8 @@ private void configureEndpoints(final Deployment dep, final JBossWebMetaData jbo
WebMetaDataHelper.newParamValue(WSFServlet.STACK_SERVLET_DELEGATE_CLASS, transportClassName, initParams);
// configure webservice endpoint
WebMetaDataHelper.newParamValue(Endpoint.SEPID_DOMAIN_ENDPOINT, endpointClassName, initParams);
} else if (endpointClassName.startsWith("org.apache.cxf")) {
throw WSLogger.ROOT_LOGGER.invalidWSServlet(endpointClassName);
}
}
}
Expand Down

0 comments on commit 4ce4f76

Please sign in to comment.