Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 248630

Summary: Proposal for JAXWS Incubator Component
Product: z_Archived Reporter: Oisin Hurley <oisin.hurley>
Component: WTP IncubatorAssignee: David Williams <david_williams>
Status: RESOLVED FIXED QA Contact: David Williams <david_williams>
Severity: enhancement    
Priority: P3 CC: david_williams, juergen.zimmermann, kathy, naci.dai, oisin.hurley, shane_clarke, yves.yang
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
Proposal Text draft in HTML format
none
Proposal Text draft in HTML format
none
Feature and plugins, with source code included
none
Latest Feature and Plug-ins. Renamed.
none
Proposal Text draft in HTML format none

Description Oisin Hurley CLA 2008-09-25 13:35:54 EDT
Created attachment 113496 [details]
Proposal Text draft in HTML format

This proposal (attached) is for a set of plugins and a feature (attached, as zip file) that represent assistance for the construction of JAX-WS based Java Web services, using WTP frameworks.

The attached plugins contain the source code, so that they can be dropped into an Eclipse install and imported into the workspace.

Minimum requirements:

Eclipse 3.3.2
WTP 2.0.2

Eclipse 3.4.1, WTP 3.0.2 compatible

Orbit dependencies

javax.jws
http://download.eclipse.org/tools/orbit/downloads/drops/R20080807152315/bundles/javax.jws_2.0.0.v200806110623.jar

javax.xml.ws
http://download.eclipse.org/tools/orbit/downloads/drops/R20080807152315/bundles/javax.xml.ws_2.0.0.v200806030422.jar

org.jdom
http://download.eclipse.org/tools/orbit/downloads/drops/R20080807152315/bundles/org.jdom_1.0.0.v200806100616.jar

javax.wsdl (included in WTP from 3.0)
http://download.eclipse.org/tools/orbit/downloads/drops/R20080807152315/bundles/javax.wsdl_1.5.1.v200806030408.jar
Comment 1 Oisin Hurley CLA 2008-09-25 13:37:05 EDT
Created attachment 113497 [details]
Proposal Text draft in HTML format
Comment 2 Oisin Hurley CLA 2008-09-25 13:38:38 EDT
Created attachment 113500 [details]
Feature and plugins, with source code included

The package name refers to STP at this time, this of course would need to be changed.
Comment 3 David Williams CLA 2008-09-30 16:15:07 EDT
This seems like a good idea to me, for the incubation project, pending of course more technical review by those who no something about web services. 

One question though, given it's current "version" of 0.3, I'd assume not, but wanted to check ... was this ever _released_ in STP? Like last June? Or has this work been done since then? If released, I might have more questions, or might want to check on Eclipse current policies about components that move from one project to another ... just to make sure everyone is aware ... but if not released, then I don't think it's an issue. 

Comment 4 Shane Clarke CLA 2008-10-01 07:13:15 EDT
Hi David,

No, this was never released in STP.
Comment 5 Shane Clarke CLA 2008-10-01 11:51:12 EDT
The feature is also branded. This would need to change as well.
Comment 6 Kathy Chan CLA 2008-10-03 14:46:14 EDT
Thank you Oisin and Shane for your submission!  

I've taken a look at the proposal and see that it fits into the scope of WTP incubator project with a longer term goal of being part of WTP.  

I've taken a look at the videos and had tried out a few JAX-WS Web services scenarios using the CXF runtime (on top of WTP 3.0.2) with the plugins submitted.  I am impressed with the functionality available and how it tries to fit into the existing WTP Web services framework.  

There are a few issues I found such as:

- WSDL not update with the endpoint of Web service after a Web service creation scenario
- WSDL URL not passed back to the Web services framework so that it can be used by the test extensions and client extensions
- Code generated in top-down scenario has compile errors
- Need to understand why you need to introduce your own Web services type extensions for supporting the JAX-WS CXF runtime rather than using the existing bottom-up and top-down extensions.
- Need to have to code ported over to run on Eclipse 3.5 and WTP 3.1.

I'm sure we can work through these in more detail once this becomes a WTP incubator project.  We'll use WIKI or bugzilla to discuss through these issues.

I will send an email out to wtp-incubator-dev later on today to get feedback from other project leads and the WTP incubator community.  Once we get the proposal "approved" by the community, I'll submit a CQ to get IP's approval for the submission.  Once I get the initial OK from IP, I'll check in the submitted source code into CVS and nominate you two as committers.

