Solved

exchange pattern

Posted on 2011-03-24
8
549 Views
Last Modified: 2012-05-11
We use mule ESB for file transfers, socket connections, jms. We developed our modules using mule 2.x version at that time and encountered no issues. We have been experimenting lately with mule 3.0 to see if our existing modules will still work. After reading the docs for migrating from 2 - 3 we had to change the synchronous attribute with exchange-pattern with request-response. Everything else remains the same but when i test with the new versin i get an exception that

The endpoint "xservice" is malformed and cannot be parsed. If this is the name of a global endpoint, check the name is correct, that the endpoint exists, and that you are using the correct configuration (eg the "ref" attribute). Note that names on inbound and outbound endpoints cannot be used to send or receive messages; use a named global endpoint instead.

This used to work earlier fine but when upgrading i get that error.

0
Comment
Question by:Micheal_Male
  • 5
  • 3
8 Comments
 
LVL 19

Expert Comment

by:Jim Cakalic
ID: 35222780
Can you post the relevant segment(s) of your configuration?
0
 
LVL 19

Accepted Solution

by:
Jim Cakalic earned 250 total points
ID: 35222990
I haven't used Mule 3 (yet) but I have used Mule 2 for a significantly sized project. After reading the Mule 3 configuration docs I have a couple questions/suggestions ...

First, you said you are using the file, jms and socket (by which I assume you mean tcp) transports. Each transport has its own default and allowed message exchange patterns.

file is only one-way
jms is only one-way
tcp is one-way or request-response with default request-response
My thought is that if you are configuring file and jms connectors or endpoints (which at least jms used to allow synchronous="true") with exchange-pattern="request-response" then that would be an error in the Mule 3 configuration. I wouldn't be surprised if this resulted in a parse exception instead of some more useful indication that an invalid value was supplied for the endpoint. If this is the case, try removing the exchange-pattern attribute from those configuration elements (since you can't configure for anything other than one-way anyway).

Perhaps for jms they may have decided to remove support for the request-response pattern (at least in community edition) because it was very problematic - at least in our experience as we wanted essentially a one-way or in-only pattern but needed to declare the endpoints synchronous so we could use XA transactions across the message flow. The requreiment that the component return a response was messy to configure away. For file endpoints the attribute wouldn't have made any sense but might have been allowed and ignored.
0
 

Author Comment

by:Micheal_Male
ID: 35224696
Thanks for the detailed explanation. The one which i am testing is related to tcp.  This is the same config we used in mule 2.x with the only difference is that it had synchronous="true" which is replaced with exchange-pattern as per the docs. So it should work but apparently it does not and just giving the global endpoint exception really does not make any sense and is hard to debug to see where the error is.

<inbound>
<inbound-endpoint name="xService" address="vm://xService.endpoint" exchange-pattern="request-response"/>
</inbound>
</echo-component>
<outbound>
<pass-through-router>
<outbound-endpoint ref="testServer">
</outbound-endpoint>
</pass-through-router>
</outbound>
0
 
LVL 19

Expert Comment

by:Jim Cakalic
ID: 35226562
Have you tried configuring with the transport-specific namespace?

<inbound>
    <vm:inbound-endpoint name="xService" path="xService.endpoint" exchange-pattern="request-response"/>
</inbound>
</echo-component>
<outbound>
    <pass-through-router>
        <outbound-endpoint ref="testServer">
        </outbound-endpoint>
    </pass-through-router>
</outbound> 

Open in new window

0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:Micheal_Male
ID: 35226615
Yes i did tried that and still got the global endpoint exception.
0
 

Author Comment

by:Micheal_Male
ID: 35226674
I also saw a bug posted on mulesoft for this version but that is related to smtp.

http://mule.1045714.n5.nabble.com/MalformedEndpointException-when-configuring-SMTP-with-URL-encoded-character-td3308646.html
0
 

Author Comment

by:Micheal_Male
ID: 35227258
Upgrading to the newer version did solve my problem.
0
 

Author Closing Comment

by:Micheal_Male
ID: 35227263
Upgraded to the newer version 3.0.1
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
factorial example challenge 10 62
Python Assistance 7 36
JList custom Cell Renderer refresh 15 43
Java Timer (static) 9 18
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now