...
Geronimo 2.0 Web Services support
This table will be 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 Card as this table shows the current status of the detailed functions. The function items are obtained from JSR 109 only and don't cover any other JSRs needed for web services. The assumption is based on the assumption that we only need to implment implement JSR 109 for to integrate either Axis2 or CXF into Geronimo. excerpt
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 HTTPS SOAP binding |
|
| Supports SOAP 1.1 over HTTP with MTOM enabled | ||
Supports SOAP 1.2 over HTTP with MTOM enabled | |||||
|
|
| |||
POJO support - JAX-WS 2.0 |
|
| |||
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 Supports web.xml is optional |
|
| |||
Supports optional wsdl is optional |
| 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 overide 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 implmentation 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 |
|
| |||
deployment a webservice without SEI |
|
| |||
webservice doesn't not have to implement SEI when there is one. | 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 implmentation implementation bean are exposed to the client |
| ||||
Supports optional @PostConstruct or , @PreDestroy annotation annotations for lifecycle event callbacks. (p44) |
|
| |||
Supports @Resource annotation to access message context and security info 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 Cataglos Catalogs 1.1 specification to be used to resolve web service description document (wsdl/xsd) (p47) |
| ||||
Supports HandlerChian 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 is made |
| are made | Axis2 AXIS2-2218 |
| |
- handler chains must be properly filtered by service name, port name or protocol binding information | Axis2 AXIS2-2218 | ||||
- Supports jacaxjavax.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-entry-names and env-entrys of the component by JNDI lookup . |
|
| |||
-the handler-chain in DD can be processed and the ordering of the handler must be maintained. |
|
| |||
or @Resource injection | Axis2 AXIS2-2218 |
| |||
Publish the service-ref WSDL (getWsdlLocation method is available for use.) | |||||
supports service-ref overwrite |
| Publish the service-ref WSDL |
|
| |
Publish the deployed WSDL |
| ||||
Make the required service interface implmentation avail 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 |
|
| |||
|
|
| |||
POJO support - JAX-RPC 1.1 |
|
| |||
G2987 JAX-RPC 1.1 based web service apps should continue work and routed to Axis1 | |||||
|
|
|
|
| |
EJB Support |
|
| |||
Supports javax.ejb.stateless Stateless annotation |
| ||||
Supports optional deployment descriptor file (ejb-jar.xml) |
|
| |||
Supports optional wsdl is optional 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 overide 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 jacaxjavax.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 implmentation implementation avail at the JNDI namespace location java:comp/env/service-ref-name. (p135) |
|
| |||
Seployment 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 |
|
| |||
|
|
|
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) |
|
|
| Allows the client to call any SOAP 1.1, 1.2 based web services via HTTP 1.1 or HTTPS SOAP binding |
|
|
| ||
EJB Support |
| Packaging - CXF or Axis2 | ||
JAX-RPC 1.1 based web service applications should continue to work (handled by Axis1) |
|
| ||
Provide CXF and Axis2 as geronimo plugins? |
|
|
...
title | 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.