cxf传输对象

cxf所需JAR包和xsd文件 cxf所需JAR包和xsd文件,另外还有spring整合cxf的案例供参考:http://blog.youkuaiyun.com/xiangshuai198807/article/details/78555595 立即下载

http://www.cnblogs.com/orchidsure/archive/2009/05/12/1455089.html

http://www.javaeye.com/topic/563331

 

WebService CXF学习(篇1):整合Spring框架
2010-01-16 23:36
通过前面两节的讲解,相信你对CXF框架开始有一些认识了。在当今项目开发中,Spring框架基上都用到过,那么它怎么与CXF结合呢,这就是我们这一间要讲的内容。好了,闲话少说。
    首先,在前面基础上再导入几个spring要用到的几个.jar包:
    spring-core.jar
    spring-jdbc.jar
    spring-context.jar
    spring-orm.jar
    spring-beans.jar
    spring-tx.jar
    包导入完之后,我们还不能开如干活,配置几荐参数,便于下一步工作。
    配置CXF框架
    我的电脑->属性->高级->环境变量
    创建一个CXF_HOEM变量,值为CXF框架所在根目录,修改一下
    CLASSPATH=%CXF_HOME%/lib;PATH=%CXF_HOME%/bin;这时有会问为什么要配置这两个参数据呢,其实配置这两个参 数用途与配置JAVA变量一下,在DOS窗口下直接运行java2ws,wsdl2java等可执行文件。当然你没有配置也可以进到CXF框架的bin目 录下远行这个几个可执行文件。
   配置好了后,你在DOS窗口下输入java2ws,看看配置是否效。肯定没有成功,原因是使用6.0的JDK,我们还得在%JAVA_HOME%/jre /lib目录下创建一下endorsed文件夹,将jaxb-api.jar,jaxws.jar拷贝进去。现在再运一下java2ws,成功运行,配置 生效了。
    基本工作做得差不多,整合spring框架正式开始:
    第一步:新一个web project,导入要用到.jar包,其实CXF利用org.apache.cxf.transport.servlet.CXFServlet来拦截所有web请求,将其配置到web.xml中。配置如下:
<web-app>
<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
    /WEB-INF/classes/applicationContext-*.xml,/WEB-INF/classes/webservice.xml
   </param-value>
</context-param>
<listener>
   <listener-class>
    org.springframework.web.context.ContextLoaderListener
   </listener-class>
</listener>

[color=red]<servlet>
   <servlet-name>CXFServlet</servlet-name>
   <display-name>CXF Servlet</display-name>
   <servlet-class>
    org.apache.cxf.transport.servlet.CXFServlet
   </servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>

注意一下绿色字体
      CXF框架配置好了,我就来开发一个WebService接口

      @WebService
      public interface IService {

//public void save(@WebParam(name="info")String xml);
public void save(@WebParam(name="dto")UserInfoDTO dto,@WebParam(name="flag")boolean flag);
public void update(@WebParam(name="info")String xml);
public void delete(@WebParam(name="id")int id);
public @WebResult(name="String")String get(@WebParam(name="id")int id);
     }

这里面有四个方法,其中有一个涉及到对象,这一点前面一节讲到怎么处理它。放在这里是再回顾前节内容。
    创建一个WebService接口实现类
    @WebService
    public class ServiceImpl implements IService {
private Logger log = LoggerFactory.getLogger(ServiceImpl.class);

public void delete(int id) {
   log.info("delete id is {} user"+id);
}

public void save(UserInfoDTO dto,boolean flag) {
   System.out.println("name:"+dto.getName());
}

public void update(String xml) {
}

public String get(int id){
   return null;
}
   }
      由于本节只讲解与Spring整合,没有涉及到数据库,因就打印一下传递过来的对象内容来证明整合成功。与spring,hibernate整合后面章节会讲到,请留意后面章节。
   传递对象,当然创建对象啦
   @XmlType(name="ServerUserInfo")
   @XmlAccessorType(XmlAccessType.FIELD)
   public class UserInfoDTO implements java.io.Serializable {

private static final long serialVersionUID = -4666026219400887433L;
private Integer id;
private String name;
private Integer age;
private Integer address;

public Integer getId() {
   return id;
}

public void setId(Integer id) {
   this.id = id;
}

public String getName() {
   return name;
}

public void setName(String name) {
   this.name = name;
}

public Integer getAge() {
   return age;
}

public void setAge(Integer age) {
   this.age = age;
}

public Integer getAddress() {
   return address;
}

public void setAddress(Integer address) {
   this.address = address;
}

public UserInfoDTO() {
}

    }

做了这么多工作,有人又会问,怎么现在做的与spring框架就没一点联系,呵呵,确实是这样。开戏开场了,利用Spring来发布WebService接口:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans "
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
[color=red]xmlns:jaxws="http://cxf.apache.org/jaxws"[/color ]
xsi:schemaLocation="
  http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://cxf.apache.org/jaxws
  http://cxf.apache.org/schemas/jaxws.xsd ">
[color=red]
        <!--导入与CXF框架有关的xml-->
        <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" />[/color]

        <!--布布WebService接口-->
