- 浏览: 53303 次
- 性别:
文章分类
最新评论
使用场景:华为VOD系统与媒资系统的接口,资产数据(元数据XML、正片、片花、海报等)采用FTP方式传输,系统间消息采用WebService方式进行通信。
框架:采用webService的CXF框架
具体实现操作:在已有的项目中集成CXF框架,提供webService服务接口;
1、依赖CXF所需的依赖包
2、开发接口样例:
UserInfo.java对象作为返回值
UserService.java接口
UserServiceImpl.java 接口实现类
测试类:
这里主要是测试接口是否可用;通过http://localhost:8080/user/service??wsdl浏览器链接可以得到
当然如要要测试接口;可以用SOAPUI工具测试;如图:
上面测试了web service接口的开发;
接下来需要将UserService集成到SpringMVC中;
javaEE中CXF配置:
添加spring-cxf.xml配置文件到resource目录
javaEE项目中web.xml配置:其中要配置Spring-cxf.xml
框架:采用webService的CXF框架
具体实现操作:在已有的项目中集成CXF框架,提供webService服务接口;
1、依赖CXF所需的依赖包
<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>2.7.13</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>2.7.13</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>2.7.13</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-ws-security</artifactId> <version>2.7.13</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-ws-policy</artifactId> <version>2.7.13</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-bundle-jaxrs</artifactId> <version>2.7.13</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1.1</version> </dependency>
2、开发接口样例:
UserInfo.java对象作为返回值
package com.jiahejiankang.operation.api.test; public class UserInfo { private String name; private String phone; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
UserService.java接口
package com.jiahejiankang.operation.api.test; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; @WebService(serviceName="userService",targetNamespace = "http://localhost/user/service") @SOAPBinding(style = SOAPBinding.Style.RPC) public interface UserService { @WebMethod @WebResult(name = "userReturn", partName = "userReturn") UserInfo getUserInfo(@WebParam(name = "name", partName = "name")String name, String phone); }
UserServiceImpl.java 接口实现类
package com.jiahejiankang.operation.api.test; public class UserServiceImpl implements UserService { public UserInfo getUserInfo(String name, String phone) { UserInfo userInfo = new UserInfo(); userInfo.setName(name); userInfo.setPhone(phone); System.out.println(name+":"+phone); return userInfo; } }
测试类:
package com.jiahejiankang.operation.api.test; import javax.xml.ws.Endpoint; public class TestMain { public static void main(String[] args) { System.out.println("Server is starting..."); UserService userService = new UserServiceImpl(); Endpoint.publish("http://localhost:8080/user/service",userService); System.out.println("Server is started..."); } }
这里主要是测试接口是否可用;通过http://localhost:8080/user/service??wsdl浏览器链接可以得到
<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://test.api.operation.jiahejiankang.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="http://localhost/user/service" name="UserServiceImplService" targetNamespace="http://test.api.operation.jiahejiankang.com/"> <wsdl:import location="http://localhost:8080/user/service?wsdl=UserService.wsdl" namespace="http://localhost/user/service"></wsdl:import> <wsdl:binding name="UserServiceImplServiceSoapBinding" type="ns1:UserService"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getUserInfo"> <soap:operation soapAction="" style="rpc"/> <wsdl:input name="getUserInfo"> <soap:body namespace="http://localhost/user/service" use="literal"/> </wsdl:input> <wsdl:output name="getUserInfoResponse"> <soap:body namespace="http://localhost/user/service" use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="UserServiceImplService"> <wsdl:port binding="tns:UserServiceImplServiceSoapBinding" name="UserServiceImplPort"> <soap:address location="http://localhost:8080/user/service"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
当然如要要测试接口;可以用SOAPUI工具测试;如图:
上面测试了web service接口的开发;
接下来需要将UserService集成到SpringMVC中;
javaEE中CXF配置:
添加spring-cxf.xml配置文件到resource目录
<?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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" 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://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.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="userService" address="/UserService" implementor="com.jiahejiankang.operation.api.test.UserServiceImpl" /> <bean id="client" class="com.jiahejiankang.operation.api.wsdl.notice.VODNoticeService" factory-bean="clientFactory" factory-method="create"/> <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> <property name="serviceClass" value="com.jiahejiankang.operation.api.test.UserService"/> <property name="address" value="http://10.10.40.246:8888/user/service?wsdl"/> </bean> </beans>
javaEE项目中web.xml配置:其中要配置Spring-cxf.xml
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:spring/spring-core.xml classpath*:spring/spring-cxf.xml </param-value> </context-param> <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>/user/*</url-pattern> </servlet-mapping>
发表评论
-
java 之sftp实现
2018-03-31 17:41 662上周进行了linux环境下sftp的配置和用户权限的创建:ht ... -
java 中jstat的用法
2018-03-20 18:06 722JDK自带VM分析工具jps,jstat,jmap,jcons ... -
javaEE性能优化
2018-03-20 16:41 508性能的优化一般可以从多方面入手,前端资源,java程序,数据传 ... -
jvm gc日志检查
2018-03-20 15:08 371JVM的GC日志的主要参数包括如下几个: -XX:+Pr ... -
负载均衡的几种原理
2018-03-19 16:05 477什么是负载均衡? 就 ... -
基于TCP协议实现RPC
2018-03-19 11:28 718RPC的全称:Remote Process Call,即远程过 ... -
java 多线程
2018-03-16 13:29 363Java 多线程编程 Java 给 ... -
SpringMVC执行流程图
2018-03-15 10:46 474SpringMVC 流程图 DispatcherServle ... -
Java中BIO、NIO、AIO的原理及其区别
2018-03-12 17:34 669IO的处理方式通常分为 ... -
基于Spring 自定义标签实现
2017-11-30 09:26 582一、源码分析: Spring标签的定义分为默认标签和自定义 ... -
java二维码的生成和解析
2017-09-26 11:15 438一、本文目的: 为了研究对支付宝和微信支付的统一路口管理 ... -
spring-data-redis
2017-09-18 11:54 736Spring-data-redis使用 1、maven依赖 ... -
java,redis
2017-09-18 11:32 360Redis 简介 Redis 是完全开源免费的,遵守BSD协议 ... -
Java xml与实体Bean的转换
2017-09-05 15:24 7041、pom.xml依赖包: <dependenc ... -
Java JVM虚拟机知识要点
2017-08-30 10:25 6001、JVM虚拟机图解: ... -
java 上传小于占用空间为4k的jpg图片异常问题处理
2017-07-19 18:02 534javaWeb上传图片 jpg占用空间为4k时,Commons ... -
Springmvc 注入字符串与时间格式的转换
2017-03-24 11:10 1203以下列出两种spring支持的时间转换 -、方式一 1、 ... -
linux下修改war包
2017-03-06 15:32 1111Linux上修改war包上的文件 www.MyExceptio ... -
itellij idea 11.1.3 mybatis 自动构建代码
2016-11-16 09:50 450步骤一: 1、在工程中pom.xml加添 <buil ... -
intellij idea 下resin容器远程调试
2016-11-16 09:27 5392resin远程调试(我使用的是resin-4.0.41版本): ...
相关推荐
总的来说,Java WebService CXF为开发者提供了一种高效、灵活的方式来创建和使用Web服务。通过理解并熟练运用CXF,我们可以构建出可靠的、可扩展的分布式系统。在实际项目中,可以根据需求选择适当的部署模型,例如...
例如,可以使用`@WebService`注解标记一个Java类为Web服务接口,并使用`@Path`注解来定义RESTful服务的URL路径。 4. **CXF服务部署**:CXF提供多种部署方式,包括独立服务器、Tomcat等应用服务器,以及Spring容器。...
它是CXF框架的前身之一,在2006年XFire项目与Apache CX框架合并后形成了如今广泛使用的Apache CXF框架。XFire因其简单易用的特点,在当时成为了许多开发者学习WebService开发的首选框架。 #### 二、XFire与...
1.使用Java 2.用cxf开发webservice 3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送...
Java CXF Webservice接口在处理Web服务时,可能会遇到跨域问题,这通常是由于浏览器的安全策略限制了不同源之间的通信。解决这个问题的关键在于理解和应用CORS(Cross-Origin Resource Sharing)机制。CORS允许...
【Java WebService 源码使用 CXF 框架详解】 Java WebService 是一种基于标准的、平台无关的通信方式,它允许不同系统间的应用程序通过网络交换数据。CXF 是一个开源的 Java 库,它提供了创建和消费 WebService 的...
总的来说,"webservice使用cxf的实例"这个主题涵盖了从基础理论到实际操作的各个环节,包括CXF框架的使用、Web服务的创建与部署、客户端调用、数据绑定、安全性和Spring集成等多个方面。通过学习和实践,开发者可以...
- 在CXF环境中,可以使用Spring配置文件或Java代码来部署服务。例如,使用Spring配置文件: ```xml address="/myService"> ``` 7. **客户端调用** CXF也提供了生成客户端代理类的工具,便于调用远程Web...
【标题】"webservice-cxf-spring-jar.zip" 是一个包含了使用Apache CXF与Spring框架集成开发Web服务的Java库集合。这个压缩包提供了一整套必要的JAR文件,以便于开发者在他们的项目中快速搭建和运行基于CXF的Web服务...
**WebService之CXF服务端使用详解** 在信息技术领域,WebService是一种基于开放标准的,用于不同系统间进行数据交换的技术。Apache CXF是一个流行的开源框架,它使得开发和部署Web服务变得简单而高效。本篇文章将...
WebService CXF 用了一天时间找,官网打不开,国内要积分,下下来又永不了。最后终于搞到手,上传上来分享给大家。 jdk版本 CXF版本 java 9及以上 3.3.x java 8 3.x java 7 2.2x --- 3.2之前版本 java 6 3.1 ...
在本文中,我们将深入探讨如何使用SpringBoot集成Apache CXF来开发Web服务。SpringBoot以其简洁的配置和快速的应用启动而受到广大开发者的欢迎,而CXF是一个强大的开源框架,用于构建和消费Web服务。结合这两者,...
这个"webservice_cxf Demo"项目是一个基于 Apache CXF 的 Web 服务示例,旨在帮助开发者理解如何使用 CXF 来创建、部署和消费 Web 服务。在这个示例中,我们将探讨 CXF 的核心概念、工作流程以及如何通过它来实现...
使用cxf wsdl2java生成webservice客户端命令
【WebService_CXF_x509】是一个关于使用Apache CXF框架实现基于X.509数字证书的安全Web服务的主题。Apache CXF是一个流行的开源Java框架,用于构建和部署Web服务。X.509是一种标准格式,用于表示公钥基础设施(PKI)...
下载完成后,将下载的文件解压缩到任意的文件夹中,比如:C:/Java/CXF,在后面的章节中使用%CXF_HOME%表示CXF框架的存放目录,解压缩后形成的文件目录结构按名称排序如下: 图1、Apache CXF发行包的目录结构示意图
WebService CXF 用了一天时间找,官网打不开,国内要积分,下下来又永不了。最后终于搞到手,上传上来分享给大家。 jdk版本 CXF版本 java 9及以上 3.3.x java 8 3.x java 7 2.2x --- 3.2之前版本 java 6 3.1 ...
综上所述,WebService-CXF实用手册学习大全主要讲述了WebService的基础知识、Java中的相关规范、CXF框架的应用以及在开发过程中会遇到的一些高级特性和最佳实践。这些知识点对于理解和实施基于Java的WebService开发...
【描述】:在这个“webservice之cxf实例”中,我们将深入学习Apache CXF框架在实现Web服务中的具体操作。首先,我们需要了解CXF的基本概念,它作为一个服务端和客户端的栈,支持多种协议和标准,包括SOAP、RESTful、...
**WebService之CXF开发指南** 在IT行业中,WebService是一种基于开放标准(如WSDL、SOAP和UDDI)的通信协议,它允许不同系统之间进行互操作性交互。CXF,全称Apache CXF,是一个开源的Java框架,用于构建和开发高...