`
Reverie夜
  • 浏览: 21502 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

使用CXF开发WebService服务器端和客户端[案例]

阅读更多

Web Servce能解决的问题:

      1、远程调用

      2、跨平台调用

      3、语言调用

 

Web Servce实际用途:

      1、同意公司的新旧系统整合;

      2、不同公司的业务整合;

      3、内容聚合;

 

本次使用号称SOA框架的CXF(Xfire + Celtrix ← 具体请找度娘)来写一个Web Service的例子。

 

预备:

      1、eclipse

      2、apache-cxf-2.1.4(不要在意版本)

 

Web Service服务器端(PS:CXF内置一个Jetty Web服务器):

      1、创建一个java projact(普通的java项目,由于这只是个例子文件夹结构名字什么的随意就好√),需要添加CXF的jar包↓
       
 

 

      2、写一个web service接口,该接口要用@WebService修饰

package org.night;

import javax.jws.WebService;

@WebService
public interface HelloWord {
	String sayHi(String name);
}
 

      3、写一个该接口的实现类,同样需要@WebService修饰(serviceName是自定义的,并不是非要和实现类一样名)

package org.night.impl;

import java.util.Date;

import javax.jws.WebService;

import org.night.HelloWord;

@WebService(endpointInterface="org.night.HelloWord", serviceName="HelloWordImpl")
public class HelloWordImpl implements HelloWord{
	@Override
	public String sayHi(String name) {
		return name + " 你好" + " 时间:" + new Date();
	}
}
 

      4、发布,创建一个类,main调用Endpoint.publish(address, implementor),第一个参数是自己的应用地址

package org.night.N;

import javax.xml.ws.Endpoint;

import org.night.HelloWord;
import org.night.impl.HelloWordImpl;

public class ServiceMain {
	public static void main(String[] args) {
		HelloWord hw = new HelloWordImpl();
		//调用Endpoint.publish()发布WebService
		Endpoint.publish("http://192.168.1.101/nightWebService", hw);
		System.out.println("Web Service Run");
	}
}

      运行↓
      

      在浏览器上输入服务器端的绑定的地址+?+wsdl会出现↓↓↓↓↓↓↓↓↓↓↓↓

      
 

Web Service客户端:

      1、新创建一个java projact

      

      2、打开控制台找到客户端的src路径,调用CXF提供的wsdl2java工具(在根目录bin文件夹下面)↓如图

           
            

      3、经过以上步骤,客户端会自动生成代码↓
           

         找到wsdl2java生成的Service接口的实现类,嘛~其实就是对应服务器实现业务借口的实现类,只是因为这里服务器端也是自己开发的,所以很容易知道~

         
          
      4、写一个类调用Service子类的实例的get**Port()(**为实现类名)方法,会返回远程Web Service的代理,则可调用服务器端的方法↓

           

 

  • 大小: 46 KB
  • 大小: 88.5 KB
  • 大小: 69.3 KB
  • 大小: 8.2 KB
  • 大小: 127.1 KB
  • 大小: 127.1 KB
  • 大小: 8.2 KB
  • 大小: 41.5 KB
分享到:
评论

相关推荐

    基于CXF的webService本地数据交互----PC端(四)

    8. **实战示例**:可能会提供一个具体的PC端应用案例,演示如何使用CXF实现本地数据交互,如用户登录、数据查询等功能。 总的来说,本篇博客旨在帮助开发者掌握使用Apache CXF构建和使用Web Service的技能,提升PC...

    webservice cxf简单案例

    1. **Apache CXF框架**:理解CXF的核心功能,它是如何作为SOAP和RESTful服务的服务器端和客户端实现的。 2. **Spring框架集成**:学习如何在Spring应用上下文中配置CXF Bean,以及利用Spring的依赖注入特性简化代码...

    客户端编程方式调用webservice

    通常,服务器端代码会定义服务接口和实现,然后通过一个容器(如Tomcat)部署,使其可以通过网络访问。 总结一下,Java通过客户端编程方式调用WebService主要涉及理解WSDL,生成客户端代理类,实例化并调用服务,...

    10.为CXF服务器端添加自定义拦截器进行权限检查

    在开发基于CXF的Web服务时,为了确保系统的安全性和数据的完整性,通常需要对请求进行权限检查。本文将深入探讨如何为CXF服务器...在学习和应用这些知识时,结合实际案例和实践操作将有助于更好地掌握CXF拦截器的使用。

    WebService例子.zip

    7. **实例源代码**: 压缩包中的"WebService例子"很可能包含服务器端的服务实现类、客户端的调用代码以及相关的配置文件。这些代码可以帮助初学者理解WebService的整个生命周期,从服务创建、部署到客户端调用的全...

    cxfwebservice

    CXF(CXF = CXF = XFire + Xalan + Xerces)是一个强大的工具,它支持SOAP、RESTful、WS-*等标准,允许开发者轻松地创建服务器端和客户端的Web服务。 【描述】:在提供的链接中,博主分享了关于如何使用CXF来创建和...

    CXF各种资料.rar

    CXF,全称CXF Commons eXtensible Services Framework,是一个开源的Java服务框架,主要用于构建和开发服务导向架构(SOA)中的Web服务。CXF支持多种Web服务标准,包括WS-*(如SOAP、WSDL、WS-Security等)以及...

    WebService实例项目

    在这个项目中,你将找到服务器端和客户端的实现,这对于理解和应用Web服务技术至关重要。 首先,我们要理解什么是WebService。WebService是一种基于开放标准(如WSDL、SOAP和UDDI)的分布式计算模型,允许不同系统...

    CXF掩饰案例

    在这个案例中,可能包含了服务器端的服务实现以及客户端的调用代码,以便展示CXF的基本工作流程。 在服务端,CXF提供了两种主要的方式来定义服务:JAX-WS(Java API for XML Web Services)和JAX-RS(Java API for ...

    cxf spring maven 实例

    6. **Maven插件**:CXF提供了Maven插件,如`cxf-codegen-plugin`,可以自动生成服务客户端和服务器端代码,简化开发工作。Maven的生命周期也包含了编译、测试、打包等阶段,确保项目构建的一致性。 7. **测试Web...

    WebService源码和笔记.zip

    3. **服务端实现**:可能是使用Java的JAX-WS或者.NET的ASMX、WCF框架实现的WebService服务器端代码。这些代码展示了如何创建服务接口,定义操作方法,并将它们绑定到URL上。 4. **客户端调用**:源码中可能包含服务...

    webservice所需lib开发包

    CXF提供了一个全面的开发工具集,可以生成客户端和服务器端代码。 6. **Metro**:这是Sun Microsystems(现为Oracle)开发的Java Web服务堆栈,它是JAX-WS规范的参考实现。Metro包含了完整的Web服务生命周期管理,...

    基于xml的webservice接口demo (Maven)管理

    5. **启动服务**:使用Maven的`cxf-codegen-plugin`生成客户端和服务器端的桩代码,然后部署服务。 6. **创建客户端**:使用CXF生成的客户端代码,或者手动编写调用Web服务的代码,通过SOAP请求与服务端交互。 7. ...

    webService(CXF)与spring集成

    Spring可以方便地管理和配置CXF的bean,如服务器端的Endpoint和客户端的Proxy。这样,我们可以在Spring应用上下文中声明CXF的服务和客户端,避免了硬编码和繁琐的初始化代码。以下是集成的几个关键步骤: 1. 添加...

    cxf小例子其中包含自动化生成工具

    CXF提供了强大的工具集,可以自动生成Web服务的客户端和服务器端代码,大大减少了手动编码的工作量。这些工具通常基于WSDL(Web服务描述语言)文件,可以生成Java类、接口和服务实现。对于客户端,这意味着开发者...

    webservice的客户端 页面 JSP servlet 实现

    在Web开发中,Web服务客户端与服务器端的交互是不可或缺的一部分。本主题将详细讲解如何使用Java技术,特别是JSP(JavaServer Pages)和Servlet来实现Web服务客户端的页面。JSP主要用于创建动态网页,而Servlet则是...

    Axis2教程和java调用webservice的各种方法总结

    作为服务器端框架,Axis2提供了服务部署、消息处理和模块化结构等功能,便于开发人员快速构建高性能的Web服务。 - **SOAP(简单对象访问协议)**:SOAP是一种在分布式环境中交换结构化信息的协议,通常用于Web服务...

    webservice文件上传下载.zip

    在本案例中,"webservice文件上传下载.zip"是一个包含实现文件上传和下载功能的Web服务示例。这个压缩包提供的代码可以立即运行,帮助开发者理解如何在Web服务中处理文件操作。 一、Web服务基础 Web服务使用XML(可...

    XFire webservice 项目

    在XFire项目中,服务器端通常使用Java类来定义服务接口,并通过XML配置文件来声明这些服务。项目中的server端案例演示了如何使用XFire框架创建一个服务,实现数据库中的数据增删改查功能。 **3. 客户端(client端)**...

Global site tag (gtag.js) - Google Analytics