Is it possible for you to send in a test case please? So I can test here to find out what was causing the problem.
Thank you very much for your response!
I've attached two files: A sample input XML file that produces the error and the servicemix-bean's xbean.xml file. I've included the latter just in case I've misconfigured something.
I tried to trace the source code, but I have to admit that I couldn't find DefaultMailMarshaler.java in the 18.104.22.168 source code I downloaded. I couldn't even find the method convertJBIToMail using Spotlight (I'm developing under OS X 10.5.8). I'm sure it was just because it was late when I tried.
Please let me know if there's anything else I can provide. We're trying to build our first solution on FUSE ESB, and this is one of the issues that's in our way.
Edited by: terrancecrow on Aug 17, 2009 8:00 PM
The servicemix components are shared between Fuse ESB 4.1.x and 3.4.x, hence they have different naming scheme. The version of the servicemix components for Fuse ESB 22.214.171.124-fuse is 2009.01.0.4-fuse. Therefore, you can find that version of DefaultMailMarshaler.java file from svn repo here.
I'll have a look at this issue.
I have got the test case working. I just modified your MyBean.java file and added two lines of code:
normout.setProperty("org.apache.servicemix.mail.subject", "This is a test subject"); normout.setProperty("org.apache.servicemix.mail.text", body);
You will need to change the configuration of the mail-sender-test module to your own mail server and then compile and deploy.
Hope it helps,
testcase.zip 13.0 KB
I tested your fix. Turns out my code already had this line:
normout.setProperty("org.apache.servicemix.mail.subject", "This is a test subject");
I just had the second line you identified just after it:
It's working just fine now!
Wow -- that was all there was to it?
I have to say I'm relieved it was my code. I'm glad that a 126.96.36.199 to 188.8.131.52 or 184.108.40.206 upgraded didn't break basic functionality.
Thank you very much for taking the time to diagnose the problem. My team and I are one step closer to production!
This test case does not seem to work in FUSE ESB 4.2 . Am I correct ?
MessageExchangeListener and ClientFactory interfaces are deprecated and are not recognised by the FUSE ESB 4.2.
It shows the following error :
javax.jbi.management.DeploymentException: <component-task-result xmlns="http://java.sun.com/xml/ns/jbi/management-message">
<task-status-msg><msg-loc-info><loc-token/><loc-message>Could not deploy xbean service unit</loc-message></msg-loc-info></task-status-msg>
Bean 'myBean'; nested exception is java.lang.NoClassDefFoundError: org/apache/servicemix/MessageExchangeListener</loc-message>