[jbossws-dev] [JBoss Web Services Development] - Re: JBossWS Deployers Architecture

richard.opalka@jboss.com do-not-reply at jboss.com
Tue Dec 1 03:08:27 EST 2009


Hi Bill,

   we distinguish two JAX-WS endpoint types:
 * POJO
 * EJB3 (the same like POJO, but annotated with EJB3 @Stateless annotation)
This WSTypeDeployer detects webservices deployment type.

For every POJO endpoint our users have to provide web.xml DD
where every servlet-class contains POJO Web Service Endpoint class name.

For every EJB3 endpoint we're generating JBossWeb meta data in WebMetaDataCreator
(called by our aspectized deployer wrapping WebMetaDataCreatingDeploymentAspect)
where every servlet-class contains EJB3 Web Service Endpoint class name.

The following applies to both EJB3 and POJO webservice endpoint types.

This servlet-class is lately overriden in our WebMetaDataModifier (lines 118-127)
(called by our aspectized deployer wrapping WebMetaDataModifyingDeploymentAspect).
The servlet-class is replaced with our transport servlet class (that extends AbstractEndpointServlet) 
and we're providing init-param to let the transport class know which endpoint class is associated with it.

"Bill Burke" wrote : 
  | My question is, how does JBossWeb know to ignore a JAXWS class 
  | and let WS handle things?  How do you override things?
  | 

JBossWeb doesn't ignore JAX-WS class. As I mentioned above,
we're modifying servlet-class in WebMetaDataModifier and replacing
it with real servlet. JBossWS does its job via aspectized deployers
(see stack agnostic deployment aspects and stack specific deployment aspects)


View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268230#4268230

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4268230


More information about the jbossws-dev mailing list