Hi,
Sorry to hop in, but assuming you're happy to extract the file name from the mockRequest (using Groovy), then does the following give you what you need:
1. In your mock action, create a new Mock MockResponse with dispatch type 'SEQUENCE' e.g. called 'default'
2. In the MockResponse (default) add a script e.g.
def fileName = "1234.txt" //Extract this value from the request (ask if you need help)
def responseFileContent = new StringBuilder()
File testDataFile = new File("/Users/test/$fileName") //Load file containing test data response
testDataFile.eachLine {content, lineNumber ->
responseFileContent.append(content) //Add each line of test data file to a String
}
mockResponse.responseContent=responseFileContent //Populate response body
mockResponse.responseHttpStatus=200 //set status code (can also be done in UI)
def headers = mockResponse.responseHeaders
headers["Content-Type"]=["text/xml"]
mockResponse.responseHeaders=headers //Headers can also be set in the UI
Here is a screen shot:
This should load and despatch the contents of the file /Users/test/1234.txt as the body of the mock response. All that should then be needed is for you to add some script before my script to set fileName to the value you want to extract from the mockRequest object (let me know if you need any help with this). Setting the responseHttpStatus and responseHeaders is optional, as it can be set in the Mock Response UI - I added it as it can be useful in the case where you want to conditionally simulate error / 404 / 500 statuses or respond with different content types!
Hope this helps,
Rupert