WebService接口测试

news2024/12/26 11:43:17

WebService的理解

WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远程调用技术。

特点:

客户端发送的请求主体内容(请求报文)的格式为XML格式

接口返回的响应主体内容(响应报文)的格式为XML格式

WSDL的介绍

就是WebService接口对应的WSDL文件,该文件通过xml格式说明如何调用,可以看作WebService的接口文档(使用说明书)。比如:

SOAP的介绍

Soap就是通信协议,该协议是基于XML的数据结构和超文本传输协议(HTTP)的。

注册网站会员

开通天气查询WebService接口的使用权限

JAVA程序测试WebService接口

这里的Java程序实际上就是一个WebService客户端而已。

步骤一、下载天气查询WebService接口WSDL文件

下载地址为:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl

注意:下载好后,该文件需要更改的。如何修改请参考如下文档:

webservice客户端异常( undefinedelement declaration 's:schema')_binbinxyz的博客-CSDN博客

步骤二、根据WebService接口的WSDL文件在本地生成对应的JAVA代码

附截图:

步骤三、导入相关的jar包

jar包真的比较多。可以参考如下文档:

CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码 - 鬼烧java - ITeye博客

附截图:

步骤四、写一个JAVA客户端测试该接口的调用

这里的测试代码比较简单,没有调JUnit框架的验证方法和hamcrest框架的匹配方法。

代码如下:

package day02;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.junit.Test;
import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWSSoap;

public class WeatherTest2 {
 @Test
 publicvoid test(){
    //
    JaxWsProxyFactoryBean bean = newJaxWsProxyFactoryBean();
    //
    bean.setAddress("http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl");
    //
    bean.setServiceClass(WeatherWSSoap.class);
    //
    WeatherWSSoap service = (WeatherWSSoap)bean.create();

    ArrayOfString s = service.getWeather("上海", "918139fc750c4dc58932179efc8d378b");
    //
    System.out.println(s.getString());
    }
}

步骤五、运行该JAVA程序

附截图:

SoapUI工具的介绍

此处省略N个字。

使用SoapUI工具测试WebService接口

步骤一、安装SoapUI

步骤二、创建一个空的工程

步骤三、选中该工程,导入WSDL

步骤四、打开getWeather的请求报文,修改citycode和userid这两个参数

步骤五、发送请求

附截图:

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

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

相关文章

反射(reflection)基础

反射(reflection) 1. 一个需求引出反射 1.1 请看下面的问题 根据配置文件 re.properties 指定信息,创建Cat对象并调用方法hi 我们用之前的方式处理就是: 先创建一个Cat类,里面创建一个hi()方法; 再创建一个ReflectionQuestion类,然后new …

如何快速开发一个简单实用的MES系统?

01 如何快速开发一个简单实用的MES系统? MES生产管理系统(又称制造执行系统)是一种集成了计划、生产、质量控制、库存管理和材料申请等生产流程的管理系统,是企业中实现高效生产的重要一环。 根据题主描述“通过产品条形码实现对生…

halcon 3D hom_mat3d_rotate简单测试

半年公司没有订单,公司有想法,所以就让部门领导逼着员工自己提离职,为了让我们自己走,先是公司出各种考核,查我上个月的业绩,给我掉部门,然后就是加工作量,这不,让我一个…

C# 根据条件查询树节点所需的相关数据

默认加载所有的数据,结构长这个样子的。 数据库结构长这个样子的 cParentId上级ID、 cItemCode根节点代码、 cItemTitle根节点名称、 cItemName子节点名称、 cItemValue子节点代码 下面就是业务数据处理的相关逻辑: 核心逻辑如下图: pub…

使用Python实现微信自动回复,操作简单,小白也会使用!秒回女朋友消息 泰裤辣!

文章目录 一、安装itchat库二、登录微信三、实现自动回复四、实现关键词回复五、实现图灵机器人回复总结 Python精品助学大礼包 一、安装itchat库 首先,我们需要安装itchat库,它是一个用于微信个人号的微信Python API,可以用于实现微信自动回…

Java Web实训项目:西蒙购物网

文章目录 一、网站功能需求二、网站设计思路(一)设计模式(二)网站前台(三)网站后台1、用户管理2、类别管理3、商品管理4、订单管理 (四)购物流程图 三、网站运行效果四、网站实现步骤…

算法设计 || 实验四 回溯算法-八皇后问题(纯手敲保姆级详细讲解+小白适用+头歌解析)

