CXF 发布 Web Service-阿里云开发者社区

开发者社区> 汤高> 正文

CXF 发布 Web Service

简介:
+关注继续查看

使用CXF框架开发

①.CXF : xfire–>xfire + celtrix
做web service开发的开源框架

②.开发Server端:
加入cxf的Jar包即可,其它不需要动

测试CXF支持的数据类型
1.基本类型
–int,float,boolean等
2.引用类型
–String
–集合:数组,List, Set, Map
–自定义类型 Student




@WebService
public class DataTypesImpl implements DataTypeWS {  //SEI接口实现类

    public boolean addStudent(Student s) {
        System.out.println("server addStudent()" +s);
        return true;
    }

    public Student getStudentById(int id) {
        System.out.println("server  getStudentById()" +id);
        return new Student(id,"CAT",1000);
    }

    public List<Student> getStudentByPrice(float price) {
        System.out.println("server  getStudentByPrice()" +price);
        List<Student> list=new ArrayList<Student>();
        list.add(new Student(1,"tg1",price+1));
        list.add(new Student(2,"tg2",price+2));
        list.add(new Student(3,"tg3",price+3));
        return list;
        
        
    }

    public Map<Integer, Student> getAllStudentMap() {
        System.out.println("server getAllStudentMap()" );
        Map<Integer,Student> map=new HashMap<Integer, Student>();
        map.put(1,new Student(1,"TG1",123));
        map.put(2,new Student(2,"TG2",143));
        map.put(3,new Student(3,"TG3",153));
        
        return map;
    }


public class serviceTest2 {  //发布服务

    /**
     * @param args
     */
    public static void main(String[] args) {
        //客户端发送web service请求的url
        String address="http://127.0.0.1:8888/tg_ws_cxf/datatypews";
        //处理请求的SEI对象
        DataTypeWS dataTypesImpl=new DataTypesImpl();
        //发布web service
        //Endpoint.publish("http://127.0.0.1/person_ws/HelloWS", hellows);
    Endpoint.publish(address, dataTypesImpl);
    
        
        
        System.out.println("web service 发布成功");

    }

--------------------------------------------------------------------------

(中间必须先生成客户端代码   打开cmd .. 见我的上一篇博客http://blog.csdn.net/tanggao1314/article/details/48393205    图2


public class ClientTest {   //客户端测试

    /**
     * @param args
     */
    public static void main(String[] args) {
        DataTypesImplService factory=new DataTypesImplService();
        DataTypeWS dataTypeWS=factory.getDataTypesImplPort();
        
        boolean s=dataTypeWS.addStudent(new Student());
        System.out.println(s);
        
        List<Student> list=dataTypeWS.getStudentByPrice(12);
        System.out.println(list);
        
        Return r=dataTypeWS.getAllStudentMap();
        
        List<com.tg.web.service.GetAllStudentMapResponse.Return.Entry> entrys=r.getEntry();
        
        for(com.tg.web.service.GetAllStudentMapResponse.Return.Entry entry:entrys){
            Integer id=entry.getKey();
            Student student=entry.getValue();
            System.out.println(id+"-"+student);
        }
        
        

    }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【WebAPI No.2】如何WebAPI发布
介绍: Asp.Net Core在Windows上可以采用两种运行方式。一种是自托管运行,另一种是发布到IIS托管运行。 自托管 首先有一个完好的.Net Core WebAPI测试项目,然后进入根目录运行   dotnet publish  ,来进行编译:   然后在进入dll目录,也就是程序集目录:运行当前项目的主程序dll: dotnet  xxx.dll 出现上面情况就是完成了,发布在了5000端口; 验证看一下:  修改默认端口: .NET Core WebAP默认的端口号是5000,但是我们可以通过配置来修改端口号。
2833 0
[WS]使用Axis发布简单的Web服务
使用Axis,要发布一个Web服务非常简单,简直不能再简单了,尽管看起来过程和相关代码有些长。我这个帖子里用到了这些软件:Axis 1.1、Eclipse 2.1和Eclipse的Tomcat插件2.2(Sysdeo Tomcat plugin)。
1107 0
全新阿里云大学发布——阿里巴巴全力打造云生态下的创新人才工场
全新阿里云大学正式上线!阿里云大学以“学以致用”为原则,分别从进阶式学习、动手实操、能力测试等环节帮助用户真正的掌握一项技能,真正使用这项技能,并对接到阿里云人才库,推荐到用人单位,形成真正的云生态人才闭环!
14702 0
+关注
汤高
学习,进步
49
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载