[jboss-user] [Remoting] - Re: NPE from one way message dispatch
do-not-reply at jboss.com
Mon Oct 27 09:18:28 EDT 2008
I reran the app using your patched remoting build and it fixes the problem as I diagnosed it but this has raised some related issues with JBossWS which I need to check with Alessio Soldano.
The problem occurs when I use WS-Addressing to redirect a fault. This is appropriate with either a one way message or a request reply exchange. In either of these cases when a fault occurs the invoker ends up with a null input stream.
For one way messages WS employs (defaults to) an HTTPUnmarshaller which barfs on a null input stream. Your fix resolves this by not calling the unmarshaller.
For request-reply messages WS sets a SOAP HTTP Unmarshaller. This detects a null input stream and constructs an empty SOAP message. So, in this case your fix causes a problem for WS. SInce the unmarshaller no longer gets called the invoker returns null instead of an empty message. The current WS code does nto expect a null pointer here and falls over when it tries to run SOAP handlers.
Clearly there is a problem with WS here whichever way you look at it. Having looked at how the client ends up calling the HTTP invoker I suspect WS needs the unmarshaller to be called in both cases even when the stream is null i.e. we may need to back out this fix. Ho wsensible this is as regards any other remoting clients I am not in a position to say. Perhaps you could comment?
I'll point Alessio at this discussion to see what he says. Sorry, for the previous misdiagnosis -- it was hard to see the wood for the trees without the patch.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4184841#4184841
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4184841
More information about the jboss-user