The Source for Java Technology Collaboration
User: Password:



Start New Message Delete Post a Reply

Article: 
 Web Services Made Easy with JAX-WS 2.0
Subject:  new tools: wsconsume, wsprovide, wsrunclient.
Date:  2008-05-01 15:54:54
From:  soch


I adapted the example based of the article on http://jbws.dyndns.org/mediawiki/index.php?title=JBossWS_JAX-WS_Tools.

Using Jboss 4.2.2., jaxws 3.0.1 native & JDK 6.
Then the steps are even shorter:

Here's the output:
1. Compile the server POJO: C\...\webservices\server>javac -d . -classpath jboss-jaxws.jar StockQuoteImpl.java
2. Create a SEI. Use the web.xml from above link and modify with servlet name & class & url pattern.
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<servlet>
<servlet-name>StockQuoteImpl</servlet-name>
<servlet-class>com.wakaleo.tutorials.webservices.server.StockQuoteImpl</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>StockQuoteImpl</servlet-name>
<url-pattern>/StockQuoteImpl</url-pattern>
</servlet-mapping>
</web-app>

3. Create a WAR file:
als\webservices\server>jar cvf stockquote.war WEB-INF
added manifest
adding: WEB-INF/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/com/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/com/wakaleo/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/com/wakaleo/tutorials/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/com/wakaleo/tutorials/webservices/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/com/wakaleo/tutorials/webservices/server/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/classes/com/wakaleo/tutorials/webservices/server/StockQuoteImpl.class(in = 707) (out= 476)(deflated 32%)
adding: WEB-INF/web.xml(in = 553) (out= 244)(deflated 55%)

4. Deploy the war file on Jboss:
14:42:11,456 INFO [DefaultEndpointRegistry] register: jboss.ws:context=stockquote,endpoint=StockQuoteImpl
14:42:11,472 INFO [TomcatDeployer] deploy, ctxPath=/stockquote, warUrl=.../tmp/deploy/tmp42831stockquote-exp.war/
14:42:11,675 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.2.2.GA/server/default/data/wsdl/stockquote.war/StockQuote
Service42832.wsdl


5. Create client stubs:
als\webservices\client>wsconsume -k http://127.0.0.1:8080/stockquote/StockQuoteImpl?wsdl
JBossWS-Native stack deployed
parsing WSDL...


generating code...
com\wakaleo\tutorials\webservices\server\GetQuote.java
com\wakaleo\tutorials\webservices\server\GetQuoteResponse.java
com\wakaleo\tutorials\webservices\server\ObjectFactory.java
com\wakaleo\tutorials\webservices\server\StockQuote.java
com\wakaleo\tutorials\webservices\server\StockQuoteService.java
com\wakaleo\tutorials\webservices\server\package-info.java

6. Compile the client:
als\webservices\output>javac com/wakaleo/tutorials/webservices/client/StockQuoteClient.java

7. Execute the client:
als\webservices\output>wsrunclient com/wakaleo/tutorials/webservices/client/StockQuoteClient
log4j:WARN No appenders could be found for logger (org.jboss.ws.metadata.builder.jaxws.JAXWSWebServiceMetaDataBuilder).
log4j:WARN Please initialize the log4j system properly.
SUN: 20.0

 Feed java.net RSS Feeds