java 调用soapui_利用soapui和jdk API访问webservice

这篇博客介绍了如何利用JDK API与SoapUI工具来创建和访问Webservice。首先,启动HelloWorld Webservice服务,然后通过SoapUI新建WSDL项目并发起请求。接着展示了发送和接收请求的Java代码示例,最后提到可以使用XML解析API处理响应数据。
摘要由CSDN通过智能技术生成

继上一篇([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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值