如何在Tomcat 6上手动部署Web服务?

2022-09-01 10:39:22

我正在学习如何使用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服务的文章。

多谢。


答案 1

如何手动构建和部署 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.

萨卢多斯

sas

1. 创建以下目录c:\java\src\ws

2. 创建以下文件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;
 }
}

3.站在c:\java\src\ execute

c:\java\src> javac ws\Adder.java

文件c:\java\src\ws\Adder.class will be generated

4. 使用以下文件创建以下目录结构

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

5. 复制编译后的文件

复制c:\java\src\ws\Adder.class c:\tomcat6\webapps\adder_ws\WEB-INF\classes\ws\Adder.class

6. c:\tomcat6\webapps\adder_ws\META-INF\context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/adder_ws"/>

7. c:\tomcat6\webapps\adder_ws\WEB-INF\web.xml

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

8. 配置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>

9. 复制库

文件在 c:\tomcat6\webapps\adder_ws\WEB-INF\lib

从复制网络豆文件

[netbeans dir]\enterprise\modules\ext\metro\*.*

[netbeans dir]\ide\modules\ext\jaxb\activation.jar

10. 重启阿帕奇

关机 : c:\tomcat6\bin\shutdown.bat

启动 : c:\tomcat6\bin\startup.bat

11. 测试

打开Web浏览器并转到,您还可以使用soapui(http://www.soapui.org/)等工具来测试Web服务http://localhost:8080/adder_ws/add?wsdl

就是这样,我想现在我会看看日食是如何做到的......


答案 2

这是另一篇有用的文章

它回答了我自己的问题

http://java.dzone.com/articles/jax-ws-deployment-five-minute


推荐