Jens,

Another way to get this difference in behavior when switching to DEBUG is message re-readability: some Source implementations (like e.g. StreamSource can only be read once), so if you pass them along with your message exchanges you end up with this exception: http://servicemix.apache.org/javaioioexception-stream-closed.html. Is this kind of exception perhaps being silently swallowed by a catch block somewhere?

Regards,

Gert



Lars Heinemann wrote:
Jens,

are you sure, that these exchanges are sent with sendSync in any case?
For me it sounds somehow like a timing problem. When switching to DEBUG log level, the processing will take much longer time as more outputs are logged than in the WARN log level. Another question is, why do you route the whole soap request to other beans? I mean in your JSR181 SU you could just create a message exchange, put all needed variables from the soap call into the normalized message and send it sync to the other beans.

Regards,
Lars


On Friday 06 June 2008 12:23:03 [EMAIL PROTECTED] wrote:
Hi everybody,

We are using a jsr181 service for retrieving soap requests.
In the service we call the JBIContext.getMessageExchange() method to
retrieve the actual Exchange.
Then we send (using sendSync) the InMsg of the Exchange to a bean. The
bean routes (sendSync) it to another bean.
When all the work is done and we are back in the jsr181 service we do
some additional work before we return the response to the sender.

The second bean was added a few days ago. Before that everything worked
fine. Now with the second been we have a problem:
The content of every exchange is empty. The InMsg is not null but only
<?xml ...?> without the actual request data. This starts at the service
when we log the exchange we got from the JBIContext.getMessageExchange()
method.

Now comes the tricky part. When we switch the log-level from WARN to
DEBUG everything works fine! How is this possible?
Has it something to do with SM-1171 ?

Here are a some information about the usage of the bean-component:

The deployment descriptor for both beans looks similar to this <?xml
version="1.0" encoding="UTF-8"?> <beans
xmlns:bean="http://servicemix.apache.org/bean/1.0";
       xmlns:hello="urn:world">

        <bean:endpoint service="hello:service" endpoint="endpoint"
bean="#aBean"/>

        <bean id="aBean" class="hello.world.Bean"/> </beans>

The Beans are implementing the MessageExchangeListener, the Context and
DeliveryChannel are injected by annotations ( @Resource )


The flow is like this: (all Exchanges are InOut)

     Exchange1     Exchange2   Exchange3   Exchange3     Exchange2
Exchange1
        In            In          In          Out          Out
Out
Client  =>  aService  =>  aBean1  =>  aBean2  =>   aBean1  =>   aService
=>  Client

We are using servicemix version 3.2.1

Please Help!





Sitz der Gesellschaft / Corporate Headquarters:
Lufthansa Systems AS GmbH, Norderstedt
Registereintragung / Registration:
Amtsgericht Norderstedt 3688NO

Geschaeftsfuehrung/ Management:
Bernd Appel




Reply via email to