Forum Discussion

sledge737's avatar
sledge737
New Contributor
13 years ago

Multiple step testsuites fails with "cached" responses

SoapUI client:
soapUI 4.0.1-SNAPSHOT, copyright (C) 2004-2011 eviware software ab http://www.soapui.org | http://www.eviware.com Build soapui-core-4.0.1-daily-2011-08-05-[1], Build Date 2011/08/05 02:10

Scenario:
I have several test steps in a test suite.
The tests run against a Tibco EMS via Hermes JMS topics. The answers from the Tibco server is mocked.

Case:
Running the test steps from testsuite view. Viewing the topics in Hermes config UI.
The testsuite runs 2 or more steps, then fails. The error is that the response in SoapUI belongs to a another previous step. Viewing the Hermes Topic shows that the response from Tibco is correct, but the the response which fails in SoapUI is a "cached" response from previous step. Attaching the response logged on the soap UI and the response logged in Hermes for the same step execution when failing.

SoapUI response:
Step 1 response:
<?xml version="1.0" encoding="UTF-8"?>

<ns0:ValidateAddressResponse xmlns:ns0="http://XXX.XXX.XXX/YYY/ZZZ">
<ns1:ResponseHeader xmlns:ns1="http://XXX.XXX.XXX/CCC/DDD">
<ns1:Status>OK</ns1:Status>
<ns2:RequestHeader xmlns:ns2="http://XXX.XXX.XXX/CCC/DDD" xmlns:ns1="http://XXX.XXX.XXX/YYY/ZZZ" xmlns:ns3="http://XXX.XXX.XXX/BBB/AAA" xmlns:jms1="http://www.tibco.com/namespaces/tnt/plugins/jms">
<ns2:Sender>
<ns2:Country>Norway</ns2:Country>
<ns2:User>rhk</ns2:User>
<ns2:System>CRM</ns2:System>
<ns2:Process>addressvalidation</ns2:Process>
</ns2:Sender>
<ns2:Receiver>
<ns2:System>addressValidationAdapter</ns2:System>
<ns2:Country>Norway</ns2:Country>
</ns2:Receiver>
<ns2:Timestamp>2011-05-11T10:00:01</ns2:Timestamp>
<ns2:RequestId>reqID</ns2:RequestId>
</ns2:RequestHeader>
</ns1:ResponseHeader>
<ns0:Address>
<ns1:country xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA">Norway</ns1:country>
<ns1:stateOrProvince xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA"/>
<ns1:locality xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA">BERGEN</ns1:locality>
<ns1:postcode xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA">5057</ns1:postcode>
<ns1:municipalityCode xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA"/>
<ns1:municipalityName xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA"/>
</ns0:Address>
</ns0:ValidateAddressResponse>

Hermes JMS
Step 1 response:
<ns1:ValidateAddressRequest xmlns:ns1 = "http://XXX.XXX.XXX/YYY/message/0.1" xmlns:ns3 = "http://XXX.XXX.XXX/YYY/sid/0.1" xmlns:ns2 = "http://XXX.XXX.XXX/YYY/0.1">
<ns2:RequestHeader>
<ns2:Sender>
<ns2:Country>Norway</ns2:Country>
<ns2:User>rhk</ns2:User>
<ns2:System>CRM</ns2:System>
<ns2:Process>addressvalidation</ns2:Process>
</ns2:Sender>
<ns2:Receiver>
<ns2:System>addressValidationAdapter</ns2:System>
<ns2:Country>Norway</ns2:Country>
</ns2:Receiver>
<ns2:Timestamp>2011-05-11T10:00:01</ns2:Timestamp>
<ns2:RequestId>reqID</ns2:RequestId>
</ns2:RequestHeader>
<ns1:Address type="PHYSICAL">
<ns3:country>Norway</ns3:country>
<ns3:postcode>5057</ns3:postcode>
</ns1:Address>
</ns1:ValidateAddressRequest>

So far all OK then next step.....

SoapUI:
Step 2 response:
<?xml version="1.0" encoding="UTF-8"?>

