Geronimo 2.0 Web Services support
This table below is used to track the progress of the Apache Geronimo Java EE 5.0 Web Services implementation. This table is needed in addition to the Java EE 5 Report Card as this table shows the current status of the detailed functions. The function items are obtained from JSR 109 only based on the assumption that we only need to implement JSR 109 to integrate either Axis2 or CXF into Geronimo.
JAX-WS
Web Service Support Function Items |
Axis2 |
CXF |
---|---|---|
Supports WSDL 1.1 |
|
|
Supports SOAP 1.1 over HTTP |
Default |
Default |
Supports SOAP 1.2 over HTTP |
|
|
Supports XML over HTTP |
|
|
Supports SOAP 1.1 over HTTP with MTOM enabled |
|
|
Supports SOAP 1.2 over HTTP with MTOM enabled |
|
|
|
|
|
POJO support |
|
|
Supports web service deployment (new deployment) |
|
|
Supports web service deployment (expose existing deployed Java EE components as a web service) |
|
|
Supports optional web.xml file |
|
|
Supports optional wsdl file |
|
|
Supports javax.jws.WebService annotation |
|
|
Supports javax.xml.ws.WebServiceProvider annotation |
|
|
Supports web service annotation without web service descriptor file |
|
|
Supports web service descriptor file without annotation |
|
|
Supports web service annotation with web service descriptor file - web service deployment descriptor file override or enhance web service annotations |
|
|
SEI is not required |
|
|
For servlet based endpoints using web service annotation, enforce full qualified name of the service implementation bean class must be used as <servlet-link> element in web.xml |
|
|
ServiceName attribute of the webservice annotation prefixed with "/" maps to <url-pattern> element in web.xml |
|
|
No more than 1 servlet mapping should be specified and the url-pattern must be an exact match pattern. |
|
|
Only methods annotated with @WebMethod in the service implementation bean are exposed to the client |
|
|
Supports optional @PostConstruct, @PreDestroy annotations for lifecycle event callbacks. (p44) |
|
|
Supports @Resource annotation to access WebServiceContext (p44) |
|
|
Injects @EJB, @WebServiceRef, and other @Resource annotations |
|
|
Allows a developer able to specify protocol binding on a web service endpoint by using javax.xml.ws.BindingType annotation |
axis2.GeronimoHandlerChainBuilder needs update |
|
Able to ignore JAX-RPC mapping file for JAX-WS projects (p47) |
|
|
Annotated JAX-WS components may be mixed with deployment descriptor based JAX-RPC components in a module (p47) |
|
|
Supports OASIS XML Catalogs 1.1 specification to be used to resolve web service description document (wsdl/xsd) (p47) |
|
|
Supports HandlerChain (both logical and protocol types) |
Axis2 |
|
- handlers must be able to transform the SOAP header |
Axis2 |
|
- handlers must be able to transform just parts of the body |
Axis2 |
|
- handlers must be able to just read a message where no additions/modifications to the message are made |
Axis2 |
|
- handler chains must be properly filtered by service name, port name or protocol binding information |
Axis2 |
|
- Supports javax.jws.HandlerChain annotation |
AXIS2-2218 |
|
- The handler-chain element in deployment descriptor overwrites the @HandlerChain annotation and the order of the handlers is maintained |
AXIS2-2218 |
|
- Supports handler run after the container has performed the security constraint checks or method level authorization |
Axis2 |
|
- Supports optional @PostConstruct, @PreDestroy annotations for lifecycle event callbacks |
|
|
- a handler may access the env-entrys of the component by JNDI lookup or @Resource injection |
Axis2 |
|
Publish the service-ref WSDL |
|
|
Publish the deployed WSDL |
|
|
Make the required service interface implementation available at the JNDI namespace location java:comp/env/service-ref-name. (p135) |
|
|
Deployment time binding info (for example, bind port-component with port-component-link) |
|
|
Security - basic auth |
|
|
Security - symmetric HTTPS |
|
|
|
|
|
EJB Support |
|
|
Supports javax.ejb.Stateless annotation |
|
|
Supports optional deployment descriptor file (ejb-jar.xml) |
|
|
Supports optional wsdl file |
|
|
Supports javax.jws.WebService annotation |
|
|
Supports javax.xml.ws.WebServiceProvider annotation |
|
|
Supports web service annotation without web service descriptor file |
|
|
Supports web service descriptor file without annotation |
|
|
Supports web service annotation with web service descriptor file - web service deployment descriptor file override or enhance web service annotations |
|
|
Supports optional @PostConstruct or @PreDestroy annotation for lifecycle event callbacks. (p44) |
|
|
Supports @Resource annotation to access message context and security info (p44) |
|
|
Allows a developer able to specify protocol binding on a web service endpoint by using javax.xml.ws.BindingType annotation |
|
|
Supports HandlerChian (both logical and protocol types) |
Axis2 |
|
-handlers must be able to transform the SOAP header |
Axis2 |
|
-handlers must be able to transform just parts of the body |
Axis2 |
|
-handlers must be able to just read a message where no additions/modifications to the message is made |
Axis2 |
|
-Supports javax.jws.HandlerChain annotation |
Axis2 |
|
-Supports handler run after the container has performed the security constraint checks or method level authorization |
Axis2 |
|
-a handler may access the env-entry-names and env-entrys by JNDI lookup. |
Axis2 |
|
-the handler-chain in DD can be processed and the ordering of the handler must be maintained |
Axis2 |
|
Publish the service-ref WSDL |
|
|
Publish the deployed WSDL |
|
|
Make the required service interface implementation avail at the JNDI namespace location java:comp/env/service-ref-name. (p135) |
|
|
Deployment time binding info (for example, bind port-component with port-component-link) |
|
|
Security - basic auth |
|
|
Security - symmetric HTTPS |
|
|
|
|
|
Client support |
|
|
May reside in a Java EE container (e.g. an EJB that uses a web service) |
|
|
May reside in a Java EE client container |
|
|
Could use J2SE or J2ME |
|
|
Allows the client to locate a service interface by using JNDI APIs |
|
|
Allows the client to call any SOAP 1.1, 1.2 based web services via HTTP 1.1 or HTTPS SOAP binding |
|
|
|
|
|
Packaging - CXF or Axis2 |
|
|
Provide CXF and Axis2 as geronimo plugins? |
|
|
JAX-RPC
Web Service Support Function Items |
Axis2 |
CXF |
---|---|---|
POJO support |
|
|
JAX-RPC 1.1 based web service applications should continue to work (handled by Axis1) |
|
|
|
|
|
EJB Support |
|
|
JAX-RPC 1.1 based web service applications should continue to work (handled by Axis1) |
|
|
CXF Notes
- CXF1: Handler chain filtering ignores namespaces for service or port name.
- CXF2: The file specified by the @HandlerChain annotation can only be read from within a classloader of the module.
- CXF3: Automatic @WebServiceRef/@WebServiceRefs dependency injection is not yet supported in Geronimo but user can specify the Web Service reference via service-ref element in the deployment descriptor.
Legend
Developed and tested.
Developed but needs more testing.
Not tested but JAX-WS engine support it.
Incomplete functionality.