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) | Jarek | Jarek |
Supports optional web.xml file |
| |
Optional web.xml - ServiceName attribute of the webservice annotation prefixed with "/" maps to <url-pattern> element in web.xml |
|
|
Supports optional wsdl file | Axis2 G2988 |
|
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 | Lin - need to check spec on this |
|
Supports web service annotation with web service descriptor file - web service deployment descriptor file override or enhance web service annotations |
|
|
deployment a webservice without SEI |
|
|
webservice doesn't not have to implement SEI when there is one. | ||
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) |
|
|
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 AXIS2-2218 |
|
- handlers must be able to transform the SOAP header | Axis2 AXIS2-2218 |
|
- handlers must be able to transform just parts of the body | Axis2 AXIS2-2218 |
|
- handlers must be able to just read a message where no additions/modifications to the message are made | Axis2 AXIS2-2218 |
|
- handler chains must be properly filtered by service name, port name or protocol binding information | Axis2 AXIS2-2218 | |
- Supports javax.jws.HandlerChain annotation | ||
- The handler-chain element in deployment descriptor overwrites the @HandlerChain annotation and the order of the handlers is maintained |
| |
- Supports handler run after the container has performed the security constraint checks or method level authorization | Axis2 AXIS2-2218 |
|
- 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 AXIS2-2218 |
|
Publish the service-ref WSDL (getWsdlLocation method is available for use.) | ||
supports service-ref overwrite |
| |
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) | ask Jeff |
|
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 AXIS2-2218 |
|
-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 |
| |
Allows the client to locate a service interface by using JNDI APIs |
|
|
|
|
|
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 CXF1: Handler chain filtering ignores namespaces for service or port name.
- cxf2 CXF2: The file specified by the @HandlerChain annotation can only be read from within a classloader of the module.
- cxf3 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.
Developed and tested.
Developed but needs more testing.
Not tested but JAX-WS engine support it.
Incomplete functionality.