您好,Ganve,请教个问题: SoapUI获取接口返回的数据,找到匹配的字段值,将该值作为参数传给另一个用例

您好,Ganve,请教个问题: SoapUI获取接口返回的数据,找到匹配的字段值,将该值作为参数传给另一个用例,第1张

加个Groovy 脚本。。把UUID写到TestCase的属性里面去。下一个测试用例直接获右键取属性值就可以了

脚本简单帮你简单写了下,你可以参考下,。你可以根据实际情况调整下。

import comeviwaresoapuisupportXmlHolder

def groovyUtils = new comeviwaresoapuisupportGroovyUtils( context )

//TestTest是你上面获取信息的那个request的名字,我随便取的

def holder = groovyUtilsgetXmlHolder('TestTest#Response')

def UUID = null

//--------------Get OA Cars-----------------------

def Cars = holdergetDomNodes("//:Response/:entries/:e/:content")

for(Car in Cars){

def subCar = new XmlHolder(Car)

def CarName = subCargetNodeValue("/:content/:name")

def CarID = subCargetNodeValue("/:content/:uuid")

if (CarName =='大众'){

testRunnertestCasesetPropertyValue( "UUID","$CarID" )

}

}

根据对方提供的wsdl地址你可以生成客户端类,用wsdl2java(搜索“wsdl生成客户端代码”),你用myeclipse的话参考这个:>

调用方法:

Service1 service = new Service1();  

Service1Soap soap = servicegetService1Soap();  

Systemoutprintln(soapgetProjectInfo());  //本地方法

//不明白的再追问,望采纳

下面是向远处服务器进行请求的详细 *** 作类WebServiceUtil

Java代码

public class WebServiceUtil {

//命名空间

private static final String NAMESPACE = ">

Java调用WebService可以直接使用Apache提供的axisjar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。

1、编写代码方式:

package comyuduntest;

import javarmiRemoteException;

import orgapacheaxisclientCall;

import orgapacheaxisclientService;

import orgapacheaxismessagePrefixedQName;

import orgapacheaxismessageSOAPHeaderElement;

import comcezannegoldenuserException;

import comcezannegoldenuserUserManagerServiceProxy;

import javaxxmlnamespaceQName;

import javanetMalformedURLException;

import javaxxmlrpcServiceException;

import javaxxmlsoapName;

import javaxxmlsoapSOAPException;

public class testWebService {

public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException

{

//标识Web Service的具体路径

String endpoint = "WebService服务地址";

// 创建 Service实例

Service service = new Service();

// 通过Service实例创建Call的实例

Call call = (Call) servicecreateCall();

//将Web Service的服务路径加入到call实例之中

callsetTargetEndpointAddress( new javanetURL(endpoint) );//为Call设置服务的位置

// 由于需要认证,故需要设置调用的SOAP头信息。

Name headerName = new PrefixedQName( new QName("发布的wsdl里的targetNamespace里的url", "string_itemName") );

orgapacheaxismessageSOAPHeaderElement header = new SOAPHeaderElement(headerName);

headeraddTextNode( "blablabla" );

calladdHeader(header);

// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement("发布的wsdl里的targetNamespace里的url", "SoapHeader");

以上就是关于您好,Ganve,请教个问题: SoapUI获取接口返回的数据,找到匹配的字段值,将该值作为参数传给另一个用例全部的内容,包括:您好,Ganve,请教个问题: SoapUI获取接口返回的数据,找到匹配的字段值,将该值作为参数传给另一个用例、我想远程调用webservice接口,对方提供了wsdl地址和服务名/方法名,该怎么获取它的数据呢、使用soap访问服务器,为什么获取到服务器的响应数据为null等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9293167.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存