我正在学习如何使用Java开发SOAP Web服务。
到目前为止,我一直在关注这个优秀的教程
一切顺利,我的命令行使用嵌入式服务器运行我的Web服务,然后在NetBeans的帮助下将其部署在Tomcat上。
我想知道在Tomcat上手动部署它的步骤,以了解它是如何完成的,因为我不喜欢依赖于IDE。
我的意思是,我想知道如何通过命令行和文本编辑器完成所有工作。
我还发现了这个链接,解释了如何将servlet手动部署到Tomcat,
http://linux-sxs.org/internet_serving/c292.html
但我找不到任何有关如何部署网络服务的文章。
非常感谢。
答案 0 :(得分:39)
如何手动构建和部署jax-ws Web服务到tomcat
我试图弄清楚如何手动构建和部署用于学习pourposes的Web服务。
我从这篇优秀文章开始
http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/ (新网址: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.
saludos
SAS
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:\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
<?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
file: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
打开网络浏览器并转到http://localhost:8080/adder_ws/add?wsdl
您还可以使用soapui(http://www.soapui.org/)之类的工具来测试Web服务
就是这样,我想现在我会看看日食的方式......
答案 1 :(得分:4)
答案 2 :(得分:4)
以下文章分步指导手动构建和部署JAX-WS Web服务。它使用Ant作为构建工具。
答案 3 :(得分:3)
我希望对于Web服务和servlet,deployable是相同的。即,.war
文件。所以你应该能够以同样的方式部署它。
答案 4 :(得分:2)
我看到没有人提到过Mkyong.com的JAX-WS Tutorials。
在“JAX-WS Tutorial”页面的“Tomcat中的JAX-WS安全性”部分中,有一个简短的,关于点和图片的教程,正是OP想要的内容:
Deploy JAX-WS web services on Tomcat