继上一篇([url]http://redhacker.iteye.com/blog/1444508[/url])关于在jdk6下如何创建webservice之后,本篇将讲述如何利用jdk API结合soapui工具编写简单webservice访问。

一、启动hello webservice服务。启动方式参见[url=http://redhacker.iteye.com/blog/1444508]上篇博客[/url]

启动后效果如下:

[img]http://dl.iteye.com/upload/attachment/0064/5236/28e9a5b2-173f-3aef-beff-56c1558837a6.png[/img]

二、打开soapui工具。工具下载不再赘述。

[img]http://dl.iteye.com/upload/attachment/0064/5238/081b0142-c640-3a18-8101-fe227be6d93f.png[/img]

三、新建WSDL project。

[img]http://dl.iteye.com/upload/attachment/0064/5240/b7fdc6ad-b88a-3949-bf9c-cde77412b129.png[/img]

[img]http://dl.iteye.com/upload/attachment/0064/5242/61a3b0b9-50fd-3df2-87f4-a3231e9753c3.png[/img]

[img]http://dl.iteye.com/upload/attachment/0064/5246/2682b813-f2c1-3a2a-bae5-729eee798a51.png[/img]

四、发起ws请求,获取请求与返回报文。

[img]http://dl.iteye.com/upload/attachment/0064/5254/7bb6de1d-f7f3-347c-9a2f-00e44e746fc8.png[/img]

[img]http://dl.iteye.com/upload/attachment/0064/5256/8769639a-708c-3297-80d8-6d911a5bd314.png[/img]

[img]http://dl.iteye.com/upload/attachment/0064/5259/cfe99984-613c-3015-bd96-c145283c17c1.png[/img]

[img]http://dl.iteye.com/upload/attachment/0064/5261/344f1f1b-c2d9-3dd6-ad03-d39a6eb9b3f0.png[/img]

五、根据请求报文编写java请求程序。

[code]

package com.je.ws.client;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.net.HttpURLConnection;

import java.net.URL;

public class HelloServiceTest {

public static String HELLO_WS_URL = “http://127.0.0.1:8001/HelloServicePort”;

// 调用WS

private static void testHelloService(String name) throws Exception,

IOException {

// 构建请求报文

StringBuffer sendMsgBuffer = new StringBuffer(

““);

sendMsgBuffer.append(““).append(““)

.append(““).append(““).append(name)

.append(““).append(““)

.append(““).append(““);

String sendMsg = sendMsgBuffer.toString();

// 开启HTTP连接ַ

URL url = new URL(HELLO_WS_URL);

HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();

// 设置HTTP请求相关信息

httpConn.setRequestProperty(“Content-Length”,

String.valueOf(sendMsg.getBytes().length));

httpConn.setRequestProperty(“Content-Type”, “text/xml; charset=utf-8”);

httpConn.setRequestMethod(“POST”);

httpConn.setDoOutput(true);

httpConn.setDoInput(true);

// 进行HTTP请求

OutputStream outObject = httpConn.getOutputStream();

outObject.write(sendMsg.getBytes());

// 关闭输出流

outObject.close();

// 获取HTTP响应数据

InputStreamReader isr = new InputStreamReader(

httpConn.getInputStream(), “utf-8”);

BufferedReader inReader = new BufferedReader(isr);

StringBuffer result = new StringBuffer();

String inputLine;

while ((inputLine = inReader.readLine()) != null) {

result.append(inputLine);

}

// 打印HTTP响应数据

System.out.println(result);

// 关闭输入流

inReader.close();

isr.close();

}

// 测试主方法

public static void main(String[] args) throws IOException, Exception {

testHelloService(“jack”);

}

}

[/code]

返回结果:

[code]

Hello,jack

[/code]

六、说明:获取到报文后,可用利用jdk自带的XML dom API或dom4j、jdom等API进行XML解析,获取您想要的数据。

[color=gray]如果您觉得本文对您有益,请点击博文后的google广告,对作者表示支持,谢谢![/color]

java 调用soapui_利用soapui和jdk API访问webservice相关推荐

  1. java string jdk_Java.lang.String中JDK API 1.6.0摘要。

    Java.lang.String中JDK API 1.6.0摘要. String 类代表字符串.示例: String str = "abc"; 字符串是常量,它们的值在创建之后不能 ...

  2. Java调用腾讯云短信API实现发送短信验证码完整。(详细,内附工具类)

    此先声明,本博文并不是为了推销腾讯云短信产品. 只是因为腾讯云短信SDK的使用指南讲的不是很详细,觉得肯定有很多人像我一样被搞的一头雾水.所以专门发一篇关于使用短信接口的博文,为了记录,也为了帮助和我 ...

  3. LUA脚本调用C场景,使用C API访问脚本构造的表

    LUA调用C lua解析中集成了一些系统服务, 故脚本中可以访问系统资源, 例如, lua脚本可以调用文件系统接口, 可以调用数学库, 但是总存在一些lua脚本中访问不到的系统服务或者扩展功能, 如果 ...

  4. 淘宝开发平台 java 调用实例

    Java调用示例代码 更新日期:2016-02-06访问次数:53432 主要步骤 填充公共参数 填充业务参数 计算请求签名 发起API调用 获取API结果 示例代码 import java.io.I ...

  5. Java调用被子类重写的方法

    Java调用被子类重写的方法 在访问权限允许的情况下,子类可以调用父类的方法,这是因为子类继承父类就会获得父类的定义的成员不变量和方法:但父类却不能调用子类的方法,因为父类无法知道会被什么子类所继承, ...

  6. java 调用win32 api 学习总结

    java使用JInvoke调用windows API 使用jinvoke调用windowsAPI.jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样. 官网使用参考: ...

  7. 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能...

    虚拟机系列文章 深入理解 Java 虚拟机(第一弹) - Java 内存区域透彻分析 深入理解 Java 虚拟机(第二弹) - 常用 vm 参数分析 深入理解 Java 虚拟机-如何利用 Visual ...

  8. 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:打卡活动第二期来啦,100% 能获得奖品个人原创+1博客:点击前往,查看更多 虚拟机系列文章 深入理解 Java ...

  9. Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数

    1.Redis和nosql简介,api调用 14.1/ nosql介绍 NoSQL:一类新出现的数据库(not only sql),它的特点: 1.  不支持SQL语法 2.  存储结构跟传统关系型数 ...

  10. 利用JNative实现Java调用动态库

    由于项目要求,需要用Java调用windows的dll文件,查了一下,如果用JNI的话是比较麻烦的,在sourceforge.net上搜索了一下 "Java dll",首先出现的是 ...

最新文章

  1. 键盘历史记录实用程序已停止工作 解决办法
  2. grep awk sed练习
  3. 基于RT-Thread实现的小游戏(贪吃蛇、俄罗斯方块)
  4. [小技巧]EF Core中如何获取上下文中操作过的实体
  5. 使用 BenchmarkDotnet 测试代码性能
  6. CSS之flex需要知道的一切(一)
  7. 下载 Google Chrome 离线安装包
  8. 微管理——给你一个技术团队,你该怎么管
  9. 【NOIP2016提高组】蚯蚓
  10. 【渝粤题库】陕西师范大学163104 景区管理 作业 (高起专)
  11. U盘分区了怎么恢复?详细演示两个方法
  12. mac 安装软件报错
  13. 元宇宙都市传说02:《头号玩家》的隐喻
  14. android 屏幕截图检测,Android 屏幕截图
  15. TensorFlow: A System for Large-Scale Machine Learning翻译
  16. Java 集合中汉字按自然顺序排序
  17. 解决 adb.exe 停止工作小续
  18. 前端基础入门之css定位 position
  19. 面试经历---广东耶萨智能科技股份有限公司(2016年01月11日上午面试)
  20. 组态王与西门子1200通信,读取温湿度数据

热门文章

  1. 远程预付费管理系统帮助物业解决收费难统计难问题
  2. 磁力链转bt种子 python_实战Python实现BT种子转化为磁力链接
  3. ArcGIS Runtime SDK for Android 100开发环境部署
  4. AWVS13破解docker一键安装
  5. 110道Java初级面试题及答案(最新Java初级面试题大汇总)
  6. 调查了23款加速器,只剩这几款可以白嫖了!
  7. lisp怎么改成vlx_如何用CAD自带的VLisp修改Lisp文件并且生成vlx文件??
  8. c语言float类型小数部分占几个字节,c语言float类型小数点后位数
  9. 手机组态软件_安卓平板组态软件​_移动端组态软件介绍
  10. 基于人脸识别实现课堂抬头率检测