发布时间:2014-09-05 16:40:14作者:知识屋
一、开发前部署
如果要在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.编写调用客户端 www.zhishiwu.com
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));
}
}
摘自 xiaozdong
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能