Скрипт для CSM WSDL - PullRequest
       10

Скрипт для CSM WSDL

0 голосов
/ 18 июня 2019

я пытаюсь создать сценарий для CSM wsdl, в котором могут быть составлены несколько версий запроса. Каждый запрос имеет уникальный тег, и это то, что я использую в качестве условия, для которого должен быть возвращен конкретный запрос.

Например: у меня есть 2 запроса на основе CSM wsdl, у firt есть OrderItemStatus в качестве уникального тега, а у второго есть Description с "desc123" в качестве значения, теперь для любого тега, полученного по запросу, я хочу вернуть Response1 или Response2.

Вот что я попробовал:

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");
}

Проблема, с которой я сталкиваюсь, заключается в том, что он всегда возвращает независимо от того, находит ли он по запросу OrderItemStatus со значением «Закрыть» значение или нет, он всегда возвращает Response_01. Спасибо!

...