 |
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 |
|