Mule is typically used on the receiving end of service requests. Mule flows, for instance, are generally initiated by external events like a JMS message being sent to a queue, a POSTed HTTP request, or the firing of a Quartz trigger. Since Mule is usually deployed as a server this behavior should be expected. What isn’t so obvious, however, is using Mule as a client of these services. We’ll see in this blog post how MuleClient can be embedded in a non-Mule application to send and consume messages as a client.