关闭

SOAPUI HTTP后台模拟代码

标签: soapUI后台代码httpwebservice
688人阅读 评论(0) 收藏 举报
分类:
SoapUI HTTP后台调用模拟程序
             

         很多情况下我们再调用Werbservice接口的时候都是在本地调用,本地调用的时候直接用windows下面的soapui即可测试。而当我们需要与厂家对接接口时候,一般都是放在linux服务器上去测试,而此时就需要用代码来测试。或者你也可以在linux上安装linux版本的soapui,这里我们主要介绍代码方式实现SoapUI后台Webservice后台调用。

package com.zy.test;
import java.io.ByteArrayInputStream;
import java.io.InputStream;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
public class Deme {
	public static String SoapRequest(String xml, String url) {
		try {
			PostMethod postMethod = new PostMethod(url);
			byte[] b = xml.getBytes("utf-8");
			InputStream is = new ByteArrayInputStream(b, 0, b.length);
			System.out.println("is:" + is);
			RequestEntity re = new InputStreamRequestEntity(is, b.length, "application/soap+xml; charset=utf-8");
			System.out.println("re:" + re);
			postMethod.setRequestHeader("SOAPAction", "getAllManagedElements");//这个参数对应操作类型,一般方法名。不传报接口未
                       //注册错误,很重要。
                        postMethod.setRequestEntity(re);
			HttpClient httpClient = new HttpClient();
			httpClient.executeMethod(postMethod);
		
			xml = postMethod.getResponseBodyAsString();
			xml = xml.replaceAll(""", "'");
		} catch (Exception e) {
			e.printStackTrace();
			xml = "error";
		}
		return xml;
		
	}
	public static void main(String[] args) {
		String report ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
				"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\""
				 + "xmlns:v1=\"http://www.tmforum.org/mtop/fmw/xsd/hdr/v1\" "
				 + "xmlns:v11=\"http://www.tmforum.org/mtop/mri/xsd/mer/v1\" "
				 + "xmlns:v12=\"http://www.tmforum.org/mtop/fmw/xsd/nam/v1\">" 
				 + "<soapenv:Header>"  
				 + " <v1:header> " 
				 + "<v1:activityName>getAllManagedElements</v1:activityName>"
				 +  "<v1:msgName>getAllManagedElementsRequest</v1:msgName>" 
				 +  "<v1:msgType>REQUEST</v1:msgType>"
				 + "<v1:senderURI>/MTOSI/InventoryOS</v1:senderURI>"  
				 + "<v1:destinationURI>/MTOSI/EmsOS</v1:destinationURI>" 
				 + "<v1:security>admin_VARIABLE_admin</v1:security>" 
				 + "<v1:communicationPattern>SimpleResponse</v1:communicationPattern>"  
				 + "<v1:communicationStyle>RPC</v1:communicationStyle>" 
				 + "</v1:header>" +
				 "</soapenv:Header>" +
				 "<soapenv:Body>" + 
				 "<v11:getAllManagedElementsRequest>" + 
				 "<!--Optional:-->" +
				 "<v11:mdOrMlsnRef>" + 
				 "<!--1 or more repetitions:-->" +
				 "<v12:rdn>" + 
				 "<v12:type>MD</v12:type>" + 
				 "<v12:value>GZKD</v12:value>" + 
				 "</v12:rdn>" +
				 "</v11:mdOrMlsnRef>" + 
				 "</v11:getAllManagedElementsRequest>" + 
				 "</soapenv:Body>" + 
				 "</soapenv:Envelope>" ;
		
   
		String url = "webservice地址";
		System.out.println("返回的xml报文是:" + SoapRequest(report, url));
	}
}

代码所使用到的jar包分别有:httpcore-4.3.1.jar,commons-logging-api-1.1.jar,commons-logging-1.1.1.jar,commons-httpclient-3.1.jar,commons-codec-1.6.jar。可在www.java2s.com自行下载。


解压出来放入上面的Demo类打包的jar包配置Main-Class主属性上传至对应服务器即可运行。



1
0
查看评论

java使用soapui解析wsdl

以前从网上找了一个解析wsdl的程序,非常老用的jar包也是02年或者以前的导致一些服务不能解析为此想了很多办法,更新wsdl4j的jar包什么的都试过,结果都失败了。 今天就试着使用soapui的jar来解析,因为发现soapui是啥都能解析的。 开始写代码:import com.eviwar...
  • handaoyaosi
  • handaoyaosi
  • 2016-01-07 17:20
  • 4181

SoapUI使用方法-01发送http请求

一、发送HTTP请求消息 1、打开soapUI。 2、新建一个项目,实例如下:     点击ok后在soapUI界面左侧会显示出此项目,如图:   2、创建测试用例: a、新建用例组,选择此项目右键,新建一个用例组,如下图:   用例组创建好后,在test...
  • russ44
  • russ44
  • 2016-06-15 12:15
  • 21007

图解使用SoapUI发送http请求

1、新建soap 工程 2、设置一个用户名 3、右键新建的工程,选择new TestSuite 4、右键新建的TestSuite,选择New TestCase 5、在Test Step上右键 6、从Add Step子菜单中选择HTTP Request 7、配置HTTP请求 8、最后点击...
  • Excaliburace
  • Excaliburace
  • 2016-06-03 16:52
  • 3478

SoapUI模拟服务端进行接口测试

在进行接口测试中,SoapUI是很好的第三方工具,可模拟http、webservice等多种协议请求进行测试,SoapUI模拟请求方发送http、webservice的request请求参见我之前的博客: http://blog.csdn.net/russ44/article/details/51...
  • russ44
  • russ44
  • 2016-08-17 14:08
  • 14879

SoapUI的使用1——模拟服务器

1、soapui 输入参数为字符串,但是这个字符串本身又是xml格式的,如何输入? CDATA[ 354561031959904 ]]> 即将xml格式的字符串放置在
  • xiaoxiaoyusheng2012
  • xiaoxiaoyusheng2012
  • 2016-07-13 19:38
  • 1358

用java http post模拟soapUI调用webservice

工作中需要用java调用peoplesoft提供的webservice接口,但peoplesoft的实施方没有提供java调用的案例代码,soapUI可以调用,但java代码一直写不出来,自行学习并调通了用java http post模拟的方法,感谢天涯的zhouyun0243和谷歌! impo...
  • lihao2372
  • lihao2372
  • 2015-04-03 10:52
  • 3412

SoapUI压力测试

The different Load Strategies available in soapUI and soapUI Pro allow you to simulate various types of load over time, enabling you easily test the p...
  • tyb1222
  • tyb1222
  • 2014-08-08 16:47
  • 3397

soapui模拟桩mockservice---模拟后台服务器

soupui模拟桩mockservice    soupui的mockservice可以模拟服务器后端,对前端的请求给出响应,为了扩大mockservice可覆盖的范围,可以把mockservice打成war包部署到服务器上,供所有与项目相关的人员使用。本文介绍如何用mockse...
  • wjcaolinghua
  • wjcaolinghua
  • 2014-08-18 08:59
  • 3225

使用soapui +apache cxf 生成java 访问webservice 代码

一、用soapUI生成客户端代码   方法一:   1、第一步,打开soapUI,菜单栏里的tools,选择apache CXF,如图,      2、第二步,WSDL:写上你连接服务端的地址,OutputDirectory:选择你生成的客户端的保存路径,package:选择...
  • zhouzhiwengang
  • zhouzhiwengang
  • 2017-05-17 09:41
  • 1579

SoapUI5.0创建WebService接口模拟服务端

使用SoapUI模拟WebService接口服务端需要接口
  • a19881029
  • a19881029
  • 2014-05-20 14:30
  • 22942
    个人资料
    • 访问:54174次
    • 积分:1198
    • 等级:
    • 排名:千里之外
    • 原创:65篇
    • 转载:0篇
    • 译文:0篇
    • 评论:11条
    贵州中测信息技术有限公司
    友情链接
    最新评论