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 63326 - [50cat] Complete support for web service development
Summary: [50cat] Complete support for web service development
Status: VERIFIED WONTFIX
Alias: None
Product: serverplugins
Classification: Unclassified
Component: JBoss (show other bugs)
Version: 5.x
Hardware: All All
: P3 blocker (vote)
Assignee: Pavel Buzek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-30 14:26 UTC by Lukas Jungmann
Modified: 2006-06-26 14:00 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
proposed patch (18.05 KB, patch)
2005-08-30 17:01 UTC, Lukas Jungmann
Details | Diff
correct patch (13.12 KB, text/plain)
2005-08-30 17:20 UTC, Lukas Jungmann
Details
contains: websvc in EJB module + its J2ee client in webapp (60.95 KB, application/octet-stream)
2005-11-09 17:43 UTC, Lukas Jungmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lukas Jungmann 2005-08-30 14:26:18 UTC
[build 200508291800]

   Currently if user want to work with websvcs and have jboss as target server
he has to develop app for sunappserver, create websvcs, change target server and
set "j2ee.platform.wscompile.classpath" property to "${libs.jaxrpc16.classpath}"
(because of bundling jaxrpc libraries with IDE) to be able to successfuly
clean/build/run project.
   JBoss could use wscompile which is now bundled with IDE (see websvc/jaxrpc16
module).
   See also how does it sunappserver
(http://www.netbeans.org/source/browse/serverplugins/sun/appsrv81/src/org/netbeans/modules/j2ee/sun/ide/j2ee/PlatformImpl.java?rev=1.4&content-type=text/vnd.viewcvs-markup)
Comment 1 Lukas Jungmann 2005-08-30 16:58:54 UTC
Possible fix could be:

 - add dependency on websvc/jaxrpc16 module
 - implement required methods in
org.netbeans.modules.j2ee.jboss4.ide.JBJ2eePlatformFactory

attached patch works fine for me, apply it if you want
Comment 2 Lukas Jungmann 2005-08-30 17:01:22 UTC
Created attachment 24372 [details]
proposed patch
Comment 3 Lukas Jungmann 2005-08-30 17:20:13 UTC
Created attachment 24374 [details]
correct patch
Comment 4 clever 2005-10-05 22:05:18 UTC
I'm assuming this is the cause of the:

wscompile-init:
C:\Data\Projects\Corporate Directory\CorpDir Enterprise\CorpDir
Enterprise-war\nbproject\build-impl.xml:281: taskdef class
com.sun.xml.rpc.tools.ant.Wscompile cannot be found
BUILD FAILED (total time: 1 second)

That I'm seeing? This should definitely be fixed for 5.0.  I'm having a hard
time warming up to the SJS. (Too big and clunky)
Comment 5 clever 2005-10-05 22:14:29 UTC
If the IDE is supposed to support building web services, and JBoss is an option,
I would like to change this do a definite bug. At the very least, when a user
selects or tries to build a project with a web service, they should be warned of
the lack of web service support for JBoss. The error message I see means
something to me, but for new users to web service development, is very confusing.
Comment 6 Petr Blaha 2005-10-06 08:18:36 UTC
Hi clever, I think that this is rather a enhancement then defect. I think that
creation web service/client for JBoss, Tomcat is disabled in latest builds. In
wizard the error 'The current target server for this project doesn't support
JAXRPC so no web services can be created' is printed. 
This feature will be definitely implemented in next release after 5.0.
Comment 7 schwarcz 2005-11-07 22:52:25 UTC
I also think this should be a bug.  To say that WebServices for JBoss is now
disabled is not satisfactory.  After all the Java One / NetBeans day announced
JBoss support, not JBoss support with little web services.
Comment 9 Geertjan Wielenga 2005-11-08 05:59:10 UTC
Pavel, this has impact on docs. Please read current help topics on JBoss and web
services and tell me how to update it.
Comment 10 Pavel Buzek 2005-11-08 06:27:01 UTC
I guess now I have to change it to a defect ;-)
Comment 11 Pavel Buzek 2005-11-08 06:39:18 UTC
Geertjan, I do not know why you recommend step 1:
"Copy all JAR files from $NB_HOME/ide6/modules/ext/jaxrpc16 to
$JBOSS_HOME/servers/default/lib, assuming that your JBoss domain is default."

