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.