<ns0:ValidateAddressResponse xmlns:ns0="http://XXX.XXX.XXX/YYY/ZZZ/0.1">
<ns1:ResponseHeader xmlns:ns1="http://XXX.XXX.XXX/CCC/DDD">
<ns1:Status>OK</ns1:Status>
<ns2:RequestHeader xmlns:ns2="http://XXX.XXX.XXX/CCC/DDD" xmlns:ns1="http://XXX.XXX.XXX/YYY/ZZZ/0.1" xmlns:ns3="http://XXX.XXX.XXX/BBB/AAA/0.1" xmlns:jms1="http://www.tibco.com/namespaces/tnt/plugins/jms">
<ns2:Sender>
<ns2:Country>Norway</ns2:Country>
<ns2:User>rhk</ns2:User>
<ns2:System>CRM</ns2:System>
<ns2:Process>addressvalidation</ns2:Process>
</ns2:Sender>
<ns2:Receiver>
<ns2:System>addressValidationAdapter</ns2:System>
<ns2:Country>Norway</ns2:Country>
</ns2:Receiver>
<ns2:Timestamp>2011-05-11T10:00:01</ns2:Timestamp>
<ns2:RequestId>reqID</ns2:RequestId>
</ns2:RequestHeader>
</ns1:ResponseHeader>
<ns0:Address>
<ns1:country xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA/0.1">Norway</ns1:country>
<ns1:stateOrProvince xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA/0.1"/>
<ns1:locality xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA/0.1">BERGEN</ns1:locality>
<ns1:postcode xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA/0.1">5057</ns1:postcode>
<ns1:municipalityCode xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA/0.1"/>
<ns1:municipalityName xmlns:ns1="http://XXX.XXX.XXX/BBB/AAA/0.1"/>
</ns0:Address>
</ns0:ValidateAddressResponse>

Which is the same response as for response in step 1 !


and the Hermes response on topic is correct:
Step 2 response:

<?xml version="1.0" encoding="UTF-8"?>
<ns0:ValidateAddressResponse xmlns:ns0="http://XXX.XXX.XXX/YYY/message/0.1">
<ns1:ResponseHeader xmlns:ns1="http://XXX.XXX.XXX/YYY/0.1">
<ns1:Status>OK</ns1:Status>
<ns2:RequestHeader
xmlns:jms1="http://www.tibco.com/namespaces/tnt/plugins/jms"
xmlns:ns1="http://XXX.XXX.XXX/YYY/message/0.1"
xmlns:ns2="http://XXX.XXX.XXX/YYY/0.1" xmlns:ns3="http://XXX.XXX.XXX/YYY/sid/0.1">
<ns2:Sender>
<ns2:Country>Norway</ns2:Country>
<ns2:User>rhk</ns2:User>
<ns2:System>CRM</ns2:System>
<ns2:Process>addressvalidation</ns2:Process>
</ns2:Sender>
<ns2:Receiver>
<ns2:System>addressValidationAdapter</ns2:System>
<ns2:Country>Norway</ns2:Country>
</ns2:Receiver>
<ns2:Timestamp>2011-05-11T10:00:01</ns2:Timestamp>
<ns2:RequestId>reqID</ns2:RequestId>
</ns2:RequestHeader>
</ns1:ResponseHeader>
<ns0:Address>
<ns1:country xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">Norway</ns1:country>
<ns1:GeoAddressHasSubAddresses xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">
<subUnitNr>H0101</subUnitNr>
<levelType>H</levelType>
<levelNr>1</levelNr>
</ns1:GeoAddressHasSubAddresses>
<ns1:GeoAddressHasSubAddresses xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">
<subUnitNr>H0102</subUnitNr>
<levelType>H</levelType>
<levelNr>1</levelNr>
</ns1:GeoAddressHasSubAddresses>
<ns1:GeoAddressHasSubAddresses xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">
<subUnitNr>H0201</subUnitNr>
<levelType>H</levelType>
<levelNr>2</levelNr>
</ns1:GeoAddressHasSubAddresses>
<ns1:GeoAddressHasSubAddresses xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">
<subUnitNr>H0202</subUnitNr>
<levelType>H</levelType>
<levelNr>2</levelNr>
</ns1:GeoAddressHasSubAddresses>
<ns1:streetNrFirst xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">7</ns1:streetNrFirst>
<ns1:streetName xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">Strandlien</ns1:streetName>
<ns1:locality xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">Bergen</ns1:locality>
<ns1:postcode xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">5057</ns1:postcode>
<ns1:municipalityCode xmlns:ns1="http://XXX.XXX.XXX/YYY/sid/0.1">1201</ns1:municipalityCode>
</ns0:Address>
</ns0:ValidateAddressResponse>



Any ideas why this might occur ?

2 Replies

  • sledge737's avatar
    sledge737
    New Contributor
    Solved it by adding unique value in JMSCorrelationID in request.
  • Gilbeeert's avatar
    Gilbeeert
    New Contributor
    Howdy! I simply want to give an enormous thumbs up for the nice data you may have here on this post. I can be coming back to your blog for more soon.
    _________________
    My homepage is Ugg Boots Sale of cyber online store.