[ http://issues.apache.org/jira/browse/BEEHIVE-717?page=comments#action_12312944 ]
daryoush mehrtash commented on BEEHIVE-717: ------------------------------------------- As I said the name ControlProvider is not a good name for this class. Setting up the @Control is one of the things it does, which happens when the JWS gets initialized. BeehiveProvider is a better name for this class. This maps between beehive programming model and the Axis model at run time. Invoke is when the methods are called on JWS and that is where AxisFaults happen. RPCProvider wrapps *every * exception into a RemoteException (AxisFault). The catch code in the ControlProvider examines the original exception to see if it needs to repleace the default AxisFault wrapper with the Adaptor which looks like AxisFault but knows how to serailize the Application Specific faults.. This is the comment I had on the code: // Before we get to here, Axis has converted all exceptions to the // AxisFaults. // A standard AxisFault wont serialize the exception correctly. // AxisFaultAdaptor is used to intercept the serialization process // and // "do the right thing" Doesn't that explain the catch logic? There was one flaw in the catch, that it should have used the AxisFault mechansiem for RuntimeExceptions (as oppose to the Adaptor) I am going to add this to the next patch. > minor non-conformance of exceptions to JSR-181 / JAX-RPC 1.1 > ------------------------------------------------------------ > > Key: BEEHIVE-717 > URL: http://issues.apache.org/jira/browse/BEEHIVE-717 > Project: Beehive > Type: Bug > Components: Web Services (181) > Versions: V1Beta > Environment: Beehive SVN 169852 > Reporter: Jeremiah Johnson > Assignee: daryoush mehrtash > Priority: Minor > Fix For: TBD > Attachments: BEEHIVE-133.tar.gz, BEEHIVE-133.wsdl, faultpatch.txt > > While testing BEEHIVE-133, we ran into an issue with user-defined Exceptions. > The example provided in the JAX-RPC v1.1 spec shows the problem, so I will > attach that as the repro. The WSDL looks accurate according to the JAX-RPC > spec (which is referenced by JSR 181), but the response message looks > incorrect. > I will attach the WSDL; the incorrect looking response is below: > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <soapenv:Fault> > <faultcode>soapenv:Server.userException</faultcode> > <faultstring>web.InvalidTickerException</faultstring> > <detail> > <ns1:hostname > xmlns:ns1="http://xml.apache.org/axis/">localhost.localdomain</ns1:hostname> > </detail> > </soapenv:Fault> > </soapenv:Body> > </soapenv:Envelope> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira