Bug 133205 - Eclipse WTP does not support the J2EE 1.4 standard for Web Services Creation
Summary: Eclipse WTP does not support the J2EE 1.4 standard for Web Services Creation
Status: NEW
Alias: None
Product: WTP Webservices
Classification: WebTools
Component: wst.ws (show other bugs)
Version: unspecified   Edit
Hardware: All Windows XP
: P3 enhancement with 2 votes (vote)
Target Milestone: ---   Edit
Assignee: Keith Chong CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2006-03-24 16:22 EST by ludo CLA
Modified: 2009-02-25 15:15 EST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ludo CLA 2006-03-24 16:22:55 EST
Eclipse WTP 1.0, 1.0.1 or even 1.5 does not support the J2EE 1.4 standard for creating Web Services.

JSR 109 was delivered in November 2002 (http://www.jcp.org/en/jsr/detail?id=109)
and it defines the programming model and architecture for implementing web services in Java.

JSR 109 is part of the J2EE 1.4 specification (http://www.jcp.org/en/jsr/detail?id=151 ,
and http://java.sun.com/developer/technicalArticles/J2EE/new1_4  ).
A maintenance release will be delivered with the new Java EE 5 specification.

When I create a Web Service with Eclipse WTP 1.0.1, for example on a Web App, the resulting web.xml contains

   <servlet>
       <display-name>
       Apache-Axis Servlet</display-name>
       <servlet-name>AxisServlet</servlet-name>
       <servlet-class>
       vrvlet</servlet-class>
   </servlet>
   <servlet>
       <display-name>
       Axis Admin Servlet</display-name>
       <servlet-name>AdminServlet</servlet-name>
       <servlet-class>
       org.apache.axis.transport.http.AdminServlet</servlet-class>
       <load-on-startup>100</load-on-startup>
   </servlet>
   <servlet-mapping>
       <servlet-name>AxisServlet</servlet-name>
       <url-pattern>/servlet/AxisServlet</url-pattern>
   </servlet-mapping>
   <servlet-mapping>
       <servlet-name>AxisServlet</servlet-name>
       <url-pattern>*.jws</url-pattern>
   </servlet-mapping>
   <servlet-mapping>
       <servlet-name>AxisServlet</servlet-name>
       <url-pattern>/services/*</url-pattern>
   </servlet-mapping>

Which indicates that this Web Application is AXIS dependant and not JSR 109 compliant, so it is not J2EE 1.4 compliant.
AXIS clearly states that it is not JSR 109 compliant (http://ws.apache.org/axis2/)

The link http://www.eclipse.org/webtools/initial-contribution/IBM/evalGuides/WebServicesToolsEval.html?p=1
says "Since Apache Axis is not a JSR-109 Web service runtime, the Configure Handlers wizard is of limited use unless a third party extends the WTP platform with a JSR-109 compliant Web service runtime"
I am not sure why this should not be part of WTP itself since the  project vision is to clearly support the J2EE 1.4 APIs. (http://www.eclipse.org/webtools/jst/main.html)

So, unless I am mistaken, I do not see a way to create J2EE 1.4 Web services in Web applications, or EJB Modules, that can produce
a portable archive (War, or Jar), across all the J2EE 1.4 servers, like WebSphere, Oracle, JBoss, Sun Application Servers 8.1, 8.2 or even GlassFish Java EE 5 application server (in the J2EE 1.4 compatible mode).

If this is not possible to do in WTP, how can the entire Eclipse SOA Tool Platform  (http://www.eclipse.org/stp/) story can be built in a compliant way and "standards-based" as mentioned in the about page (http://www.eclipse.org/stp/about.html) ?
Comment 1 Chris Brealey CLA 2006-03-27 10:20:37 EST
There is some support, albeit minimal, for JSR-109 compliant Web services and clients in WTP. The J2EE project explorer and handler configuration wizard are examples. The Web service wizards can also be extended by any interested party with support for a JSR-109 capable server.

I agree JSR-109 and J2EE 1.4 are totally within WTP's scope and that WTP's support for JSR-109 is limited to "awareness", however, I believe a central issue here re. your request for "Creation" tools is the absence of an open-source JSR-109 runtime and the accompanying code generators for us to integrate into WTP.

Since it is not within the scope of WTP to develop Web service runtimes and their deployment code generators, we need to...

1. clearly distinguish what additional extensible tools we could invent to better support JSR-109 when a JSR-109-compliant runtime is plugged into the platform, and

2. identify an open source JSR-109 Web service runtime to integrate into WTP.

I would very much like your help in clarifying at least #1. I do not think we can maintain this bug as a "blocker". I am very much in favour, however, of managing this as an RFE, and would equally much like your help to identify what specific generic JSR-109 tools are missing. I certainly wouldn't sneeze at help in the form of contributions of new tools either. In other words, what exactly are your requirements, and are you available to help us design or implement them?

Rather than return the bug for more information, I'll assign it to myself, change the severity to "enhancement", and await your thoughts.

BTW, there is no implied relationship between an arbitrary SOA and any programming model such as J2EE. Specific implementations of SOA will define the standards to which they comply, and any such implementation - such as SCA for example - may, or may not, declare an optional or mandatory dependency on specific pre-existing XML or Java standards, such as J2EE. Is there a specific SOA implementation that requires J2EE JSR-109 compliance you're referring to?
Comment 2 Arthur Ryman CLA 2006-03-27 11:39:53 EST
Chris, Some background on this. Ludo has been working with us to create a WTP server adapter for Glassfish. I finally met him last week at EclipseCon and he mentioned this JSR 109 issue. I had incorrectly assumed that JSR 109 was only for EJBs but Ludo said it was also for the servlet container, so I asked him to open an RFE describing this. I agree that this is not a blocker.

Ludo, As Chris stated, we would welcome any help you can give us. I agree that JSR 109 is in the mission of WTP. Other vendors have extended WTP for their JSR 109 compliant servers. Our problem was the lack of JSR 109 support in Axis which is the main Web service runtime we target out of the box.

Can you suggest any incremental steps we can make in the near term?
Comment 3 Kathy Chan CLA 2007-09-13 12:10:58 EDT
In an effort to clean up old and inactive RFEs (this defect had been inactive for 18 months), I am returning this RFE.  Please re-open with additional information as requested if this is still an issue.
Comment 4 ludo CLA 2007-09-13 12:16:00 EDT
the real bug is that RFE is inactive...
I am still not be able to see wizards in Eclipse 3.3 WTP 2.0 that allows for creation fo JSR 109 web services (J2EE 1.4), and the new Java EE 5 web services as well without the need to add an extra web service stack like AXIS...

Unless I am not looking at the correct place..
Comment 5 Kathy Chan CLA 2007-09-14 16:02:48 EDT
Hi Ludo,

The additional information I was refering to is what Chris stated in comment #1, namely,

Since it is not within the scope of WTP to develop Web service runtimes and
their deployment code generators, we need to...

1. clearly distinguish what additional extensible tools we could invent to
better support JSR-109 when a JSR-109-compliant runtime is plugged into the
platform, and

2. identify an open source JSR-109 Web service runtime to integrate into WTP.

We would need these information in order to proceed with this RFE.  I am also putting a "helpwanted" keyword to denote this as an RFE that we would need help implementing given our current resource on the team.

Thanks!
Comment 6 Chris Brealey CLA 2007-09-14 16:24:52 EDT
Assigned to you, Kathy. Thanks - CB.
Comment 7 David Carver CLA 2008-06-28 01:28:47 EDT
Kathy, it looks like the Geronimo server in the apache project has a lot of JSR 109 support, and it appears that the more recent versions of AXIS2 have added a bit more support, specifically for the JAX-WS support.   I believe as of JDK 1.6 the Jax-ws and Jaxb are included as part of the JDK.

http://ws.apache.org/axis2/1_4/jaxws-guide.html