zoukankan      html  css  js  c++  java
  • Tomcat部署web服务

     

    一、开发前部署

    如果要在tomcat下开发web服务,则必须要下载jaxws.zip,下载地址:http://jax-ws.java.net/2.2.5/

    如果要创建一个web服务,则需要按照以下目录方式部署进行:

    上图中:

    lib放置jaxws.zip中的jar包;

    classes放置web服务的SIB和SEI(如果是style=document,则还需要wsgen工具生成类型);

    sun-jaxws.xml是web服务特定的配置文件;

    我们这里WEBROOT假定是ws文件夹;

    二、开发步骤

    1.编写SEI

    package org.xiazdong.ws;
    import javax.jws.*;
    @WebService
    public interface TempConvert{
    	@WebMethod int f2c(int i);
    	@WebMethod int c2f(int i);
    
    }

    2.编写SIB

    package org.xiazdong.ws;
    import javax.jws.*;
    @WebService(endpointInterface="org.xiazdong.ws.TempConvert")
    
    public class TempConvertImpl implements TempConvert{
    	public int f2c(int i){
    		return i-5;
    	}
    	public int c2f(int i){
    		return i+5;
    	}
    }

    3.编译以上两个文件;

    javac -d . *.java

    4.通过wsgen工具生成类型

    wsgen -cp . org.xiazdong.ws.TempConvertImpl

     

    5.编写web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app 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"
       version="2.5">
    
    	<listener>
    		<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
    	</listener>
    	<servlet>
    		<servlet-name>TimeServerWS</servlet-name>
    		<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>TimeServerWS</servlet-name>
    		<url-pattern>/ws</url-pattern>
    	</servlet-mapping>
    </web-app>
    

    6.编写sun-jaxws.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
      <endpoint
         name="TimeServerWS"
         implementation="org.xiazdong.ws.TempConvertImpl"
         url-pattern="/ws"/>
    </endpoints>
    


     

    7.把这些文件按照上图目录的排版排列;

    最后输入http://localhost:8080/ws/ws?wsdl看是否存在wsdl,如果存在,则说明部署正确;

    三、调用服务

    1.使用wsimport工具

    wsimport -keep -p client http://localhost:8080/ws/ws?wsdl

    生成服务的代码;

    2.编写调用客户端

    import client.*;
    public class TimeClient{
    	public static void main(String args[]){
    		TempConvertImplService service = new TempConvertImplService();
    		TempConvert c = service.getTempConvertImplPort();
    		System.out.println(c.f2C(5));
    	}
    }

    作者:xiazdong
    出处:http://blog.xiazdong.info
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    POJ 1321 棋盘问题 (DFS)
    POJ 2676 Suduku
    Codeforce Segment Occurrences——string中substr的应用
    POJ 2492
    HDU 3088
    POJ 2992
    STL的sort排序
    mongoimport csv文件
    远程计算机或设备将不接受连接,IE无法上网
    注册MongoDB服务
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058107.html
Copyright © 2011-2022 走看看