我正在学习如何使用Java开发SOAP Web服务。
到目前为止,我一直在关注这个出色的教程
http://web.archive.org/web/20120626005333/http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/
一切顺利,我的Web服务从命令行通过其嵌入式服务器工作,然后在NetBeans的帮助下将其部署在Tomcat上。
我想知道在Tomcat上手动部署它的步骤,以了解它是如何完成的,并且因为我不喜欢依赖IDE。
我的意思是,我想知道如何从命令行和文本编辑器完成所有操作。
我还找到了此链接,该链接说明了如何将servlet手动部署到Tomcat,
http://linux-sxs.org/internet_serving/c292.html
但我找不到任何有关如何部署Web服务的文章。
非常感谢。
如何手动将jax-ws Web服务构建和部署到tomcat
我试图弄清楚如何手动构建和部署用于学习目的的Web服务。
我从这篇出色的文章开始
http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/ (新URL:http : //www.oracle.com/technetwork/articles/javase/jax- ws-2-141894.html)
想法是仅使用记事本和命令行来完成整个操作。
我唯一可以实现的方法是使用netbeans部署Web服务,然后查看位于\ dist \ .war的war生成文件(它只是一个zip文件,您可以使用7zip打开它)
如果有人感兴趣并出于文档目的,我将保留此内容…
如果有人知道更简单的方法,请告诉我!
经过测试:
C:\tomcat6\bin>version Server version: Apache Tomcat/6.0.26 Server built: March 9 2010 1805 Server number: 6.0.26.0 OS Name: Windows XP OS Version: 5.1 Architecture: x86 JVM Version: 1.6.0_18-b07 JVM Vendor: Sun Microsystems Inc.
礼炮
萨斯
c:\java\src\ws
c:\java\src\ws\Adder.java
// c:\java\src\ws\Adder.java package ws; import javax.jws.WebService; @WebService public class Adder { public double add( double value1, double value2 ) { return value1 + value2; } }
c:\java\src\ execute
c:\java\src> javac ws\Adder.java
文件 c:\java\src\ws\Adder.class will be generated
c:\java\src\ws\Adder.class will be generated
c:\tomcat6\webapps\adder_ws META-INF context.xml WEB-INF classes ws Adder.class lib activation.jar webservices-api.jar webservices-extra.jar webservices-extra-api.jar webservices-rt.jar webservices-tools.jar sun-jaxws.xml web.xml
复制 c:\java\src\ws\Adder.class c:\tomcat6\webapps\adder_ws\WEB- INF\classes\ws\Adder.class
c:\java\src\ws\Adder.class
c:\tomcat6\webapps\adder_ws\WEB- INF\classes\ws\Adder.class
<?xml version="1.0" encoding="UTF-8"?> <Context antiJARLocking="true" path="/adder_ws"/>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <listener> <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class> </listener> <servlet> <servlet-name>Adder</servlet-name> <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Adder</servlet-name> <url-pattern>/add</url-pattern> </servlet-mapping> <!-- not needed <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> --> </web-app>
WEB-INF\sun-jaxws.xml
文件:c:\ tomcat6 \ webapps \ adder_ws \ WEB-INF \ sun-jaxws.xml
<?xml version="1.0" encoding="UTF-8"?> <endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"> <endpoint implementation="ws.Adder" name="Adder" url-pattern="/add"/> </endpoints>
c:\ tomcat6 \ webapps \ adder_ws \ WEB-INF \ lib中的文件
从以下位置复制netbeans文件
[netbeans dir]\enterprise\modules\ext\metro\*.*
和
[netbeans dir]\ide\modules\ext\jaxb\activation.jar
关机:c:\ tomcat6 \ bin \ shutdown.bat
启动:c:\ tomcat6 \ bin \ startup.bat
打开Web浏览器,然后转到http://localhost:8080/adder_ws/add?wsdl 您也可以使用soapui(http://www.soapui.org/)之类的工具来测试Web服务
http://localhost:8080/adder_ws/add?wsdl
就是这样,我想现在我来看看日食的实现方式…