<jaxws:endpoint id="service"
   implementor="com.itdcl.service.ServiceImpl" address="/Service">
  
</jaxws:endpoint>
</beans>

服务端开发工作基本结束。现在打包部署到Tomcat6.0.18(本人目前使用的测试服务器,你当然可以使用别的服务器)
    服务器启动完成后,打开浏览器在地址栏中输入http://localhost:port/project name/Service?wsdl看看接口是否发成功。
    接下来就是开发一个客户端了。
    另建一个web project,现在前面的参数配置要起作用了,cmd进入DOS环境下输入wsdl2java -p com.itdcl.service(自定义包名) http://localhost:port/project name/Service?wsdl(前提是服务器没停止)
    敲击Enter,wsdl2java工具帮你将发布出来的wsdl文件转换成webservice接口,到指定目录下将com.itdcl.service拷到刚才另建的web project的src目录下。
    现在,我们就来创建一个客户端程序:

      public class SampleClient {

public static void main(String[] args) {
   ApplicationContext context = new ClassPathXmlApplicationContext(
     "beans.xml");
   
   IService service = (IService)context.getBean("service");
   ServerUserInfo userInfo = new ServerUserInfo();
   userInfo.setAddress(1);
   userInfo.setAge(100);
   userInfo.setName("Jason");

   service.save(userInfo,true);
   service.delete(1);
}

   }

看得仔细的朋友就会问了,ServerUserInfo 这个类那来的,你进到com.itdcl.service目录下就会看到,是WebService发布出来的。
    到目前为止,客户端还没有完成,你没有看到程序中ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");这个bean.xml就是spring框架来注删除 WebService接口的。好啦,创建一个bean.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 "
[color=red]xmlns:jaxws="http://cxf.apache.org/jaxws[/color ]"
xsi:schemaLocation="
  http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
   [color=red]http://cxf.apache.org/jaxws
  http://cxf.apache.org/schemas/jaxws.xsd[/color ]">
<jaxws:client id="service"
   address="http://localhost:9999/cxf/Service "
   serviceClass="com.itdcl.service.IService" />
   </beans>

留意一下绿色字体
    剩下的事就是运行客户端程序了,没有异常抛出,打印出:name:Josen,则恭喜你CXF框架与Spring整合成功。

