在Myeclipse下使用CXF和Spring开发Web Service

Posted chenhongarticles

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Myeclipse下使用CXF和Spring开发Web Service相关的知识,希望对你有一定的参考价值。

【Web Service 李刚视频的学习笔记】

一。使用CXF开发Web Servive服务器端(新建Java Project名字叫WS_Server)//每个Web Service组件都需要2个部分,接口和实现类。

  1. 开发一个Web Service业务接口,该接口要用@WebService修饰  ,在src下新建com.hnu.cxf.ws包,包下新建一个叫HelloWorld的业务接口技术分享图片,Helloworld里的代码如下:
    1 package com.hnu.cxf.ws;
    2 
    3 import javax.jws.WebService;
    4 
    5 @WebService//由javax.jws.WebService提供的
    6 public interface HelloWorld {
    7     String sayHi(String name);
    8 }

     

  2. 开发一个Web Service业务接口的实现类,该接口也要用@WebService修饰,但要指定两个属性endpointInterface和serviceName,在src下新建com.hnu.cxf.ws.impl包,新建一个HelloWorld的业务接口的实现类技术分享图片,HelloWorldWs.java代码如下:
     1 package com.hnu.cxf.ws.impl;
     2 
     3 import java.util.Date;
     4 
     5 import javax.jws.WebService;
     6 
     7 import com.hnu.cxf.ws.HelloWorld;
     8 
     9 //endpointInterface的值是要实现的接口的名字,serviceName属性的名字可随意指定
    10 @WebService(endpointInterface="com.hnu.cxf.ws.HelloWorld", serviceName="HelloWorldWs")
    11 public class HelloWorldWs implements HelloWorld {
    12 
    13     @Override
    14     public String sayHi(String name) {
    15         // TODO Auto-generated method stub
    16         
    17         return name+",您好!现在时间是"+new Date();
    18     }
    19 }

     

  3. 导入CXF的相关jar包,发布服务。也可将CXF的lib目录下的所有jar包全部导入,CXF的jar包里面包含了jetty web服务器,再新建一个chen包,写一个主程序ServerMain.java技术分享图片,代码如下:
     1 package chen;
     2 
     3 import javax.xml.ws.Endpoint;
     4 
     5 import com.hnu.cxf.ws.HelloWorld;
     6 import com.hnu.cxf.ws.impl.HelloWorldWs;
     7 
     8 public class ServerMain {
     9     public static void main(String[] args) {
    10         HelloWorld hw = new HelloWorldWs();
    11         // 调用Endpoint的publish方法发布Web Service,第一个参数是Web Service服务地址,
    12         Endpoint.publish("http://192.168.1.102:8081/hnu", hw);
    13         System.out.println("Web Service暴露成功");
    14     }
    15 
    16 }

    此时,在浏览器输入http://192.168.1.102:8081/hnu?wsdl可以出现技术分享图片说明暴露成功。

二。使用CXF开发Web Servive客户端(新建Java Project名字叫WS_Client)

  1. 调用CXF提供的wsdl2java工具,根据wsdl文档生成相应的Java代码。任何语言实现了Web Service,都需要提供,并暴露WSDL文档。
  2. 找到wsdl2java所生成的类中,一个继承(extends)了Service的类,该类的实例可以当成工厂来使用。
  3. 调用Service子类的实例的getXxxPort()方法,返回远程Web Service代理

以上是关于在Myeclipse下使用CXF和Spring开发Web Service的主要内容,如果未能解决你的问题,请参考以下文章

系统开发系列 之MyEclipse创建WebService详细教程和调用教程(spring框架+maven+CXF框架)

系统开发系列 之WebService(spring框架+maven+CXF框架)部署问题及解决方案

系统开发系列 之WebService(spring框架+maven+CXF框架)部署问题及解决方案

MyEclipse+CXF框架开发WebService

java cxf动态调用服务端的webservices方法

第一:怎么用cxf在MyEclipse6.5里面创建一个cxf工程... 第二:怎么用cxf将wsdl生成客户端...