webService的总结

最近回顾了一下以前用到的技术,虽然这些技术已经不在使用了,但是万一有项目还在用这些技术呢,所以做了下总结。

一、《axis和xfire以及CXF三种方式实现WebServices分别有什么优缺点》地址:https://blog.csdn.net/rockstar541/article/details/21106407

    1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。
2、Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码。这是它的优势所在。但是,这也不可避免的导致了Axis2的复杂性,使用过的开发者都知道,它所依赖的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合为一体。但是如果你要开发Java之外别的语言客户端,Axis2提供的丰富工具将是你不二的选择。
3、XFire是一个高性能的WebService框架,在Java6之前,它的知名度甚至超过了Apache的Axis2,XFire的优点是开发方便,与现有的Web整合很好,可以融为一体,并且开发也很方便。但是对Java之外的语言,没有提供相关的代码工具。XFire后来被Apache收购了,原因是它太优秀了,收购后,随着Java6 JWS的兴起,开源的WebService引擎已经不再被看好,渐渐的都败落了。
4、CXF是Apache旗下一个重磅的SOA简易框架,它实现了ESB(企业服务总线)。CXF来自于XFire项目,经过改造后形成的,就像目前的Struts2来自WebWork一样。可以看出XFire的命运会和WebWork的命运一样,最终会淡出人们的视线。CXF不但是一个优秀的Web Services / SOAP / WSDL 引擎,也是一个不错的ESB总线,为SOA的实施提供了一种选择方案,当然他不是最好的,它仅仅实现了SOA架构的一部分。

二、基于xfire的 webservice:http://clq9761.iteye.com/blog/1261963

package com.test.service;  
 import com.test.service.bean.User; 
 public interface IHelloService {
    public String sayHello(String name);  
    public User  getUser(User user);  
}

public class User {       
        private String id;  
        private String name;      
 }
web.xml
<servlet>  
    <servlet-name>XFireServlet</servlet-name>  
    <servlet-class>  
        org.codehaus.xfire.transport.http.XFireConfigurableServlet  
    </servlet-class>  
</servlet>  
<servlet-mapping>  
    <servlet-name>XFireServlet</servlet-name>  
    <url-pattern>/servlet/XFireServlet/*</url-pattern>  
</servlet-mapping>  
<servlet-mapping>  
    <servlet-name>XFireServlet</servlet-name>  
    <url-pattern>/services/*</url-pattern>  

</servlet-mapping>
 4.在class目录下建立META-INF目录,如(META-INF>xifre->services.xml),   
<?xml version="1.0" encoding="UTF-8"?>  
    <beans xmlns="http://xfire.codehaus.org/config/1.0">  
    <service>  
        <name>HelloService</name>  
        <serviceClass>com.test.service.IHelloService</serviceClass>  
        <implementationClass>com.test.service.HelloService</implementationClass>  
    </service>      
    </beans>  

三、基于cxf的webservice:http://cxshun.iteye.com/blog/1275408

    @WebService  
    public interface IReaderService {  
        public Reader getReader(@WebParam(name="name") String name,@WebParam(name="password") String password);  
        public List<Reader> getReaders();  
    }  
    @WebService(endpointInterface="com.cxf.servlet.IReaderService",serviceName="readerService")  
    public class ReaderService implements IReaderService{  
        public Reader getReader(@WebParam(name="name") String name,@WebParam(name="password") String password) {  
            return new Reader(name,password);  
        }  
          
        public List<Reader> getReaders(){  
            List<Reader> readerList = new ArrayList<Reader>();  
            readerList.add(new Reader("shun1","123"));  
            readerList.add(new Reader("shun2","123"));  
            return readerList;  
        }  
    }  
    public class Reader{  
        private static final long serialVersionUID = 1L;  
        private String name;  
        private String password;  
    }  
    public static void main(String[] args) {  
            System.out.println("Server is starting...");  
            ReaderService readerService = new ReaderService();  
            Endpoint.publish("http://localhost:8080/readerService",readerService);  
            System.out.println("Server is started...");  
        } 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值