(一)八皇后问题描述 在一个8x8的棋盘上放置8个皇后,使得每个皇后都不会互相攻击,即任意两个皇后都不能在同一行、同一列或同一条对角线上。 (二)算法思路 由于八皇后问题的解法数量较多,本文将介…

mysql+Galera+haproxy高可用

文件下载地址环境准备 1.1准备三台服务器 服务器名称 Ip 描述 Node0 xxx.xxx.xxx.xxx Node1 xxx.xxx.xxx.xxx Node2 xxx.xxx.xxx.xxx 1.3 安装依赖包 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config setenforce 0 yum -y install lsof ne…

Axure教程—堆积面积图

本文将教大家如何用AXURE制作堆积面积图 一、效果介绍 如图: 预览地址:https://d4nsae.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87838160 二、功能介绍 简单填写中继器内容即可动态显示值 样式颜色等可…

热榜!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

最近很多粉丝朋友私信我说:熬过了去年的寒冬却没熬过现在的内卷;打开Boss直拒一排已读不回,回的基本都是外包,薪资还给的不高,对技术水平要求也远超从前;感觉Java一个初中级岗位有上千人同时竞争&#xff0…

sqlmap的使用详细讲解

一、sqlmap介绍 简介:是一个自动化的sql注入工具,主要功能扫描、发现并利用给定的 url的sql注入漏洞,内置了很多插件 sqlmap支持的数据库: MySQL、oracle、sql-server、DB2.... 注意:sqlmap只用来检测和sq…

用户需求调研的6大注意事项

1、调研目标要清晰具体 调研目标需明确、清晰、具体,只有这样,才能确保在样本选择和问卷设置时,具有明确的目标性和针对性。 2、调研用户精细化梳理 由于用户间存在个体差异,如果只是随机选取部分用户作为调研样本的话&#xff0c…

Tcl-9. string 命令

字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令。一个比较重要的问题就是 模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较、搜索等 操作。下面string 命令提供了一些简单的模式匹配机制。…

MSP432学习笔记9:定时器A-----捕获

今日得以继续我的MSP432电赛速通之旅~~~ 目录 基础知识: 相关库函数: 一般配置步骤: 首先定义一个初始化函数: 1.复用引脚: 2.配置连续计数结构体: 3.初始化定时器连续计数: 4.配置捕获结构体: 5.初始化定时器为捕获: …

缺少vcruntime140.dll如何修复?电脑小白也能学会修复vcruntime140.dll教程

Vcruntime140.dll是一个用于微软的Visual C软件的动态链接库文件,DLL的全称是动态连接库(Dynamic Link Library),它是许多不同软件中所共用的文件类型。这个文件被广泛用作其他软件的依赖库(dependency)。每当您尝试运行一个应用程…

大体量数据迁移成难题,亚马逊云科技如何让迁移能效两不误

逼真的人物设定,精美的主题布局,沉浸式的互动体验,交互式的多元场景……一系列虚拟与现实高度契合又相互映射的设定,成就了“元宇宙”游戏世界的无穷魅力。GVERSE开发的Blockman Go平台就是有着相当大体量的UGC(用户生…

优秀的开源测试工具和框架推荐:精选十大神器!

目录 引言 Katalon Studio Selenium Appium JMeter SOAP UI Robot Framework Watir JUnit Robotium Citrus 结语 引言 你是一位测试从业者,时刻关注着最新的测试工具和框架。但在众多的选择面前,你是否感到困惑和无从下手? 别担…

Android音视频开发1:Android Studio安装

1.JDK安装,至少安装JAVA 1.7 对比项目 Android iOS 开发语言 Java Objective-c,Swift 系统开放性 Android源代码开放,开放性更好 封闭操作系统,开放性较差 系统安全性 源代码开放,安全性较差 封闭操作系统&…

电力电子课设|数控产生PWM波|使用51单片机输出占空比可调PWM波(按钮控制、数码管显示)速成教程

我们学校电气专业开始做电力电子的课设了,小组选了一项制作硬件电路的任务,里面有要求采用数控方式实现DC-DC电压变换的输出电压调节,数控在电路中的体现就是用单片机输出可调占空比的PWM作用于IRF520模块,实现电压的变化&#xf…

chatgpt赋能python:Python不等于0:为什么Python成为SEO的热门选择?

Python不等于0:为什么Python成为SEO的热门选择? 如果你正在寻找一门适合SEO的编程语言,Python可能就是你的不二选择。Python在SEO行业越来越流行,因为它具有许多与SEO相关的功能和特点。通过本文,我们将会介绍Python为…