Hi Dan, The spec seems to say that ex.toString() is only used for message-less runtime exceptions from service endpoints or SOAPFaultException from handlers. That would mean unexpected runtime exceptions from the processing runtime are not exposed into the faultstring by default. This could be intentional from security concerned people of not wanting to expose technical details of unexpected runtime errors. Maybe that would be overly concerned but it could be.
In that case, I thought we could follow the same rule and limit the use of ex.toString() to only service endpoints exceptions. Thanks for your comments. As you suggest, we will probably look at what RI is doing. regards, aki 2012/12/10 Daniel Kulp <[email protected]>: > > On Dec 10, 2012, at 3:29 AM, Aki Yoshida <[email protected]> wrote: > >> Hi, >> There is a mail thread on users@cxf regarding the soap faultstring >> generation rule. >> http://mail-archives.apache.org/mod_mbox/cxf-users/201212.mbox/%3CCANXr88J3iiWU_d_xrBDv0x5msKH9FiWVP-DcQA9fOWC_3p%3DFvQ%40mail.gmail.com%3E >> >> Could someone familiar with section 10.2.2 of the jaxws spec comment >> on this, in particular, what is exactly meant as the exception from >> service endpoints. >> >> This section differentiates these service endpoints exceptions from >> those runtime exceptions raised by jaxws handlers. I am not sure if >> some of the cxf interceptors are to be interpreted as jaxws handlers >> (strictly speaking of the terminology, not, but logically some of them >> are playing the same role, hence my question). As I commented in the >> above mail thread, we need to apply this faultstring generation at the >> appropriate place depending on the interpretation of this section. > > > Honestly, this is an area where I think either interpretation would be > arguable if an issue came up. There are basically 3 places for the exception: > > 1) Service Endpoint > > 2) JAX-WS Handler > > 3) CXF interceptor > > > For (1) and (2), I think it might be best to just write a small sample and > see what the RI does and go with that. If we behave the same as the RI, > there really wouldn't be much argument. > > That would leave (3). I don't really have a preference one way or another > on this. I guess whatever the the RI does for (2) would be appropriate, > but I'm not really feeling strongly one way or the other. Ideally, none of > *OUR* interceptors would be throwing an NPE as we'd have proper guards in > place and we'd be throwing proper exceptions, but that's certainly a > pie-in-the-sky goal. > > > > -- > Daniel Kulp > [email protected] - http://dankulp.com/blog > Talend Community Coder - http://coders.talend.com >
