I did change the AbstractMessageReceiver to support this senario and some trivial changes.
http://svn.apache.org/viewvc?view=rev&rev=561257 Please see the commit message. Amila. On 7/30/07, Amila Suriarachchi <[EMAIL PROTECTED]> wrote: > > Anyway there seems to be a problem with the code, I'll forward this to dev > list as well. > > in AxisOperationFactory.java we have this code > } else if (WSDL2Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI) || > WSDL20_2006Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI) > || > > WSDL20_2004_Constants.MEP_URI_ROBUST_IN_ONLY.equals(mepURI)) { > abOpdesc = new InOnlyAxisOperation(); > abOpdesc.setMessageExchangePattern( > WSDL2Constants.MEP_URI_ROBUST_IN_ONLY ); > > which generates an InOnlyAxisOperation for the Roubust in only operaions > and set the message exchange pattern. But in Abstract messge receiver it > only checks for InOnlyAxisOperation > > try { > invokeBusinessLogic(messageCtx); > } catch (AxisFault fault) { > // If we're in-only, eat this. Otherwise, toss it upwards! > if (messageCtx.getAxisOperation() instanceof > InOnlyAxisOperation) { > log.error(fault); > } else { > throw fault; > } > } finally { > restoreThreadContext(tc); > } > > Don't we have to check for mep here as well? otherwise fault messages of > the Roubust inOnly messages also won't thrown. > > Amila. > > On 7/30/07, Amila Suriarachchi <[EMAIL PROTECTED]> wrote: > > > > see the wsdl spec http://www.w3.org/TR/wsdl#_one-way > > > > for one way operations there can not be fault messages. if you use fault > > it must be in out. > > > > Amila. > > > > On 7/30/07, Michael Bell <[EMAIL PROTECTED] > wrote: > > > > > > Hi Deepal. > > > > > > Deepal jayasinghe schrieb: > > > > > > > I create a POJO and deploy and I got the expected result , so will > > > you > > > > be able to provide me more data to re-generate the issues. FYI I > > > have > > > > attached my POJO. > > > > > > I attached two WSDL files (stupid SQL wrapper plus common types and > > > messages). The file with suffix orig is the web service which I want > > > to > > > implement. The file with the short filename is the specification which > > > > > > works. It looks like that AxisFault will only be correctly handled by > > > the InOut message receiver. The RobustInOnly message receiver has a > > > problem. Perhaps this has something to do with the initialization of > > > the > > > web server or the inheritaed classes. > > > > > > BTW some details about my server implementation. I always generate the > > > skeleton and the interface. My implementation class extends the > > > skeleton. If I throw the custom exception (specified in the WSDL)in my > > > > > > implementation then his exception will be catched by the generated > > > message receiver. This receiver packs the exception into an AxisFault > > > and throw it again. The problem is that it looks like the handling of > > > the RobustInOnly and InOut message receivers is different. > > > > > > If you have a normal InOut receiver then you get an http 202 code plus > > > the SOAP error. If you have RobustInOnly then you get only http 202. > > > > > > Best regards > > > > > > Michael > > > -- > > > _______________________________________________________________ > > > > > > Michael Bell Humboldt-Universitaet zu Berlin > > > > > > Tel.: +49 (0)30-2093 2482 ZE Computer- und Medienservice > > > Fax: +49 (0)30-2093 2704 Unter den Linden 6 > > > [EMAIL PROTECTED] D-10099 Berlin > > > _______________________________________________________________ > > > > > > X.509 CA Certificates / Wurzelzertifikate > > > > > > http://ra.pki.hu-berlin.de > > > > > > > > > > > > -- > > Amila Suriarachchi, > > WSO2 Inc. > > > > > -- > Amila Suriarachchi, > WSO2 Inc. -- Amila Suriarachchi, WSO2 Inc.
