Recently I had a scenario where I had to generate multiple responses on the basis of number of request's element occurrence.
For example the request is as below containing 5 messageId element
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="***">
<soapenv:Header/>
<soapenv:Body>
<web:getSmsStatusList>
<SmsStatusRequest>
<messageId>4869754</messageId>
<messageId>3079075</messageId>
<messageId>7129441</messageId>
<messageId>2928236</messageId>
<messageId>7682597</messageId>
</SmsStatusRequest>
</web:getSmsStatusList>
</soapenv:Body>
</soapenv:Envelope>
I was expecting a response like 5 response element smsStatusItem,
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="****">
<soapenv:Header/>
<soapenv:Body>
<web:getSmsStatusListResponse>
<!--Optional:-->
<SmsStatusResponse>
<!--Zero or more repetitions:-->
<smsStatusItem>
<messageId>4869754</messageId>
<smsStatus>
<statusCode>0</statusCode>
</smsStatus>
</smsStatusItem>
<smsStatusItem>
<messageId>3079075</messageId>
<smsStatus>
<statusCode>0</statusCode>
</smsStatus>
</smsStatusItem>
<smsStatusItem>
<messageId>7129441</messageId>
<smsStatus>
<statusCode>2</statusCode>
</smsStatus>
</smsStatusItem>
<smsStatusItem>
<messageId>2928236</messageId>
<smsStatus>
<statusCode>0</statusCode>
</smsStatus>
</smsStatusItem>
<smsStatusItem>
<messageId>7682597</messageId>
<smsStatus>
<statusCode>0</statusCode>
</smsStatus>
</smsStatusItem>
</SmsStatusResponse>
</web:getSmsStatusListResponse>
</soapenv:Body>
</soapenv:Envelope>
For this purpose, SOAP UI supports groovy scripting, and I created the following groovy script.
import groovy.xml.MarkupBuilder
// An array from which county and city will be drawn randomly
def statusArray = [2,0]
def random = new Random()
// create XmlHolder for request content
def holder = new com.eviware.soapui.support.XmlHolder( mockRequest.requestContent )
// Get the name and age values from the request
def requestItems = holder.getNodeValues( "//*:getSmsStatusList/SmsStatusRequest/messageId")
def writer = new StringWriter()
def smsElements = new MarkupBuilder(writer)
// Build the response elements
for (int index = 0; index < requestItems.size(); index =index + 1) {
smsElements.'smsStatusItem'() {
'messageId'(Integer.parseInt(requestItems[index]))
'smsStatus'()
{
def randomIndex = random.nextInt(statusArray.size())
'statusCode'(statusArray[randomIndex])
}
}
}
// Add the newly created elements to the response
context.smsElements = writer.toString()
Below screenshot tells you where you can define the groovy script and how you can add its element to the response of the mock service.
![](data:image/png;base64,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)
For example the request is as below containing 5 messageId element
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="***">
<soapenv:Header/>
<soapenv:Body>
<web:getSmsStatusList>
<SmsStatusRequest>
<messageId>4869754</messageId>
<messageId>3079075</messageId>
<messageId>7129441</messageId>
<messageId>2928236</messageId>
<messageId>7682597</messageId>
</SmsStatusRequest>
</web:getSmsStatusList>
</soapenv:Body>
</soapenv:Envelope>
I was expecting a response like 5 response element smsStatusItem,
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="****">
<soapenv:Header/>
<soapenv:Body>
<web:getSmsStatusListResponse>
<!--Optional:-->
<SmsStatusResponse>
<!--Zero or more repetitions:-->
<smsStatusItem>
<messageId>4869754</messageId>
<smsStatus>
<statusCode>0</statusCode>
</smsStatus>
</smsStatusItem>
<smsStatusItem>
<messageId>3079075</messageId>
<smsStatus>
<statusCode>0</statusCode>
</smsStatus>
</smsStatusItem>
<smsStatusItem>
<messageId>7129441</messageId>
<smsStatus>
<statusCode>2</statusCode>
</smsStatus>
</smsStatusItem>
<smsStatusItem>
<messageId>2928236</messageId>
<smsStatus>
<statusCode>0</statusCode>
</smsStatus>
</smsStatusItem>
<smsStatusItem>
<messageId>7682597</messageId>
<smsStatus>
<statusCode>0</statusCode>
</smsStatus>
</smsStatusItem>
</SmsStatusResponse>
</web:getSmsStatusListResponse>
</soapenv:Body>
</soapenv:Envelope>
For this purpose, SOAP UI supports groovy scripting, and I created the following groovy script.
import groovy.xml.MarkupBuilder
// An array from which county and city will be drawn randomly
def statusArray = [2,0]
def random = new Random()
// create XmlHolder for request content
def holder = new com.eviware.soapui.support.XmlHolder( mockRequest.requestContent )
// Get the name and age values from the request
def requestItems = holder.getNodeValues( "//*:getSmsStatusList/SmsStatusRequest/messageId")
def writer = new StringWriter()
def smsElements = new MarkupBuilder(writer)
// Build the response elements
for (int index = 0; index < requestItems.size(); index =index + 1) {
smsElements.'smsStatusItem'() {
'messageId'(Integer.parseInt(requestItems[index]))
'smsStatus'()
{
def randomIndex = random.nextInt(statusArray.size())
'statusCode'(statusArray[randomIndex])
}
}
}
// Add the newly created elements to the response
context.smsElements = writer.toString()
Below screenshot tells you where you can define the groovy script and how you can add its element to the response of the mock service.
This comment has been removed by a blog administrator.
ReplyDelete