That's the problem, I'm not using an endpoint.

I'm reading a message from AMQP, pulling out the body and passing to JAXB. 
However, the body has WSDL namespaces so I can't let JAXB validate it because 
it doesn't know what to do with a WSDL. 

I've spent some time looking at this and a number of other people are asking 
the same question on various forums: Surely it's possible to validate a raw 
SOAP message against a WSDL? But it doesn't seem to be so easy. 

I've got as far as pulling out the schema from the WSDL and using a schema 
validator, but I can't make schema catalogs work with Xerces.

Is there a solution to this in CXF? With the advent of AMQP, I'd expect more 
people to be pulling messages from RabbitMQ/etc, passing through Spring 
integrate and wanting to validate them.



-----Original Message-----
From: Daniel Kulp [mailto:[email protected]] 
Sent: 25 April 2012 16:13
To: [email protected]
Cc: John Baker
Subject: Re: CXF, JMS/AMQP listener

On Wednesday, April 25, 2012 11:10:36 AM John Baker wrote:
> I've done that but I'm now missing a SOAP message validation step.
> Jaxb2marshaller can't do this even if I pull out the body as the 
> namespaces refer to the WSDL.
> 
> Is there a CXF component to validate a SOAP message against a WSDL?

Actually, the JAXB Marshaller/Unmarshaller can do this if you turn it on.   
By default, we don't have it turned on due to performance impact.   However, 
if you add a property of "schema-validation-enabled" with a value of "true" 
to the endpoint, then CXF will setup the JAXB (un)marshaller to validate the 
incoming XML against the wsdl/schema.

Dan



> 
> -----Original Message-----
> From: Alex O'Ree [mailto:[email protected]]
> Sent: 25 April 2012 12:09
> To: [email protected]
> Subject: Re: CXF, JMS/AMQP listener
> 
> You could setup a subscriber, then create a jaxb marshaller and 
> attempt to convert it to the expected data type. I don't recall seeing 
> anything built in though, maybe someone else has On Wed, Apr 25, 2012 
> at 6:00 AM, John Baker
<[email protected]> wrote:
> > Hello
> > 
> > Is there a CXF component to connect to a JMS or AMQP queue, read 
> > messages and validate the SOAP message against the WSDL etc?
> > 
> > 
> > John
> > 
> > 
> > ********************************************************************
> > **
> > ******** The information contained in this email may be confidential.
> > It is intended only for the use of the named recipient. If you are 
> > not the named recipient please delete this email and notify the 
> > sender of the delivery error. If you have received this email and 
> > are not the named recipient, any disclosure, reproduction, 
> > distribution or other dissemination or use of the information 
> > contained in this email is strictly prohibited.
> > 
> > The transmission of email cannot be guaranteed to be secure or error 
> > free as information could be intercepted, corrupted, lost, 
> > destroyed, arrive late or incomplete, or contain viruses. The sender 
> > therefore does not accept liability for any errors or omissions in 
> > the contents of this message which arise as a result of email 
> > transmission. If verification is required please request a hard copy 
> > version.
> > 
> > The Camelot group of companies includes:
> > Camelot UK Lotteries Limited (reg. no 2822203), Camelot Business 
> > Solutions Limited (reg. no 07553982), Camelot Strategic Solutions 
> > Limited (reg. no 07553980), Camelot Global Services Limited (reg. no
> > 02822300) and Camelot Commercial Services Limited (reg. no 
> > 06911097), all of which are registered in England and Wales and have 
> > their registered office at: Tolpits Lane Watford
> > WD18 9RN
> > Tel : 01923 425000
> > ********************************************************************
> > **
> > ********
--
Daniel Kulp
[email protected] - http://dankulp.com/blog Talend Community Coder - 
http://coders.talend.com

Reply via email to