I think that jboss has these jar libraries (jboss-jaxrpc.jar and
jboss-saaj.jar). Or did I miss something? The only think that is needed is the
wscompile.

Adding jaxrpc library to project, modifying build script and using SJAS as the
target server is not needed.

If I am right about jboss having all the APIs then after QA verifies this issue
you can simply delete the 2 topics from jboss (deploying and consuming a WS).

Thanks.
Comment 12 Petr Blaha 2005-11-08 08:26:27 UTC
Pavle, I think that bundled wscompile generates artefacts that are dependent on
Sun's implementation of jaxrpc or saaj for client with IDE-generated static
stub. It means that Sun's implementation should be copied at least for this
client. I think that for Web service and J2EE container web service these jars
aren't needed. 

Lukasi, can you verify these usecases? Thanks.
Comment 13 Lukas Jungmann 2005-11-09 17:39:56 UTC
Here comes summary of my observation:

I. Web Services:

 - RPC Style
   - works Out-Of-The-Box now :-)
 - Document Style
   - user have to manually generate request/response structure objects for each
 webservice and package it via modifying project's build.xml, eg. this way:

  <target name="-post-compile" depends="<wsName>_wscompile,...">
    <wscompile gen="true" fork="true" keep="true" server="true"
               client="false" base="${build.generated.dir}/wsbinary"
            xPrintStackTrace="true" verbose="true"
            nonClassDir="${build.web.dir.real}/WEB-INF/wsdl"
classpath="${wscompile.classpath}:${build.classes.dir.real}:${javac.classpath}"
mapping="${build.web.dir.real}/WEB-INF/${SimpleWebService.mapping}"
config="${SimpleWebService.config.name}"
features="${wscompile.service.SimpleWebService.features}"
            sourceBase="${build.generated.dir}/wsservice"/>
  </target>

  <target name="-pre-dist">
     <!-- TODO in webapp: copy classes generated by wscompile to
${build.web.dir.real} -->
     <!-- TODO in ejb module: copy classes generated by wscompile to 
${build.classes.dir} -->
  </target>

   There is no need to copy any jaxrpc libraries to jboss. There should be also
some way how to not use wscompile generated stuff but it has not been documented
yet (see: http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossWSFAQ).
   There's also known issue #52265 (Invalid URL in "Enter WSDL Url" dialog)
which applies to webservices in ejb module.


II. Web Service Clients

 - IDE-generated static stub
   - JAX-RPC library is added to the project automatically now so in this case
there's no need to copy anything anywhere
   - works Out-Of-The-Box now :-)

 - J2EE Container-generated stub
   - DD's are not handled correctly, user have to fix following:
     in web.xml:
        - replace <wsdl-file>...</wsdl-file> with
<wsdl-file>USE_JBOSS_WEB_XML_OVERRIDE</wsdl-file>
        - remove whole port-component-ref element
     in jboss-web.xml:
        - add
    <service-ref>
       <service-ref-name>_same_as_in_web.xml/service-ref-name>
       <wsdl-override>_url_of_wsdl</wsdl-override>
    </service-ref>
   - in this case user should copy _all_ JAX-RPC jars from IDE to JBoss and in
project there he should use them _only_ for compiling project (uncheck "package"
in project properties | Libraries) (without this user will get exceptions (such
as eg. serviceSEI does not implement javax.xml.rpc.Service) instead of being
able to successfully run app on JBoss)


   If something is not working as expected then:
     - check proxy settings (http.proxyHost, http.proxyPort and http.nonProxyHosts)
Comment 14 Lukas Jungmann 2005-11-09 17:43:46 UTC
Created attachment 26790 [details]
contains: websvc in EJB module + its J2ee client in webapp
Comment 15 Geertjan Wielenga 2005-11-15 09:48:49 UTC
I am deleting the two topics about JBoss web services, as Pavel suggests,
because the workaround provided by Lukas is because of defects in JBoss. If
those defscts in JBoss are solved, the workaround in the helpset would be
irrelevant. In principle, JBoss should work out of the box with web services,
because it is a J2EE 1.4 application server. The fact that it doesn't is not
caused by NetBeans and therefore should not be resolved in NetBeans docs.
Comment 16 Lukas Jungmann 2006-06-26 14:00:47 UTC
v.