`
l540151663
  • 浏览: 186114 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

关于cxf的webservice搭建

 
阅读更多
WebService的实现方式有很多,这里主要介绍关于cxf的WebService的搭建。

参考连接:http://boyadn.blog.163.com/blog/static/74230736201322104510611/

1.首先是搭建服务端

我这里服务端主要包括两个类,一个是接口和一个是实现类。



Hello.java的具体代码如下:
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public interface Hello {
@WebMethod
   public String sayHello(@WebParam(name="name") String name);
}
代码很简单,只有一个方法sayHello。

实现类HelloImpl.java如下:
import javax.jws.WebService;
import com.lml.ws.service.Hello;

@WebService(endpointInterface = "com.lml.ws.service.Hello")
public class HelloImpl implements Hello {

public String sayHello(String name) {
return name + " say hello!";
}
}
主要是对Hello接口的实现。

因为使用了spring来管理,所以这里需要配置applicationContext,applicationContext.xml具体的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

<jaxws:endpoint id="helloService"
implementor="com.lml.ws.service.Impl.HelloImpl"
address="/HelloService" />
</beans>

因为有使用spring 和 cxf,所以先导入相关jar包,我导入的jar包如下:



具体的jar包和项目下载地址:http://download.csdn.net/detail/l540151663/8036439

最后在web.xml下设置拦截器:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>

到此,服务端搭建完毕。

2.客户端的搭建WebClient
建立java项目后,在项目中导入相关jar包,如下:



服务端放入容器tomcat中,然后开启,用url访问页面http://localhost:8080/WebService/HelloService?wsdl
访问内容如下:


将该页面另存为HelloService.xml,这里要注意,xml文件是没有样式的。

因为需要引用到服务端的Hello实例,所以这里需要做些处理。使用wsdl2java生成客户端代码。这里需要用到一个包apache-cxf-3.0.1。解压后在C:\Users\Administrator\Desktop\apache-cxf-3.0.1\apache-cxf-3.0.1\bin下有wsdl2java文件。打开cmd,进入该bin目录下,执行命令:C:\Users\Administrator\Desktop\apache-cxf-3.0.1\apache-cxf-3.0.1\bin>wsdl2java -
p com.lml.ws.client -d d:\workspace\WebClient\src -verbose "C:\Users\Administrat
or\Desktop\HelloService.xml"
关于上面的命令解析:
wsdl2java -p 包名 -d 生成文件路径 -verbose "wsdl文件路径"
包名:文件存放的包名,可以写项目中包路径
生成文件路径 :文件存放路径,可以直接写项目路径
wsdl文件:在IE中执行服务端URL显示的XML另存为XML文件。




执行后刷新WebClient项目,生成内容如下图:



最后在客户端进行测试,Test.java代码如下:
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.lml.ws.client.Hello;

public class Test {
public static void main(String[] args) { 
        //创建WebService客户端代理工厂 
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 
        //注册WebService接口 
        factory.setServiceClass(Hello.class); 
        //设置WebService地址 
        factory.setAddress("http://localhost:8080/WebService/HelloService"); 
        Hello helloService = (Hello)factory.create(); 
        System.out.println("message context is:"+helloService.sayHello("lml"));    
    } 
}

执行代码,结果如下图:



具体代码和使用工具请到上面地址下载。
  • 大小: 15.7 KB
  • 大小: 8.7 KB
  • 大小: 5.8 KB
  • 大小: 18.8 KB
  • 大小: 5.1 KB
  • 大小: 38.4 KB
  • 大小: 8.8 KB
分享到:
评论

相关推荐

    CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档)

    CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档) 需要视频的话,留邮箱

    使用CXF搭建webService服务

    使用cxf搭建webService,客户端通过接口进行调用

    maven项目 cxf webservice

    【标题】"maven项目 cxf webservice"指的是使用Maven构建的一个项目,该项目集成了Apache CXF框架来开发Web服务。Apache CXF是一个开源的Java框架,它允许开发者创建和消费各种Web服务,包括SOAP和RESTful服务。...

    spring+CXF实现WebService(http+https)

    2. **创建WebService**: 使用CXF,首先需要定义服务接口,通常是一个Java接口,然后提供其实现。Spring会自动扫描并注册这些服务。在Spring配置文件中,可以通过`&lt;jaxws:endpoint&gt;`标签来声明一个CXF Web服务,...

    SpringBoot框架及CXF发布WebService

    在给定的压缩包文件中,"WebService_Server"可能包含了SpringBoot与CXF集成的服务器端代码示例,而"Webservice_Client"则可能包含CXF客户端调用服务的示例代码。这两个部分可以作为学习和实践SpringBoot发布和消费...

    cxf webservice所需jar包

    在给定的压缩包文件中,"cxf webservice"可能包含了一系列CXF运行所需的JAR库,这些库包含了CXF的核心组件、Spring整合模块以及其他必要的依赖,以便于在Java项目中搭建和运行CXF Webservice环境。开发者在使用这些...

    CXF开发webservice服务端

    ### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...

    CXF和Spring搭建webservice代码

    【CXF和Spring搭建Web服务代码详解】 在Java开发领域,CXF和Spring框架的结合是构建高效、灵活的Web服务的常见选择。CXF是一个开源的SOAP和RESTful Web服务框架,它允许开发者轻松地创建和消费Web服务。而Spring...

    cxf webservice整体jar包

    使用这个“cxf webservice整体jar包”,你可以快速搭建CXF环境,直接将包导入到你的Java项目中,省去了配置Maven或Gradle依赖的步骤。只需按照CXF的官方文档或者相关的教程进行操作,就能轻松创建和部署你的Web服务...

    cxf开发webservice所用jar包

    这个标题“cxf开发webservice所用jar包”表明我们正在讨论一组CXF框架所需的JAR文件,这些文件对于利用CXF开发基于Web服务的应用程序至关重要。在描述中提到“cxf-2.4.1整合spring3.0所用jar包”,这暗示了我们使用...

    CXF发布WebService,jboss和tomcat都能发布

    1. **CXF环境搭建** 在开始之前,确保你已经安装了Java Development Kit (JDK) 和 Maven 或 Gradle(根据项目管理工具选择)。然后,通过Maven或Gradle将CXF库添加到项目的依赖中。 2. **创建WebService接口** ...

    CXF搭建webservice案例

    本篇文章将深入探讨如何使用CXF来搭建一个Web服务案例,这对于初学者来说是一次非常有价值的学习体验。 首先,让我们了解CXF的基本概念。CXF(Composite eXtensible Markup Language Framework)是基于Java的,它...

    ssh2+cxf搭建webservice实例

    SSH2+CXF 搭建 WebService 实例详解 SSH(Struts2、Spring、Hibernate)是一个常见的 Java Web 开发框架组合,而 CXF 是一个用于构建和开发 Web 服务的开源框架。本教程将详细介绍如何在 SSH 项目中集成 CXF 来创建...

    CXF WebService 视频和源码

    1. **环境搭建**:讲解如何配置开发环境,包括安装Java SDK、Apache CXF、IDE(如Eclipse或IntelliJ IDEA)以及相关的插件。 2. **创建服务接口**:演示如何定义服务接口,这是基于JAX-WS或JAX-RS的业务逻辑定义,...

    springboot+webservice搭建webservice服务端

    本教程将讲解如何使用Spring Boot来搭建一个Web Service服务端,并介绍如何利用Java客户端进行调用。 ### 一、Spring Boot与Web Service Spring Boot简化了Java应用的启动和配置,通过“约定优于配置”的原则,...

    使用CXF开发搭建WebService步骤文档

    本文档将详细阐述如何使用CXF来开发和搭建WebService,帮助你从零开始掌握这一技术。 一、理解CXF Apache CXF是一个强大的Java框架,它提供了多种方式来实现Web服务,包括基于WSDL(Web服务描述语言)的第一类公民...

    cxf webservice简单例子 服务端 客户端

    CXF(CXF: Composite eXtensible Framework...通过定义服务接口和实现,配置服务端和客户端,我们能够快速地搭建并测试一个简单的Web服务。在实际项目中,CXF还支持更复杂的功能,如安全、事务管理等,以满足不同需求。

    使用cxf和spring开发基于https的webservice服务端以及客户端样例

    服务端的实现类可以被Spring管理,利用注解如`@WebService`和`@Endpoint`进行标记。同时,配置HTTPS需要在CXF的Servlet配置中启用SSL,指定密钥库路径和密码。 客户端开发相对简单,它通过CXF的WSClientAPI动态生成...

    CXF搭建的RESTful风格的webservice

    下面将详细讲解如何使用CXF搭建RESTful风格的Web服务。 1. **CXF简介** Apache CXF是一个全面的服务开发框架,它允许开发者创建和部署多种Web服务,包括SOAP和RESTful。CXF提供了多种API和工具,使得开发者能够轻松...

    基于cxf 的webService 接口开发及调用步骤文档

    通过本文档的介绍,我们了解到如何利用Apache CXF框架快速搭建一个基于Java的WebService服务。这种服务不仅可以用于企业内部系统的通信,还可以作为对外提供服务的一种方式。在实际应用过程中,还需根据具体需求进行...

Global site tag (gtag.js) - Google Analytics