Hi Ron.
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.
regards,
Andrew Dinn
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4184841#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...