Again, looking forward to working with you on this project!
Comment 7 Shane Clarke CLA 2008-10-07 10:24:56 EDT
Created attachment 114423 [details]
Latest Feature and Plug-ins. Renamed.

Hi Kathy,

I've attached a build of the latest code.

There are fixes in there that should address the problems you where having.

WSDL Updated after deployment.
URL is passed back to the framework for use with test extensions and client extensions.

The features and plug-ins have also been renamed, and the branding changed.
Comment 8 Shane Clarke CLA 2008-10-07 11:50:19 EDT
- Need to understand why you need to introduce your own Web services type
extensions for supporting the JAX-WS CXF runtime rather than using the existing
bottom-up and top-down extensions.

I started off using the existing extensions. 

But introduced an additional web services type to get around the object selection widget used in the existing bottom up extension.

I needed an object selection widget that limited the service implementation selection to Java source types in the workspace and that also allowed the user to select a java interface as a starting point. 

This was done to allow the user to extract an SEI and annotate source code while also previewing the changes while running through a bottom up scenario.



Comment 9 Oisin Hurley CLA 2008-11-04 06:35:44 EST
Created attachment 116915 [details]
Proposal Text draft in HTML format
Comment 10 Oisin Hurley CLA 2008-11-04 06:41:10 EST
I noticed I had not removed a committer name from the Proposal as I had promised to do - apologies.  I hope this hasn't held things up!

What's the next step in the process?
Comment 11 David Williams CLA 2008-11-08 01:12:09 EST
(In reply to comment #10)
> 
> What's the next step in the process?
> 

Next step is for me to submit a CQ (Contribution Questionnaire) for this contribution (as we do for any contribution). 

I started to tonight, and see they've added some questions (which in the past they always asked immediately afterwards so this is an improvement :)  

"please provide contact details for each of the contributors: name, organization, email address and/or phone number, percent of contribution authored."

Oisin and Shane, can you please provide? Feel free to send me an email rather than put contact info here, if you'd prefer. 


Also, as I was looking at the code, notice you use an internal CompilationUnitChange class. Is there a reason you didn't use the API one in 
org.eclipse.jdt.core.manipulation? I suspect it was just recently made an API there, but thought I'd ask. 

Also, besides the percent of code ... can you explicitly list the icons/graphics you have and specify if you created them, or, if copied from some other part of Eclipse? ... or, whatever their source was. 

Thanks, 
Comment 12 David Williams CLA 2008-11-08 02:05:50 EST
nevermind the contact info, I realized I had that already. 

So, just document the "percentages" (90/10?) 
and the info on the source of the images. 

I've opened CQ 2818
https://dev.eclipse.org/ipzilla/show_bug.cgi?id=2818
Comment 13 Oisin Hurley CLA 2008-11-10 10:18:34 EST
(In reply to comment #12)
> So, just document the "percentages" (90/10?) 

Shane has created the large majority of the code in this submission; my contributions most likely add up to less than 10% of the whole, but do contain intangibles like pair programming and the like. I'm happy to go with 90/10 as a representative ratio.
Comment 14 Shane Clarke CLA 2008-11-11 14:45:49 EST
(In reply to comment #12)
> Also, as I was looking at the code, notice you use an internal
> CompilationUnitChange class. Is there a reason you didn't use the API one in 
> org.eclipse.jdt.core.manipulation? I suspect it was just recently made an API
> there, but thought I'd ask. 
> 

I wasn't aware of the public API at the time. I'll look into updating any references to internal classes where possible.
Comment 15 David Williams CLA 2008-11-17 03:59:38 EST
I'll mark this proposal entry as "fixed", code is in cvs, under parallel review, committers nominated, etc., so I'd say it is "underway". 

thanks, 
Comment 16 Yves YANG CLA 2008-11-30 07:26:35 EST
I'm interested in the interoperability between Silverlight and Java. During my test, I got below exception in Tomcat when I create the WebService Reference via Visual Studio.  

Nov 30, 2008 1:21:20 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.NullPointerException
	at org.apache.cxf.frontend.SimpleMethodDispatcher.getMethod(SimpleMethodDispatcher.java:96)
	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:57)
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
	at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
	at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:285)
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:168)
	at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:175)
	at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:153)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:595)
Nov 30, 2008 1:21:20 PM org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
Comment 17 Oisin Hurley CLA 2008-12-01 03:38:51 EST
Yves, you will get a more useful response if you post this to the cxf-dev mailing list, as it looks like a specific issue that the CXF team would like to investigate.