You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 29 Next »

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

(tick)

(tick)

Supports SOAP 1.1 over HTTP

(tick) Default

(tick) Default

Supports SOAP 1.2 over HTTP

(tick)

 

Supports XML over HTTP

(plus)

(warning)

Supports SOAP 1.1 over HTTP with MTOM enabled

(tick)

 

Supports SOAP 1.2 over HTTP with MTOM enabled

(tick)

 

 

 

 

POJO support

 

 

Supports web service deployment (new deployment)

(tick)

(tick)

Supports web service deployment (expose existing deployed Java EE components as a web service)

 

 

Supports optional web.xml file

(plus)

(plus)

Supports optional wsdl file

(tick)

(tick)

Supports javax.jws.WebService annotation

(plus)

(plus)

Supports javax.xml.ws.WebServiceProvider annotation

 

(warning)

Supports web service annotation without web service descriptor file

 

(tick)

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

(plus)

(tick)

SEI is not required

 

(plus)

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

 

(warning)

Supports optional @PostConstruct, @PreDestroy annotations for lifecycle event callbacks. (p44)

(tick)

(tick)

Supports @Resource annotation to access WebServiceContext (p44)

(tick)

(tick)

Injects @EJB, @WebServiceRef, and other @Resource annotations

(plus)

(tick)

Allows a developer able to specify protocol binding on a web service endpoint by using javax.xml.ws.BindingType annotation

 

(plus)

Able to ignore JAX-RPC mapping file for JAX-WS projects (p47)

(tick)

(tick)

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)

 

 

  - handlers must be able to transform the SOAP header

 

(warning)

  - handlers must be able to transform just parts of the body

 

(warning)

  - handlers must be able to just read a message where no additions/modifications to the message are made

 

(warning)

  - handler chains must be properly filtered by service name, port name or protocol binding information

 

(tick) #cxf1

  - Supports javax.jws.HandlerChain annotation

 

(tick) #cxf2

  - The handler-chain element in deployment descriptor overwrites the @HandlerChain annotation and the order of the handlers is maintained

 

(tick)

  - Supports handler run after the container has performed the security constraint checks or method level authorization

 

 

  - Supports optional @PostConstruct, @PreDestroy annotations for lifecycle event callbacks

(tick)

(tick)

  - a handler may access the env-entrys of the component by JNDI lookup or @Resource injection

 

(tick)

Publish the service-ref WSDL

 

(plus)

Publish the deployed WSDL

(tick)

(tick)

Make the required service interface implementation available at the JNDI namespace location java:comp/env/service-ref-name. (p135)

 

(plus) #cxf3

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

 

(plus)

Supports optional deployment descriptor file (ejb-jar.xml)

(plus)

(plus)

Supports optional wsdl file

(tick)

(tick)

Supports javax.jws.WebService annotation

(tick)

(tick)

Supports javax.xml.ws.WebServiceProvider annotation

 

(warning)

Supports web service annotation without web service descriptor file

 

(tick)

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

(plus)

(plus)

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)

 

 

  -handlers must be able to transform the SOAP header

 

 

  -handlers must be able to transform just parts of the body

 

 

  -handlers must be able to just read a message where no additions/modifications to the message is made

 

 

  -Supports javax.jws.HandlerChain annotation

 

 

  -Supports handler run after the container has performed the security constraint checks or method level authorization

 

 

  -a handler may access the env-entry-names and env-entrys by JNDI lookup.

 

 

  -the handler-chain in DD can be processed and the ordering of the handler must be maintained

 

 

Publish the service-ref WSDL

 

 

Publish the deployed WSDL

(plus)

 

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)

 

(plus) #cxf3

May reside in a Java EE client container

 

(plus) #cxf3

Could use J2SE or J2ME

 

 

Allows the client to locate a service interface by using JNDI APIs

 

(plus) #cxf3

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)

(plus)

(plus)

 

 

 

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

(tick) Developed and tested.
(plus) Developed but needs more testing.
(warning) Not tested but JAX-WS engine support it.
(question) Incomplete functionality.

  • No labels