CSM wsdl的脚本

时间:2019-06-18 12:45:44

标签: groovy soapui

im试图为CSM wsdl编写脚本,其中可能包含请求的多个版本。 每个请求上都有一个唯一的标记,这就是我正在使用的要针对其返回特定请求的条件。

例如:我有2个基于CSM wsdl的请求,firt具有OrderItemStatus作为唯一标记,第二个具有Description,其值为“ desc123”,现在对于要在请求中接收到的任何标记,我想返回Response1或回应2。

这是我尝试过的:

def temp="XX";
def groovyUtils=new com.eviware.soapui.support.GroovyUtils(context)
def xml=new XmlSlurper().parseText(mockRequest.requestContent)
xml.breadthFirst().each{
        def v=it.toString()
        log.info("==============="+it.name()+"==================="+it.text());
        if(it.name()=="Description" || "OrderItemStatus"){ -- Here im searching for what tag is preset on the request
                temp=it.text(); - Here is where im saving value of the tag.
                log.info("===================matching tag=========================="+it.text());
        }
}
//log.info("*temp**"+temp);
if(temp=='Close'){ -- This condiiton is ignored, it always returns Response_01.
        log.info("if Response_01");
        mockOperation.setDefaultResponse("Response_01");
}else if(temp=='desc123'){
        log.info("else if Response_02");
        mockOperation.setDefaultResponse("Response_02");
}else{
        log.info("else Generic");
        mockOperation.setDefaultResponse("Generic");
}

我面临的问题是,无论是否在请求中找到带有“ Close”值的OrderItemStatus,它总是返回,它始终返回Response_01。 谢谢!

0 个答案:

没有答案