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.

Reply via email to