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.

Reply via email to