<servlet-mapping>
   <servlet-name>CXFServlet</servlet-name>
   <url-pattern>/*</url-pattern>
</servlet-mapping>[/color]
</web-app>
cxf.apache.org/schemas/(jaxrs.xsd、jaxrs.xsd、core.xsd)文件下载 CXF和Spring整合时,配置文件中所需要的CXF标签的 schema 文件,将所需的xsd文件配置到本地,可以解决部分IDE在编写配置文件时,无法自动提示的问题。 立即下载

相关推荐

电阻的基本原理、参数、应用与选型

电阻的基本原理、电阻的分类、参数,应用与选型,0欧姆电阻的介绍等。

luobeihai的博客 1万+

maven-cxf自动生成wsdl与xsd文件

CXF自动生成wsdl与xsd文件maven2项目pom.xml效果 maven2项目 针对maven2项目 把该内容直接拷贝到pom.xml里面,然后运行项目Run As ——>maven package pom.xml <!-- 自动生成xsd 和 wsdl 文件 --> <plugin> <groupId>org.apache.cxf...

ShayneLee8的博客 1367

ICNN实现入侵检测的思路与源码(CIC-IDS-2017)

基于ICNN实现入侵检测,可用于现实网络

t1274171989的博客 8415

CXF自动生成wsdl与xsd文件

   针对maven2项目  //把该内容直接拷贝到pom.xml里面,然后运行项目Run As ——&gt;maven package     &lt;!--导入cxf版本定义 --&gt; &lt;properties&gt; &lt;cxf.version&gt;2.4.2&lt;/cxf.version&gt; &lt;/properties&gt; &lt...

iteye_8420的博客 2216

EEVDF调度算法核心实现解析(一)

本文深入解析Linux kernel 6.6引入的EEVDF调度算法核心实现,详细讲解其基于虚拟截止时间(virtual deadline)的进程挑选机制和红黑树优化设计。通过代码实例展示算法如何平衡系统响应速度与公平性,特别适合需要优化Linux系统性能的开发者参考。

weixin_42522953的博客 477

手把手教你学 NPU 驱动开发--第一部分:基础准备 开发环境搭建:Linux 内核编译与 NPU 仿真平台配置

摘要:本文详细介绍了搭建Linux内核编译与NPU仿真平台的完整流程。主要内容包括:1) 准备ARM64交叉编译工具链;2) 编译支持KGDB调试的Linux内核;3) 构建最小根文件系统;4) 使用QEMU模拟自定义NPU设备;5) 配置KGDB调试环境。文章重点讲解了如何通过修改设备树添加虚拟NPU设备,并提供了开源NPUIP Gemmini作为实验对象。最后展示了简单的"Hello NPU"驱动验证方法,为后续NPU驱动开发奠定了基础。文中还附有常用命令速查表,方便开发者快速搭建调

MHD0815的博客 383

CXF实现WebService入门

什么是 Service ? 很多个系统,进行分布的部署,分布的系统数据通信 解决技术就是 WebService 4.2. 什么是 CXF? CXF 是目前最主流 WebService 开发框架 ,由 Apache 提供 官网: http://cxf.apache.org/ 最新版本 3.1.7 CXF WebService 开发,主要分为两种服务提供方式 WS 、RS JAX-WS 传输数...

沙门空海 469

华为OD机试双机位C卷-敌情监控 (Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【敌情监控】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 敌情监控。

qq_45776114的博客 938

xsd转换成java对象

在java的编程中经常用到xsd转换java对象的时候。其实xsd转换java对象的方式有很多种: 1、通过JAXB进行转换成java对象。 2、通过castor转成java对象。 3、通过jdk命令xjc将xsd生成java文件 。 进入xsd文件所在路径xjc -d 目标路径 -verbose classroom.xsd   这里我要介绍的时候使用castor的方式转成对象。 ...

iteye_7102的博客 1926

【Frida Android】实战篇4:SSL Pinning 证书绑定绕过 Hook 教程(一)

在前两章中,我们学习了中间人抓包与 Hook 抓包的基础方法,这些方法在理想环境下能够有效获取网络请求数据。但在实际的企业级应用中,出于安全防护需求,很多 APP 会启用证书绑定(SSL Pinning)机制。这种机制会让客户端对服务器证书的校验更为严格,导致常规的抓包方法(即使将 BurpSuite/Charles 证书安装到系统信任区)也无法生效。因此,从本章开始,我们将系统学习 SSL Pinning 机制的绕过技术。SSL Pinning(证书绑定)是客户端校验服务器身份的进阶安全机制。

水滴石穿 1610

2. 第一个 SAP CDS View 源代码的详细解析:CDS View 和底层自动生成 SQL View 的关系讲解

笔者前一篇教程文章,带着大家在 ABAP 系统创建了一个最简单的基于sflight数据库表的 CDS View:本文对这简单的 14 行源代码背后的知识点进行详细讲解。CDS 全称是 Core Data Services,它是一种数据建模技术,帮助开发者以更直观和高层的方式去描述数据库中所需的数据结构。在一个典型的 SAP ABAP 开发场景里,CDS 经常被用来编写各种用于报表、接口或业务逻辑的数据视图。通常,这些视图包含一系列注解。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1021

CXF传输复杂对象问题

这两天在做使用CXF框架的时候遇到了一个传输复杂对象的问题,问题如下:   背景:  首先,我定义一个JavaBean WebServiceResult 里面有这么几个属性: private boolean success =false; private Map> result = new HashMap>(); private ArrayList topics ; pr

相信科技改变生活 734

基于jeecgboot3.9.0的项目管理——项目工作台(二)

基于jeecgboot3.9.0的项目管理——项目工作台(二)

宁波阿成的博客 205

CXF利用Json格式传输对象

一直以来很少在Iteye上发帖,这次也是闲来无趣。把自己总结的利用JSON格式传递复杂对象的WebService的例子发上来,好让新手学习下。 准备工作 CXF http://cxf.apache.org/ Gson http://code.google.com/p/google-gson/ 众所周知,WebService传输复杂对象是比较麻烦的事情,因为要实现个可序列化接口。 ...

顽客 930

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Apache CXF实战之三 传输Java对象

Apache CXF实战之三 传输Java对象                     本文链接:http://blog.youkuaiyun.com/kongxx/article/details/7527094 Apache CXF实战之一 Hello World Web Service Apache CXF实战之二 集成Sping与Web容器 前面两篇文章介绍了怎样通过CXF来构

java爱分享 1200

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Apache CXF实战之三:传输Java对象

Apache CXF实战之三:传输Java对象 2012-05-03 11:35 kongxx kongxx的博客 我要评论(0) 字号:T | T 前面两篇文章介绍了怎样通过CXF来构建最基本的Web Service,并且其中暴露的接口参数和返回值都是字符串,下面来看看一个稍微复杂一点的例子。 AD:2013云计算架构师峰会精彩课程曝光

legend_x的专栏 709

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

cxf java 实体对象_Apache CXF实战之三 传输Java对象

本文链接:http://blog.youkuaiyun.com/kongxx/article/details/7527094前面两篇文章介绍了怎样通过CXF来构建最基本的Web Service,并且其中暴露的接口参数和返回值都是字符串,下面来看看一个稍微复杂一点的例子。1. 首先是一个普通的pojo对象,用来表示一个实体类package com.googlecode.garbagecan.cxfstudy.j...

weixin_39699121的博客 360

Apache CXF实战之二 传输pojo对象

pojo对象,要有默认构造方法 package com.jing.cxf.vo; import java.io.Serializable; public class User implements Serializable{ String name; String age; String sex; public User(){ } public User(S

jingqiang521的专栏 1010
上一篇: spring配置文件中 关于继承类的配置
下一篇: 常用英文
conquer0
博客等级 码龄20年 3粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值