文档章节

Eclipse中建立JSR181的web服务

abcijkxyz
 abcijkxyz
发布于 2016/07/08 16:30
字数 502
阅读 1
收藏 0
环境
windows 7 
eclipse 3.6 jee版
Tomcat6.0.18
JDK7.0.1

过程
1)在eclipse中建立一个新动态web项目,取名为ws-simple,记得将class目录设置为ws-simple/WebContent/WEB-INF/classes. 
2)建议个新的包,取名为bingo.ws.server
3)建立一个类,取名为FSImpl 
import javax.jws.WebMethod;
import   javax.jws.WebParam;
import   javax.jws.WebResult;
import   javax.jws.WebService;

@WebService (serviceName = "FSImpleServer", portName = "FSImple_Port", wsdlLocation = "WEB-INF/dsdl/FSImpleServer.wsdl")
@BindingType (value=SOAPBinding. SOAP12HTTP_BINDING )
public   class  FSImple {

       @WebMethod (operationName =  "hello"  )
       @WebResult (name =  "remsg" , partName =  "remsg" )
       public  String hello(
                   @WebParam (name= "msg" ,partName= "msg" )
                  Dept msg
                  ) {
             return   "张三 "  + msg;
      }
}


public class Dept {

       private  String  name ;
       private  String  code ;

       public  String getName() {
             return   name ;
      }

       public   void  setName(String name) {
             this . name  = name;
      }

       public  String getCode() {
             return   code ;
      }

       public   void  setCode(String code) {
             this . code  = code;
      }

       @Override
       public  String toString() {
             return   this . code + "|" + this . name ;
      }
      
      

}

打开命令行,cd到项目目录,然后执行下面命令:
wsgen  -cp ./WebContent/WEB-INF/classes -s ./src  -r ./WebContent/WEB-INF/wsdl -wsdl:Xsoap1.2 bingo.ws.server.FSImple  -extension
(备注:我目前还没有找到eclipse里面可以替代wsgen的东西,那位童鞋知道的麻烦告诉我一下。默认使用的是soap1.1的,但是wsimport生成的代码却只支持1.2,真是郁闷。
刷新src目录,会发现多了一个目录jaxws,里面就是消息传递中需要bean对象了。

5)修改web.xml配置如下:
<listener>
            <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
      </listener>
      <servlet>
            <servlet-name>simple</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>simple</servlet-name>
            <url-pattern>/simple</url-pattern>
      </servlet-mapping>
WSServletContextListener:负责加载配置文件sun-jaxws.xml

6)在WEB-INF下新建一个文件,取名为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 = "simple"
          implementation = "bingo.ws.server.FSImple"
          wsdl = "WEB-INF/wsdl/ FSImpleServer.wsdl "    
          binding = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
          url-pattern = "/simple"   />
          <!-- add binding to enable addressing.
        For Indigo interop, set addressing=submission
        binding="http://schemas.xmlsoap.org/wsdl/soap/http?addressing=1.0" -->
          <!-- how to configure multiple ports here port="{http://duke.org}Ping0" -->

</ endpoints >

7)好了,现在可以将项目放入到tomcat里面运行了,然后访问 http://localhost:8081/myws/simple
你就可以看到需要web service了。

是不是比CXF和AXIS2好方便很多,唯一不好就是wsgen的使用方式上。

希望以后版本能有所改变。这样使用web服务就比较简单了。

本文转载自:http://blog.csdn.net/yuwenruli/article/details/6701350

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
SpringSide 3.0.2 发布

新版本总体改进如下: 总体改进: 从头完善Wiki文档.(finish) 重新提供All in One 版本.(finish) 编写quickstart.bat实现傻瓜式初始化流程,见QuickStart 3.0.2。(finish) 整理Checkstyle/Pm...

oschina
2008/09/25
1K
0
WebService框架--XFire

如果你要在新项目里用XFire, 请改用CXF. CXF是XFire的延续,可以被看作是XFire2.0。CXF有很多新特性,且修复了很多XFire的bug,更重要的是CXF兼容JAX- WS!XFire将继续被维护和修复bug,但是...

匿名
2008/09/13
16.9K
1
使用XFire+Spring构建Web Service

XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。 相对于Axis来说,目前XFire相对受欢迎,加上其提供了...

zh119893
2014/06/26
204
1
XFire组件开发WebService实例

1.websevice简介 WebService又是一种高级应用,与之前学习的Struts、Spring、Hibernate等框架不同。WebService是面向服务的架构(SOA)。那么它到底是做什么用的?什么才是面向服务的架构?让...

小明子
2013/09/27
0
0
[WS]使用Axis发布简单的Web服务

使用Axis,要发布一个Web服务非常简单,简直不能再简单了,尽管看起来过程和相关代码有些长。我这个帖子里用到了这些软件:Axis 1.1、Eclipse 2.1和Eclipse的Tomcat插件2.2(Sysdeo Tomcat p...

青夜之衫
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
15分钟前
1
0
Redis源码阅读笔记-对象及其类型和编码

总结之《Redis设计与实现》 对象 Redis中是使用对象来便是数据库中的键和值。 结构 // server.h...#define LRU_BITS 24...typedef struct redisObject { unsigned type:4; ...

Jian_Ming
27分钟前
1
0
laravel框架常用目录路径

laravel框架常用目录路径 app_path()app_path函数返回app目录的绝对路径:$path = app_path();你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径:$path = app_p...

高处胜寒
29分钟前
0
0
记一次winserver2003系统,https无法访问,内存占用持续增加,解决办法

先交代一下环境: win server2003系统,系统装在hyper-v虚拟机里 大概2016年底的镜像,距离今天两年左右 病症:大概9月10号左右用这个镜像还可以访问https,但是今天用这个镜像新装的系统,就...

阳阳露
44分钟前
3
0
Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部