Software components should do exactly three things: receive, process and publish XML documents. If you believe this world view, you will find that building complex applications out of these components is not very difficult. All we have to do is assure that documents that are published by one component end up getting received by another, and this is precisely what the Soapmill attempts to accomplish.
The Soapical project also includes tools to help you debug your Soapmill software. Give the Soapmeter a look!