I'm still struggling with Spring Integration- here's my scenario:
There will be multiple web services all feeding messages onto this queue, and I need to ensure that they are truly processed in the order that they're received.
What pieces of Spring Integration do I need to wire together?
I can't help you with Spring Integration, but perhaps you need to give your architecture a second thought. In ESB systems you usually place a message in a Queue, when you know that the processing of the message will take considerable time or if you aren't certain that the remote end is ready (another reason is to bridge incompatible components). When you add the message to the queue, you immediately return to the requester indicating that the message is received, but not providing the result of the operation. The requester would then need to poll for the result or you could alternatively provide some sort of "push" functionality.
So, if the processing of the messages in the Queue takes a lot of time, I recommend to modify your architecture. It is not common for a Web Client to wait long times for the reply and many requests could also timeout.
If on the other hand the processing of the messages is quick and reliable, then using Queue channels is not needed. Have all your messages communicate with a central component (Java EE Session Bean, Spring Bean, web service) and implement a queue mechanism yourself. There are already answers covering how you could do this.