In a new post to his blog Chris Hartjes shares a technique he figured out for testing web services in Zend Framework 1.x - in his case, a remote application he wanted to mock out with test doubles that would give different responses based on the parameters given.
Reading the existing PHPUnit documentation did not provide me with enough hints on how to solve this particular problem, so while I dug around duckduckgoing for a solution I asked Twitter for help. One blog post and 3 tweets later, I had the underpinnings for my test. Check it out. A walk-through is probably required in order to explain what I did.
The sample test (code included in the post) sets up a mock object to abstract the service connection, loads in some fixture data for the different responses (based on request) and an "expectation object" for the GET request on the mock object. This object and the data is then passed to a handler that responds with the right dataset. The example code is here on github in two methods - testGetTracks and setMultipleMatching.