This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 80707

Summary: Recognize Provider web services as web services
Product: webservices Reporter: Martin Grebac <mgrebac>
Component: JAX-WSAssignee: issues@webservices <issues>
Status: NEW ---    
Severity: blocker CC: jungi, mkuchtiak
Priority: P2 Keywords: API, UI
Version: 5.x   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Exception Reporter:
Bug Depends on: 81253, 81254    
Bug Blocks:    
Attachments: Example of Provider web service - STS implemented as provider

Description Martin Grebac 2006-07-20 10:37:16 UTC
and show them in the logical view, with reasonable node actions enabled (like
Edit WS Attributes)

This is required e.g. for Secure Token Service (STS) (see attached code). 

The main issue right now is that there's currently no way to configure WS
Attibutes for such service (like WSIT security, ...).
Comment 1 Lukas Jungmann 2006-07-20 10:59:44 UTC
I'd say there are more things we should do here - in support for this type of
websvcs (like eg. provide file templates...)
Comment 2 Martin Grebac 2006-07-20 12:31:35 UTC
Exactly, you are right. I didn't consider those to be P1 Enhancement though,
thus not mentioned here.
Comment 3 Martin Grebac 2006-07-21 11:24:29 UTC
Created attachment 32088 [details]
Example of Provider web service - STS implemented as provider
Comment 4 Milan Kuchtiak 2006-07-27 13:45:49 UTC
The problem is more general:

Currently (in 5.5) we even don't recognize web services with
@WebService:wsdlLocation attribute.
The reason is that this is quite a complex problem and wsimport should be called
to generate java artifacts as well.
Instead, we have the WS from WSDL service, where all required information are
requested from the user.

As I correctly understand @WebServiceProvider is useful for the XML message
level communication between service and client. 
A specific method - invoke() - should be implemented in implementation class and
there are 2 modes(Mode.MESSAGE and Mode.PAYLOAD) and 3 Provider implementation
classes that can be used.
Also to create a "XML Message Level" operating Client the Dispatch API should be
used.

I am going to separate this enhancements to 4 separate enhancements :
1. Create wizard web service operating at XML Message Level
2. Create wizard for client operating at XML Message Level
3. recognize all (@WebService) services in project automatically 
   (this is also related to project import
4. recognize XML Message Level(@javax.xml.ws.WebServiceProvider) web services 
automatically in project

So this enhancement is bacically the enhancement #4.
Comment 5 Milan Kuchtiak 2006-07-27 14:02:37 UTC
See the enhancements 81253, 81254, 91257.
Comment 6 Martin Grebac 2006-07-27 14:29:24 UTC
 So, do you say the order is by priority? 
 If you want to prioritize the enhancements, please do not change priority of
this one to P2 - this one has higher priority than the wizards, because if you
don't have wizards, you are not blocked - it's not that hard to implement the
service by hand. 
 However, if the service is not recognized as a web service, you're completely
blocked, and even a wizard won't help you. 
Comment 7 Milan Kuchtiak 2006-07-27 15:41:52 UTC
All enhancements are P2s now. The issue 81257 is at least the same priority.

The "workaround" for this particular case is this :
- have a wsdl file
- create a WS from that wsdl
- change the implementation class to implement the Provider interface and add
necessary annotations (@javax.xml.ws.WebServiceProvider. @ServiceMode)

Though, this is not exactly you want (to recognize WS automatically), you can
achieve that somehow.