`

WebService CXF --- 创建基础的示例

阅读更多

1、开发环境:

             cxf-2.3.3.jar

             MyEclipse6.6

             JDK1.5

             Tomcat-5.5.27

2、  理论联系实际,现用一个 Demo来说明事更加直观。

       新建一个WebService Project,导入cxf常用.jar包。

       第一步:新建一个webservice接口, 接口IHelloService.java

     

package demo.cxf.server;

import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
//通过注解@WebService申明为webservice接口 
public interface IHelloService {
    //@WebParam给参数命名,提高可代码可读性
    public String sayHello(@WebParam(name="text")String text);
}

 

                

  第二步,实现WebService接口  实现类HelloServiceImpl.java

  

package demo.cxf.server;

import javax.jws.WebService;

@WebService(endpointInterface="demo.cxf.server.IHelloService",serviceName="helloService")
public class IHelloServiceImpl implements IHelloService {
    
    public String sayHello(String text) {
        return "Hello ".concat(text);
    }

}

   

 第三步,创建服务端

 

public class DeployServer {  
  
private DeployServer(){  
    IHelloService helloService = new HelloServiceImpl();  
    //创建WebService服务工厂  
    JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();  
    //注册WebService接口  
    factory.setServiceClass(IHelloService.class);  
    //发布接口  
    factory.setAddress("http://localhost:9000/HelloService");  
      factory.setServiceBean(helloService);  
    //创建WebService  
      factory.create();  
};  
  
public static void main(String[] args) throws InterruptedException{  
       //启动服务端  
      new DeployServer();  
        System.out.println("Server ready...");  
    //休眠一分钟,便于测试  
     Thread.sleep(1000*60);  
        System.out.println("Server exit...");  
        System.exit(0);  
  }  
}  

 

  第四步,创建客户端

  

  

public class Client {  
  
private Client(){};  
  
public static void main(String[] args){  
    //创建WebService客户端代理工厂  
    JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();  
    //注册WebService接口  
    factory.setServiceClass(IHelloService.class);  
    //设置WebService地址  
    factory.setAddress("http://localhost:8080/HelloService");       
      IHelloService iHelloService = (IHelloService)factory.create();  
      System.out.println("invoke webservice...");  
      System.out.println("message context is:"+iHelloService.sayHi("    
                 Josen"));  
      System.exit(0);  
  }  
} 

 

    现在是万事俱备,只欠测试了
    首先,运行服务端程序
    其次,打开浏览器,在地址栏中输入http://localhost:8080/HelloService?wsdl(因为cxf自带了一个jetty服务器),查看接口是否发布成功,如里浏览器页面显示一些XML,证明接口发布成功。

   最后,运行客户端程序,就可以看到效果了。 

 

分享到:
评论

相关推荐

    WebService CXF --- 由WSDL文件开发Client端

    WebService CXF是一个强大的开源框架,用于创建和消费Web服务。它允许开发者基于WSDL(Web Service Description Language)文件快速地生成服务端和客户端代码,极大地简化了Web服务的开发流程。在本篇中,我们将深入...

    apache-cxf-3.1.0

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和...通过jar文件、API文档和示例,我们可以了解和实践如何使用CXF创建高效、灵活的Web服务,同时享受到Apache开源社区带来的便利和稳定性。

    webService-cxf-demo

    【标题】"webService-cxf-demo" 是一个基于Apache CXF框架实现的Web服务示例项目,主要用于展示如何创建和使用Web服务。CXF是一个开源的Java框架,它提供了多种方式来开发符合WS-*标准的Web服务,包括SOAP、RESTful ...

    apache-cxf-3.2.4完整版

    - **服务端实现**:Apache CXF提供了多种方式来创建服务端Web服务,包括基于Java接口的WsdlFirst(WSDL优先)方法和基于Java类的CodeFirst(代码优先)方法。 - **客户端支持**:CXF同样支持生成客户端代码,使得...

    apache-cxf-2.5.0

    CXF提供了多种方式来创建和消费Web服务,包括基于Java API for RESTful Web Services (JAX-RS) 和 Java API for XML-Based Web Services (JAX-WS) 的接口。 标题“apache-cxf-2.5.0”表明这是一个关于Apache CXF的...

    apache-cxf-2.6.2.tar.gz

    10. **社区支持**:作为Apache软件基金会的顶级项目,CXF拥有活跃的社区,提供了丰富的文档、示例和问题解答,帮助开发者快速上手并解决遇到的问题。 总的来说,"apache-cxf-2.6.2.tar.gz"是一个包含完整Apache CXF...

    apache-cxf-2.0.10.zip下载地址

    3. **示例**:通常会有示例代码和项目,演示如何使用CXF创建和消费Web服务。 4. **配置文件**:如cxf.xml,用于配置CXF的行为和设置。 要开始使用Apache CXF 2.0.10,开发者需要解压此压缩包,将库文件添加到项目中...

    springboot+cxf实现webservice示例

    springboot+cxf实现webservice示例 <groupId>org.springframework.boot <artifactId>spring-boot-starter <groupId>org.springframework.boot <artifactId>spring-boot-starter-web <!-- CXF ...

    apache-cxf-2.7.4

    在"apache-cxf-2.7.4"压缩包中,包含了框架的所有核心组件、文档、示例代码和库文件。开发者可以通过解压并导入这些文件到他们的开发环境中,开始构建和部署Web服务。这个版本虽然相对较旧,但仍然对于理解CXF的工作...

    apache-cxf-2.7.3.rar

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。...通过阅读和实践其中的示例,你可以深入理解Web服务的工作原理,掌握如何利用CXF工具生成和调用Web服务接口,进一步提升你的Java开发技能。

    apache-cxf-3.0.1

    1. **Web服务实现**:CXF允许开发者通过Java编程模型来创建和消费Web服务。它支持多种Web服务规范,如SOAP、WS-*(如WS-Security、WS-Addressing)以及RESTful服务。 2. **多种绑定框架**:CXF支持JAX-WS(Java API...

    apache-cxf-2.7.16

    4. **demos**:包含了一些示例应用程序,演示了如何使用CXF创建和消费Web服务,对于初学者来说,这是一个很好的起点。 5. **samples**:与demos类似,但通常更专注于特定的功能或用法,帮助开发者深入理解CXF的各种...

    apache-cxf-3.3.7.zip

    3. **示例**:可能包含了一些示例代码和配置,演示如何使用CXF创建和调用Web服务。 4. **配置文件**:例如CXF的配置文件,可以自定义服务的行为。 5. **工具**:可能包括一些命令行工具,用于生成客户端代码、部署...

    springboot-cxf-webservice

    SpringBoot与CXF WebService整合教程 在Java世界中,SpringBoot以其简洁的配置和快速的应用开发能力,已经成为主流的微服务框架。...在实际操作过程中,可参考`demo-spring-boot-cxf-master`中的示例代码进行实践。

    apache-cxf-2.2.3.zip

    7. **示例和文档**:压缩包中的"demo"可能包含一些示例项目,帮助开发者快速了解如何使用CXF来创建和消费Web服务。这些示例通常包括源代码和运行说明,是学习CXF的宝贵资源。 在实际应用中,你可以通过以下步骤使用...

    CXF-WebService-开发指南、技术文档.docx

    【CXF WebService 开发指南】 CXF(Commons eXtensible Framework)是一个开源的Java框架,主要用于构建和开发Web服务。它提供了强大的服务实现和客户端调用能力,支持多种协议和规范,如JAX-WS、JAX-RS等。本指南...

    apache-cxf-2.3.3.zip

    2. **JAX-RS**:CXF也支持Java API for RESTful Web Services (JAX-RS),允许开发者用直观的方式创建RESTful服务。通过注解,可以轻松地将Java方法映射到HTTP请求,处理JSON、XML等多种数据格式。 3. **绑定框架**...

    apache-cxf-3.4.4.tar.gz

    在解压"apache-cxf-3.4.4"后,你会得到源码、文档、示例以及构建工具等,这为开发者提供了全面了解和自定义Apache CXF的途径。通过学习和实践,你可以深入理解Web服务的实现原理,提升你的Java开发技能。

    apache-cxf-3.2.6.zip

    这个"apache-cxf-3.2.6.zip"压缩包包含了Apache CXF 3.2.6版本的所有组件和资源,使得开发者能够轻松地在Java环境中实现WebService接口开发。 Apache CXF的核心功能包括: 1. **SOAP支持**:CXF支持SOAP 1.1和1.2,...

    apache-cxf-2.4.3.rar(绿色版)

    - samples:可能包含CXF的示例代码和说明,帮助你快速上手。 - documentation:可能包含CXF的API文档和用户指南。 在使用这个绿色版时,你可以直接解压到任何地方,然后根据bin目录下的脚本或说明文件来启动和使用...

Global site tag (gtag.js) - Google Analytics