You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Daniel Kulp <dk...@apache.org> on 2009/10/01 23:21:09 UTC

Re: Unable to disable schema validation in 2.2.4-SNAPSHOT

I don't think it's actually doing schema validation.   I think what it's doing 
now is general jaxb failure propagation.   

In 2.2.3, if jaxb hit a general error of some sort, it would just silently 
continue.    With 2.2.4, we let the errors propagate up.    As an example, if 
your java bean did something like:

public void setFoo(int a)  {
    if (a < 0) throw new IllegalArguementException("...");
    this.foo = a;
}

and someone sent a -1 in, in 2.2.3, the IllegalArguementException would just 
get swallowed and never seen.    With 2.2.4, it gets properly propagated up so 
a fault can be generated.   

I THINK that's what you are seeing.   <id>12345a</id>  cannot be parsed using 
Integer.parseInt (or whatever jaxb uses to parse as an int since the setId 
method requires an int) is throwing an exception that now gets propagated up.

I'll have to see if there is a way to get a property to turn that off.

Dan


On Wed September 30 2009 4:40:05 pm Arik Gorelik wrote:
> Hello,
> 
> It seems I am unable to disable schema validation CXF 2.2.4-SNAPSHOT
> 
> <jaxws:endpoint
>             id="testService"
>             implementor="testServiceImpl"
>             wsdlLocation="wsdl/v29/testService.wsdl"
>             address="/v29/testService">
> *            <jaxws:properties>
>                 <entry key="schema-validation-enabled" value="false" />
>             </jaxws:properties>
> *            <jaxws:inInterceptors>
>                 <ref bean="testInterceptor" />
>             </jaxws:inInterceptors>
>     </jaxws:endpoint>
> 
> This works in 2.2.3 as I am able to disable schema validation to perform
> custom checks myself. However, in the latest 2.2.4-SNAPSHOT, I am not
>  longer able to disable the schema validation. Is there another way to do
>  this without touching the Endpoint Service Interface/Class? I am using a
>  WSDL first approach to develop my services.
> 
> Best Regards,
> Arik.
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Re: Unable to disable schema validation in 2.2.4-SNAPSHOT

Posted by Arik Gorelik <ar...@gmail.com>.
Thanks Daniel.

Right. That is exactly what is happening. I tried with 2.2.3 and 2.2.4 and I
confirm your findings. Would it be possible to have an ability to turn that
off somehow? I've built a lot of code that relied on the fact that I could
get through the 'DocLiteralInInterceptor' without any Faults and then throw
my custom Fault containing the details of the message.

On Thu, Oct 1, 2009 at 2:21 PM, Daniel Kulp <dk...@apache.org> wrote:

>
> I don't think it's actually doing schema validation.   I think what it's
> doing
> now is general jaxb failure propagation.
>
> In 2.2.3, if jaxb hit a general error of some sort, it would just silently
> continue.    With 2.2.4, we let the errors propagate up.    As an example,
> if
> your java bean did something like:
>
> public void setFoo(int a)  {
>    if (a < 0) throw new IllegalArguementException("...");
>    this.foo = a;
> }
>
> and someone sent a -1 in, in 2.2.3, the IllegalArguementException would
> just
> get swallowed and never seen.    With 2.2.4, it gets properly propagated up
> so
> a fault can be generated.
>
> I THINK that's what you are seeing.   <id>12345a</id>  cannot be parsed
> using
> Integer.parseInt (or whatever jaxb uses to parse as an int since the setId
> method requires an int) is throwing an exception that now gets propagated
> up.
>
> I'll have to see if there is a way to get a property to turn that off.
>
> Dan
>
>
> On Wed September 30 2009 4:40:05 pm Arik Gorelik wrote:
> > Hello,
> >
> > It seems I am unable to disable schema validation CXF 2.2.4-SNAPSHOT
> >
> > <jaxws:endpoint
> >             id="testService"
> >             implementor="testServiceImpl"
> >             wsdlLocation="wsdl/v29/testService.wsdl"
> >             address="/v29/testService">
> > *            <jaxws:properties>
> >                 <entry key="schema-validation-enabled" value="false" />
> >             </jaxws:properties>
> > *            <jaxws:inInterceptors>
> >                 <ref bean="testInterceptor" />
> >             </jaxws:inInterceptors>
> >     </jaxws:endpoint>
> >
> > This works in 2.2.3 as I am able to disable schema validation to perform
> > custom checks myself. However, in the latest 2.2.4-SNAPSHOT, I am not
> >  longer able to disable the schema validation. Is there another way to do
> >  this without touching the Endpoint Service Interface/Class? I am using a
> >  WSDL first approach to develop my services.
> >
> > Best Regards,
> > Arik.
> >
>
> --
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
>