soapui和cxf的却别_根据wsdl文件用soapUi快速构建webService服务(有图有真相)

最近公司业务上使用webservice 频繁。由于之前都是自己建立webservice 自己定义提供帮对方服务,现在则相反需求都是根据人家提供的wsdl 文件来生成 我们系统必须提供的接口。刚起初不知道如何生成soapui调用wsdl需要安全验证,为了一个webservice 服务,而建立多种环境如: xfire,jaxws,axis,cxf , 几种都搭建出来,一种一种比较生成wsdl 的格式,最好确认了格式,又得确定方式,对象,服务名,一系列下来的花上 1-2天时间。

言归正传,首先普及一下,webservice 规范,无论他们所使用的语言、 平台或外部协议是何种, 都可以互相交换数据。

换句话说,人家提供的wsdl ,我们生成的基本条件为 调用的服务名,端口,方法名得跟 提供的wsdl 一致,这样就能通讯. 所以不必纠结使用哪个框架 生成,选我们很熟悉的webservice ,这里我使用的是apache-cxf-2.7.11

生成 根据人家提供的wsdl 一样的接口与服务 , 测试服务接口硬件soapui-4.5.2 , apache-cxf-2.7.11

1. 在官方下载apache-cxf-2.7.11 完成后,配置环境变量(和java 配置环境变量一样)

新建环境变量CXF_HOME = 你的路径/apache-cxf-2.7.11

2. 在Path 后面添加 %CXF_HOME%/bin ,保存退出

3. cmd 一下 看能否有此界面,如果有则顺利了

4. 启动soapui-4.5.2\bin\soapui.bat , 新建 New soapUI project

5. 点ok 后,生成如下图soapui调用wsdl需要安全验证,然后选中项目选取apache cxf

6. 点击tools,选中cxf 路径,ok后,在后面矿 选择输出文件模式,填写包路径,勾选 生成 generates client ,generates server, generates implement, 点击generates

7. 这就完成了。其实soapUI 也并非用apache-cxf 命令生成。也可以用apache-cxf bin 下生成目录.

8. 引入jar 包 ,我这儿使用的是 maven

org.apache.cxf

cxf-api

2.7.11

org.apache.cxf

cxf-rt-frontend-jaxws

2.7.11

org.apache.cxf

cxf-rt-bindings-soap

2.7.11

org.apache.cxf

cxf-rt-transports-http

2.7.11

org.apache.cxf

cxf-rt-ws-security

2.7.11

9. 复制至工程后。 新建文件名applicationContext-cxf.xml ,

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.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">

10. 与spring 的applicationContext.xml 文件一个目录, 再在applicationContext.xml 里面引用

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

">

11. 在项目里配置 web.xml

CXFServlet

org.apache.cxf.transport.servlet.CXFServlet

CXFServlet

