2019独角兽企业重金招聘Python工程师标准>>> hot3.png

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>apache cxf 测试webservice接口</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
/* GitHub stylesheet for MarkdownPad */
/* Author: Nicolas Hery - http://nicolashery.com */
/* Version: d5e7ce436666e7d4a2eeb12e7f8261dacceb3565 */
/* Source: https://github.com/nicolahery/markdownpad-github *//* RESET
=============================================================================*/html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0;padding: 0;border: 0;
}/* BODY
=============================================================================*/body {font-family: Helvetica, arial, freesans, clean, sans-serif;font-size: 14px;line-height: 1.6;color: #333;background-color: #fff;padding: 20px;max-width: 960px;margin: 0 auto;
}body>*:first-child {margin-top: 0 !important;
}body>*:last-child {margin-bottom: 0 !important;
}/* BLOCKS
=============================================================================*/p, blockquote, ul, ol, dl, table, pre {margin: 15px 0;
}/* HEADERS
=============================================================================*/h1, h2, h3, h4, h5, h6 {margin: 20px 0 10px;padding: 0;font-weight: bold;-webkit-font-smoothing: antialiased;
}h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {font-size: inherit;
}h1 {font-size: 28px;color: #000;
}h2 {font-size: 24px;border-bottom: 1px solid #ccc;color: #000;
}h3 {font-size: 18px;
}h4 {font-size: 16px;
}h5 {font-size: 14px;
}h6 {color: #777;font-size: 14px;
}body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {margin-top: 0;padding-top: 0;
}a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {margin-top: 0;padding-top: 0;
}h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {margin-top: 10px;
}/* LINKS
=============================================================================*/a {color: #4183C4;text-decoration: none;
}a:hover {text-decoration: underline;
}/* LISTS
=============================================================================*/ul, ol {padding-left: 30px;
}ul li > :first-child,
ol li > :first-child,
ul li ul:first-of-type,
ol li ol:first-of-type,
ul li ol:first-of-type,
ol li ul:first-of-type {margin-top: 0px;
}ul ul, ul ol, ol ol, ol ul {margin-bottom: 0;
}dl {padding: 0;
}dl dt {font-size: 14px;font-weight: bold;font-style: italic;padding: 0;margin: 15px 0 5px;
}dl dt:first-child {padding: 0;
}dl dt>:first-child {margin-top: 0px;
}dl dt>:last-child {margin-bottom: 0px;
}dl dd {margin: 0 0 15px;padding: 0 15px;
}dl dd>:first-child {margin-top: 0px;
}dl dd>:last-child {margin-bottom: 0px;
}/* CODE
=============================================================================*/pre, code, tt {font-size: 12px;font-family: Consolas, "Liberation Mono", Courier, monospace;
}code, tt {margin: 0 0px;padding: 0px 0px;white-space: nowrap;border: 1px solid #eaeaea;background-color: #f8f8f8;border-radius: 3px;
}pre>code {margin: 0;padding: 0;white-space: pre;border: none;background: transparent;
}pre {background-color: #f8f8f8;border: 1px solid #ccc;font-size: 13px;line-height: 19px;overflow: auto;padding: 6px 10px;border-radius: 3px;
}pre code, pre tt {background-color: transparent;border: none;
}/* QUOTES
=============================================================================*/blockquote {border-left: 4px solid #DDD;padding: 0 15px;color: #777;
}blockquote>:first-child {margin-top: 0px;
}blockquote>:last-child {margin-bottom: 0px;
}/* HORIZONTAL RULES
=============================================================================*/hr {clear: both;margin: 15px 0;height: 0px;overflow: hidden;border: none;background: transparent;border-bottom: 4px solid #ddd;padding: 0;
}/* TABLES
=============================================================================*/table th {font-weight: bold;
}table th, table td {border: 1px solid #ccc;padding: 6px 13px;
}table tr {border-top: 1px solid #ccc;background-color: #fff;
}table tr:nth-child(2n) {background-color: #f8f8f8;
}/* IMAGES
=============================================================================*/.markdown-body img {max-width: 100%
}
</style>
</head>
<body>
<h2>Apache cxf 测试WebService接口</h2>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;apache cxf是流行的编写webservice的工具,我们也可以用它测试webservice接口,apache-cxf工具带有wsdl2java这个命令行下的工具,我们可以用它将webservice接口导出本地类,然后再调用测试。下面是个简单的例子。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个查询电话号码归属地的webservice接口<a href="http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl">http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl</a>,下载apache-cxf包,wsdl2java工具在其bin目录下,我们执行<code>wsdl2java -client http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl</code>命令,就可以把该webservice接口导出,生成本地类,将生成的代码包复制到我们的工程代码中。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编写我们的测试代码:</p>
<pre><code>    package com.yeetrack.cxf;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import cn.com.webxml.MobileCodeWSSoap;/*** @author youthflies* yeetrack.com*/public class App {public static void main( String[] args ){System.out.println( &quot;使用apache-cxf测试webservice接口&quot; );//创建工厂类JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();//设置要测试的接口类,MobileCodeWSSoap是由apache-cxf生成的factory.setServiceClass(MobileCodeWSSoap.class);//设置webservice地址factory.setAddress(&quot;http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx&quot;);MobileCodeWSSoap mobileCodeWSSoap = (MobileCodeWSSoap) factory.create();//测试getMobileCodeInfo接口,需要两个参数,第一个为手机号码(下面的号码,  是随便写的),第二个为用户id(留空即可)。可以添加校验条件,如果要编写测试用例,可以利用junit或者testng。System.out.println(mobileCodeWSSoap.getMobileCodeInfo   (&quot;13876546787&quot;, &quot;&quot;));}}
</code></pre><p>运行结果如下图:
</p>
<pre><code>    使用apache-cxf测试webservice接口2013-4-29 11:16:22 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass信息: Creating Service {http://WebXml.com.cn/}MobileCodeWSSoapService from class cn.com.webxml.MobileCodeWSSoap13876546787:海南 海口 海南移动全球通卡
</code></pre><p>例子是用maven管理,下面是我的pom.xml文件。</p>
<pre><code>    &lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;&lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;&lt;groupId&gt;com.yeetrack&lt;/groupId&gt;&lt;artifactId&gt;cxf&lt;/artifactId&gt;&lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;&lt;packaging&gt;jar&lt;/packaging&gt;&lt;name&gt;cxf&lt;/name&gt;&lt;url&gt;http://maven.apache.org&lt;/url&gt;&lt;properties&gt;&lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;&lt;/properties&gt;&lt;dependencies&gt;&lt;dependency&gt;&lt;groupId&gt;org.apache.geronimo.specs&lt;/groupId&gt;&lt;artifactId&gt;geronimo-servlet_2.5_spec&lt;/artifactId&gt;&lt;version&gt;1.2&lt;/version&gt;&lt;/dependency&gt;&lt;dependency&gt;&lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;&lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt;&lt;version&gt;2.7.3&lt;/version&gt;&lt;/dependency&gt;&lt;dependency&gt;&lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;&lt;artifactId&gt;cxf-rt-transports-http&lt;/artifactId&gt;&lt;version&gt;2.7.3&lt;/version&gt;&lt;/dependency&gt;&lt;dependency&gt;  &lt;groupId&gt;org.slf4j&lt;/groupId&gt;  &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt;  &lt;version&gt;1.5.8&lt;/version&gt;  &lt;/dependency&gt;  &lt;dependency&gt;  &lt;groupId&gt;org.slf4j&lt;/groupId&gt;  &lt;artifactId&gt;slf4j-jdk14&lt;/artifactId&gt;  &lt;version&gt;1.5.8&lt;/version&gt;  &lt;/dependency&gt;  &lt;/dependencies&gt;
&lt;/project&gt;
</code></pre></body>
</html>
<!-- This document was created with MarkdownPad, the Markdown editor for Windows (http://markdownpad.com) -->

转载于:https://my.oschina.net/u/147181/blog/164972

apache cxf 测试webservice接口相关推荐

  1. Apache JMeter 测试webservice接口

    文章目录 Apache JMeter 测试webservice接口流程 一.设置基础组件 1. 添加一个线程组 2. HTTP信息头管理器 3. HTTP请求 4. 添加一个察看结果树 5. 添加一个 ...

  2. Apache JMeter 测试webservice接口 中文乱码

    文章目录 1. http请求编码设置utf-8 2. jmeter.properties修改默认编码 1. http请求编码设置utf-8 2. jmeter.properties修改默认编码 找到a ...

  3. 使用cxf发布webservice接口,以及调用webservice接口

    一.cxf发布webservice接口 添加maven依赖 <dependency><groupId>org.apache.cxf</groupId><art ...

  4. 关于python测试webservice接口的视频分享

    现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读. Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pyth ...

  5. Apache JMeter 测试 HTTP接口

    一.设置基础组件 1. Apache JMeter 测试 HTTP接口流程 原则:简单的http请求而已,例如:PostMan测试一样的 1.添加一个线程组 2给线程组添加一个取样器,用来发送HTTP ...

  6. 使用python如何测试webservice接口

    如果要用python测试http接口,需要requests这个库来实现对http接口的测试,那么,针对webservice接口,python如何实现,肯定是需要安装第三方的库来实现,需要安装第三方库s ...

  7. Apache CXF实现WebService发布和调用

    第一种方法:不用导入cxf jars 服务端: 1. 新建Web工程 2.新建接口和实现类.测试类 目录结构图如下: 接口代码: package com.cxf.spring.service;impo ...

  8. WebService发布与访问并通过Postman测试WebService接口

    一.创建webService服务. 采用appache提供的cxf开发webService服务,需要引入如下几个包 1.创建工程test 创建实体类 package hu.liu; import lo ...

  9. soapui测试webservice接口时如何传递xml参数

    使用soapUI对webservice接口进行测试的时候如何传递的参数是xml,需要把传递的参数放在转义符中.<![CDATA[   ]]> <![CDATA[<?xml ve ...

最新文章

  1. iOS 自动布局框架 – Masonry 详解
  2. 大牛实战归纳——Kafka架构原理
  3. LeCun预言的自监督模型来了:首个多模态高性能自监督算法,语音、图像文本全部SOTA...
  4. 网易云信集成视频教程(六):如何快速实现iOS下IM自定义消息收发?
  5. java环境变量怎么配置,详解系列文章
  6. [html] 写html代码时,如果缺少了结束标签,你如何检测及如何预防?
  7. 一段比较好的加1操作。能够防止简单的++造成的溢出。
  8. linux存储格式化和挂载
  9. C++编程中const和#define的区别
  10. Django学习笔记-MySQL
  11. 电子罗盘在终端的应用
  12. 软件工程毕业设计题目推荐50例
  13. 奥拉星插件flash下载手机版下载安装_flash控件手机版
  14. c语言小游戏 贪吃蛇
  15. java socket分包粘包 代码_分享java中处理socket通信过程中粘包情况的实例代码
  16. oracle怎么使用Xmanager,Xmanager使用总结
  17. java 十六进制负数_Java 十六进制转十进制正负数
  18. 千峰java 笔记整理_JAVA学习笔记系列:菜鸟Vue学习笔记(四)
  19. [小o地图-数据] - 下载行政区范围内的POI数据
  20. 一文读尽“数字化咨询”

热门文章

  1. 中文和全角检测 两种写法
  2. 华为服务器麒麟系统,麒麟云服务器
  3. 建模步骤_UG1847建模机械零件,零基础可读详细图文步骤
  4. plaintextedit指定一行一行的高亮显示_RDKit | 基于RDKit的指定原子或键高亮
  5. Linux省级精品课程申报,2016年度省级精品在线开放课程开始申报啦!
  6. mysql缺少函数_总结零散的 MySQL 基础知识
  7. html5多个图片位置_图表分析中的HTML5地图需求,这款BI轻松5步就给解决了
  8. java ajax cookies_HttpOnly cookie如何处理AJAX请求?
  9. PHP两文件嵌套循环引用,php的循环与引用的一个坑,php循环引用_PHP教程
  10. C mysql带参数存储过程_C# 调用Mysql 带参数存储过程