Firstly, please take a look at a snippet in mule-config.xml:
<model name="userModel">
<service name="userService">
<inbound>
<inbound-endpoint address="http://localhost:63080"/>
</inbound>
<outbound>
<filtering-router>
<outbound-endpoint address="vm://userController"/>
<or>
<restlet:uri-template-filter pattern="/users/{userId}" verbs="GET"/>
<restlet:uri-template-filter pattern="/users" verbs="POST"/>
<restlet:uri-template-filter pattern="/users" verbs="PUT"/>
<restlet:uri-template-filter pattern="/users/{userId}" verbs="DELETE"/>
</or>
</filtering-router>
</outbound>
</service>
<service name="userController">
<inbound>
<inbound-endpoint address="vm://userController"/>
</inbound>
<!-- TODO: How to implement UserController -->
<component class="com.ggd543.mulerestletdemo.user.UserController"/>
</service>
</model>
When I deploy it to $MULE_HOME/apps, mule complain :

PS: My mule version is 3.1.2 and i am using mule-transport-restlet-2.0.jar
Is there any wrong in my mule-config.xml ?
Change
<or>to<or-filter>will work. The doument (http://www.mulesoft.org/documentation/display/RESTLET/User%27s+Guide#User%27sGuide-URITemplateRouting) is too old. WTF