Never mind - just found EndpointReferenceUtils.getSchema()...

Thanks,

Lee

> -----Original Message-----
> From: Lee Breisacher [mailto:[EMAIL PROTECTED]
> Sent: Friday, September 12, 2008 10:23 AM
> To: Daniel Kulp; [email protected]
> Subject: RE: WebServiceProvider + schema validation
>
> Thanks Daniel. I had sortof concluded the same thing after
> studying the code for several hours. Another question:  For
> starters, rather than trying to modify
> DispatchInDatabindingInterceptor and others, I thought I
> would try to write my own "standalone" Interceptor that just
> does the schema validation (e.g.
> SchemaValidationInterceptor).  I'm pretty sure I can use the
> JAXP Validator framework to do the validation, but it
> requires instances of javax.xml.validation.Schema whereas CXF
> seems to use org.apache.ws.commons.schema.XmlSchema
> everywhere (e.g. SchemaUtil). Do you (or anyone) know of an
> easy way to get/convert javax.xml.validation.Schema from
> org.apache.ws.commons.schema.XmlSchema?
>
> Thanks,
>
> Lee
>
> > -----Original Message-----
> > From: Daniel Kulp [mailto:[EMAIL PROTECTED]
> > Sent: Friday, September 12, 2008 9:51 AM
> > To: [email protected]
> > Cc: Lee Breisacher
> > Subject: Re: WebServiceProvider + schema validation
> >
> > On Thursday 11 September 2008 8:23:17 pm Lee Breisacher wrote:
> > > > then the publish fails because it ends up in
> > buildServiceFromWSDL().
> > >
> > > I misunderstood this error. Now I've fixed that, but still no
> > > validation is taking place.
> > >
> > > So, this is really quite a simple question:  How can I turn on
> > > server-side schema validation when the implementation is a
> > WebServiceProvider?
> >
> > Hmmmm.....  I'm not sure there is a way right now.   Currently, the
> > schema-validation-enabled thing is passed into the
> databinding so the
> > databinding can setup the necessary stuff to do the
> > validation.   With the
> > provider stuff, there isn't a databinding so it's not doing
> anything.
> >
> > Definitely log a bug.   If you want to dig into it, most likely, the
> > DispatchInDatabindingInterceptor would need to be updated
> to validate
> > the XML
> > stuff after parsing it.   The setSchemaInMessage method in
> > the superclass can
> > be used as an example of how to get the Schema object.   From
> > there, for the
> > SOAPMessage case, use it directly after parsing.   For the
> > XMLMessage case,
> > probably set it into the XMLStreamDataReader and update the
> > XMLStreamDataReader to domparse + validate if schema-validate is
> > enabled.
> >
> > Dan
> >
> >
> >
> >
> > >
> > > Thanks,
> > >
> > > Lee
> > >
> > > > -----Original Message-----
> > > > From: Lee Breisacher [mailto:[EMAIL PROTECTED]
> > > > Sent: Thursday, September 11, 2008 1:29 AM
> > > > To: [email protected]
> > > > Subject: WebServiceProvider + schema validation
> > > >
> > > > I have a wsdl with various operations. I'm implementing using a
> > > > single WebServiceProvider class. That's all working fine.
> > > > However, I want to enable schema validation, so
> incoming requests
> > > > are validated against the wsdl. If I try the obvious, like this:
> > > >
> > > >         EndpointImpl ep = (EndpointImpl)Endpoint.create(new
> > > > MyWebServiceProvider());
> > > >         ep.setWsdlLocation("test.wsdl");
> > > >         ep.publish(address);
> > > >
> ep.getService().put("schema-validation-enabled", "true");
> > > >
> > > > then the publish fails because it ends up in
> > buildServiceFromWSDL().
> > > > If I try it this way:
> > > >
> > > >         EndpointImpl ep = (EndpointImpl)Endpoint.create(new
> > > > MyWebServiceProvider());
> > > >         ep.publish(address);
> > > >         ep.setWsdlLocation("test.wsdl");
> > > >
> ep.getService().put("schema-validation-enabled", "true");
> > > >
> > > > then the schema validation doesn't happen. I assume this
> > is because
> > > > setWsdlLocation doesn't really do anything useful
> > > > *after* the endpoint is already published.
> > > >
> > > > So, I'm thinking there must be a way to associate the
> wsdl (or at
> > > > least its schema) with the endpoint, but not try to build the
> > > > endpoint from the wsdl. Any suggestions?
> > > >
> > > > Thanks,
> > > >
> > > > Lee
> >
> >
> >
> > --
> > Daniel Kulp
> > [EMAIL PROTECTED]
> > http://www.dankulp.com/blog
> >
>

Reply via email to