Tag: Mule

12 January

I needed Mule to determine the outbound endpoint based on the content of properties in my custom XML message. Although this might look as common functionality I couldn’t find a complete example for this on the net. This one was close, but didn’t match completely with my situation:
I receive an XML message that is conform my own custom format. Based on the content of several fields in this XML message I determine what the next endpoint must be to process the message. Then my message is forwarded to that endpoint.
Continue reading…


2 January

Although there are a lot of evaluators available in Mule CE it is very easy to add your own evaluator. In my case we have a self defined message format that holds some properties in the header of a message (similar to JMS Message, MuleMessage, etc.). To get access to these properties in the Mule config I created a custom evaluator that made this possible. Although there will be other solutions available for this situation, I found this a nice (pragmatic) way to solve it. It also provides a base to start from in case of possible changes in the future.
Continue reading…


18 December

In my current project we are going to need a BPEL engine besides our Mule CE implementation. Actually, we will use Mule for our stateless communication between systems and use BPEL for the stateful processes. One of the possible frameworks to use as a BPEL engine is Apache ODE. In this post I will show you how you can start a BPEL process in Apache ODE with Mule. As you will see, it is merely a combination of posts I made earlier, but I think it is nice to have the complete thing in one post.

Continue reading…


25 August

This is the last post in the series about using the Component Binding example in Mule2. In the previous two posts I explained the situation for which I use the component binding and how I configured this binding. In this post I show how I use the result of the component binding for targeting the next action.
Continue reading…


21 August

In this post I dive into the use of a Component Binding in Mule. The context is given here. I will show how I use a component binding to combine the original message and the response message in one message. In the next post I show how I use this combined message to determine (and perform) the next step.
Continue reading…


18 August

In my last Mule project we had to implement a situation that I would call a conversational pattern. Now one could consider almost all communication by messages between systems part of a conversation, but in this case I had the following situation:

  • I offer a message containing an order line to an application to add it to a certain order
  • I receive back a ‘response’ message with one of the following responses:
    • A. Order line is added to order
    • B. Order to add orderline to, is not found
    • C. Order status does not allow adding new orderline
    • D. Some other functional exception
  • Based on the response I had to react differently:
    • In case of situation A and D the conversation was over
    • In situation B and C however, I wanted to modify the original message that was sent with the orderline and resend it to the application.

  • Continue reading…


1 August

The SFTP Transport allows files to be read and written to and from directories over SFTP. It is not a standard transport that is distributed with Mule itself but can be added as an extra project. The project can be found here. However, this isn’t updated for Mule2.2 yet.
Here is how to make it work in Mule2.2:
Continue reading…


25 July

When you use Mule to integrate several applications that are ‘talking’ xml, sooner or later you will end up translating XML messages from one format to another. This can be done with XSLT that has very powerful abilities. I have already posted about these techniques here and here. Sometimes you just need some more power, so you end up using XSLT2 specific functions. That shouldn’t be a problem as long as you can make sure that the XSLT engine that is used at runtime does understand XSLT2!
Continue reading…


10 July

This post is one of the series of posts about issues that occurred when we were using Mule2 in a real life project. When you need to use a new transport in your Mule application you need to perform the following steps:

  1. declare the namespace with prefix to use in your Mule config for the transport to use
  2. add the schemaLocation for the new transport to your Mule config
  3. add the necessary dependency for the transporter to your pom


Continue reading…


1 July

This post is one of the series of posts about issues that occurred when we were using Mule2 in a real life project. As I wrote in my last post we were using CXF to call a webservice with Mule. After the issues we ran into as described in that article, we ended up with the folowing issue. The generated classes that are used for the XML to Java mapping has to be serializable. This is possible by using a binding file when generating the classes with Maven as described in the documentation here.
However, I haven’t been able to do this in my situation. And according to this post I am not the only one. So to keep the project moving I decided to make use of Metro JAX-WS instead of CXF, since this CXF thing had cost us enough of our precious time. With the Metro implementation we had it running in no time without any unexpected issues.