/services/*

完成前面步骤之前首先你的ssh 工程得走的上去。最少得有spring 支持。我使用的是 spring mvc + mybatis

按上面来不会有出错. 在浏览器输入:8080/tsmweb/services/sptsmstubws?wsdl

路径名称 servlet url pattern +applicationContext-cxf.xml address

显示如下。成功

引用:

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/tongxinshuyu/article-140906-1.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux软件安装管理

Linux软件安装管理 TonyLinux系统工程师难度初级 时长 3小时 6分 学习人数64016 综合评分9.8收藏上面是linux 的源代码安装包 linux有两种类型的软件安装方式: 1、源代码安装 这种方式的软件安装,可以指定软件的安装目录,软件的运行效率高&am…

ts语音自建服务器,自建TeamSpeak语音服务器,免费提供给专注游戏的玩家使用!...

先提一句,带过节奏的云玩家 可以滚了!​​​以下内容更新于2020/5/22 15:30:​根据 洛杉矶湖人名宿孙悦 ​的提醒,不推荐下载ts1.cn的盗版客户端,也不推荐俱乐部或者各位玩家租用ts1.cn的盗版服务器。具体可查看帖子 h…

hbase多master和动态添加节点

1、多个master节点。 在reginserver节点上使用命令: hbase-daemon.sh start master 在nbdo3机器上启动主备后,查看nbdo3机器上master产生的日志: 2017-04-08 09:37:52,471 INFO [nbdo3:16000.activeMasterManager] master.ActiveMasterMa…

电子电器架构刷写方案——General Flash Bootloader

电子电器架构刷写方案——General Flash Bootloader 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 注:文章1万字左右,深度思考者入!!! 老规矩,分享一段喜欢的文字,避免…

python心理学实验程序_心理学实验程序编程(python)

任务一:实现简单的屏幕的颜色之间的切换 importpygamefrom pygame.locals import *pygame.init() win pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)for i in range(10): win.fill((0,255,0))if i%20: win.fill((255,0,0)) pygame.time.wait(500) pygame…

Java并发-ThreadLocal

原文地址:cmsblogs.com/?p2442 ThreadLocal介绍 ThreadLocal提供了一种解决多线程环境下成员变量的问题,但是它并不是解决多线程共享变量的问题。那么ThreadLocal到底是什么呢? API是这样介绍的:This class provides thread-loca…

vue 监听map数组变化_解决vue无法侦听数组及对象属性的变化问题

一、数组1、可以监听到的情况如push、splice、赋值(array[1,2,3])2、无法监听到的情况使用下标修改某个元素(这种比较常见)array[index] 1object.a 3直接修改数组lengtharray.length 53、解决方案this.$set(array, index, data) - 这是个深度的修改,某些情况下可…

哈维玛德学院 计算机,这些美国大学名气不高,却有最顶级的工程专业

上一期我们盘点了有博士学位的Top50 大学工程专业排名今天我们继续盘点 2018USNEWS 工程专业排名不过这个排名主要针对的是没有博士学位的 Top50 大学和上一期那些大名鼎鼎的大学相比这里面很多大学并不怎么为人熟知因为这个榜单大部分都是区域性大学事实上,工程专业…

Hbase介绍

1、为什么出现hbase?hadoop 的NameNode适合大文件,不适合小文件。HDFS不适合大量小文件的存储,因namenode将文件系统的元数据存放在内存中,因此存储的文件数目受限于 namenode的内存大小。HDFS中每个文件、目录、数据块占用150Byt…

math 向上取整_自我说明:关于Math和File类的具体说明.

Math类:Math类,不允许有子类,它直接继承于object.Math类包含执行基本数字运算的方法.如基本指数,对数,平方根和三角函数.Math的基本方法:System.out.pintln(“1.绝对值:”Math.abs(16)”t”Math.abs(-16)”…

眼图 非差分线_LVDS低电压差分信号简介

LVDS低电压差分信号简介1. 名词解释1.1. 背景随着数据传输速率越来越高,现在计算机系统中的数据传输接口基本上都串行化了,像USB、PCIe、SATA、DP等等外部总线将并行总线挤压到只剩下内存总线这个最后的堡垒。当然,就算是并行传输总线最后的倔…

无内存在优盘可以启动计算机吗,没有U盘不要紧,内存卡做启动盘装Win7方法

现在最流行的win7系统安装方法大多以U盘来安装,那么如果你没有U盘呢?为了安装个Win7系统是不是要去买个U盘?当然不用,如果你还有空闲不用的手机内存卡,那么也是可以制作U盘启动盘来安装Win7系统的。准备工具&#xff1…

微信小程序request请求动态获取数据

微信小程序开发文档链接 1 后台代码: clickButton:function(){var that this;wx.request({url: http://localhost:9096/admin.php/index/jj,method : POST,header: { content-type: application/x-www-form-urlencoded },data : {},success: function (res) {//console.log(re…

HBase中的HMaster、HRegionServer、Zookeeper

原文链接:http://blog.csdn.net/mm_bit/article/details/51304233 ----------------------------------- HMaster是Hbase主/从集群架构中的中央节点。通常一个HBase集群存在多个HMaster节点,其中一个为Active Master,其余为Backup Master. Hbase每时每刻只有一个hm…

spyder python调试_使用spyder编译器单步调试python

1、将需要进行单步调试的函数在脚本中进行调用(十分重要的一步)。由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数。如下图所示,我们定义了createDataS…

label qt 自动换行_QT编写一个登录界面

前言继上篇:一起学Qt之基础篇---入门今天上手实操用QT编写一个登录界面~系统权限这个词大家肯定不陌生,你进入一个网站也是,如果不登录,就是以游客的身份进去的,要想看到某些信息肯定需要进行登录,更完善的…

我的世界服务器怎么修改书与笔,我的世界书与笔怎么做 我的世界书与笔怎么用...

第一步先收集甘蔗,然后合成纸,甘蔗在河边,池塘边,沼泽地一般都会生成,我们也可以拿回家种植,但是甘蔗必须种在水边,其他地方种植不了,其他地方玩家怎么右键甘蔗都是没有反应的。第二…

python csv模块用法_python使用csv模块如何将数据存放在一张表的不同行?

def save2csv(file_nameNone, headerNone, dataNone): """ 保存成CSV格式文件,方便Excel直接打开 :param file_name: 保存的文件名 :param header: 表头,每一列的名字 :param data: 具体填充数据 :return: """ if file_name is None or isinstan…

虚拟机 服务器 root,虚拟机切换到root账户

虚拟机切换到root账户 内容精选换一换一、安装虚拟机1、下载VMware workstation 14 ,安装时按照默认配置安装2、下载ubuntu-18.04.1-desktop-amd64.iso镜像文件3、打开 VMware workstation ,新建虚拟机4、配置虚拟机内存,磁盘,网络…

每一行末尾添加分号

文本内容如下: TMP_TBX_100_0_A1 TMP_TBX_100_0_A10 TMP_TBX_100_0_A12 TMP_TBX_100_0_A13 TMP_TBX_100_0_A14 TMP_TBX_100_0_A15 TMP_TBX_100_0_A15_2 TMP_TBX_100_0_A16 TMP_TBX_100_0_A17 TMP_TBX_100_0_A18 TMP_TBX_100_0_A19 TMP_TBX_100_0_A19_2 TMP_TBX_100…