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 124608

Summary: FAST: For EJB-WS remove the dependency of deploying the EJB module in order to retrieve the WSDL
Product: webservices Reporter: lpolycarpou <lpolycarpou>
Component: CodeAssignee: Roderico Cruz <rcruz>
Status: NEW ---    
Severity: blocker    
Priority: P2    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Exception Reporter:

Description lpolycarpou 2008-01-02 20:13:26 UTC
When working with EJB web services and BPEL, the temptation is to drag and drop the WS directly into the BPEL designer.
 This is not supported.  It is necessary for the EJB module to be built and deployed first in order to generate the
WSDL.  Forcing developers to build and deploy something before it can be used in the development of a BPEL process is
non-intuitive and arguably unacceptable.
Comment 1 Lukas Jungmann 2008-01-02 20:26:44 UTC
Reporter, use websvc component for web services related issues next time please.
Thanks.
Comment 2 Milan Kuchtiak 2008-01-16 16:08:37 UTC
The current implementation of Web Services in Netbeans projects mapps the web service to the (expected) URL of WSDL file:

FooService   ->       http://localhost:8080/WebApplication1/FooService?WSDL     /* WS created in Web Application */
BarService   ->       http://localhost:8080/BarService/Bar?WSDL   /* WS created in EJB Module */

The urls are working only after web service is deployed. However, we compute somehow this url even before deployment
(based on selected target server and web service annotations).
We do that because for JavaEE 5 Web Services the existence of WSDL file is not required (e.g. for web services created
from java) The wsdl file is generated later - during the deployment process.

I am not very familiar with BPEL application. Would it be possible, for BPEL scenario, to generate wsdl before deployment)?
Comment 3 Roderico Cruz 2008-01-16 21:07:30 UTC
The ideal solution is to generate the wsdl at creation time. At this point the wsdl will be abstract but that is all
BPEL needs.
Comment 4 Lukas Jungmann 2008-01-16 21:27:30 UTC
For each webservice there is created wsgen target in the build script in each project type, which is being called only
if target server does not support JSR-109 deployment. If the target server supports JSR-109 then wsgen target is not
called, but it is still present to support use-cases like this one.

In the other words - WSDL can be generated on demand by BPEL itself (ie. if user drops a service onto the BPEL diagram
then just call something like ActionUtils.runTarget(FileObject(build.xml), new String[]{""wsgen-"+serviceName},null) and
WSDL will be generated...)
Comment 5 lpolycarpou 2008-01-20 01:26:46 UTC
Should this now be reassigned to the BPEL team?  Perhaps an abstract WSDL can be generated when an EJB-WS is dragged
into the PL swimlane?  This method would also need to work with WSDL project references.
Comment 6 Roderico Cruz 2008-01-22 17:29:24 UTC
The changes will be in both web service core (this one) and BPEL because of the current design of the Transferable in
the drag and drop. So keep this request in this component. Thanks.