Martijn's blog - E-Commerce, EAI, BizTalk and .NET

2005/03/17

XmlCompleteValidator pipeline component...

This simple pipeline replacement for the standard XmlValidator component enables users to aggregate validation errors within inbound messages based on defines schemas, just like the XmlValidator component out of the box in BizTalk Server 2004. Instead of the XmlValidator component, this component validates the entire message, reporting only after processing the whole. This way, you know right away of all validation errors within a message to be processed instead of fixing one error, only to discover another, and yet another, ...

A lot of the code within this component has been 'borrowed' from the original XmlValidator component.

Hope you enjoy it, it's sourcecode is included as always (only sourcecode, you need to compile it yourself). It has a readme.txt within the archive, please be sure to read it before trying to use it.

it's located here

9 Comments:

  • I've written an 'EnhancedValidator' pipeline component that got published on msdn that avoids suspending the message when it fails validation. Instead when it detects an error, it submits a 'SchemaValidationError' document on the msgbox against which you can write an orchestration to handle validation errors centrally.

    By Anonymous Anonymous, at 2:37 PM  

  • Great example component Stephane! One difference is exactly the reason I set up this component. Your component is using the XmlValidator class (which is unsupported) and is thereby limited to returning one error about an inbound message at the time, whilst my component accumulates those errors...

    By Blogger Martijn Hoogendoorn, at 4:50 PM  

  • I've tried using the xmlvalidator component and found that everytime the validation fails it throws an SOAP Exception, but the exception has no information about why it failed to validate versus the schema. Is there any way to send back the information in the exception?

    By Anonymous Anonymous, at 8:55 PM  

  • I was fortunate enough to go through both stephane's and martijn's components. My present requirement is to capture all the validation errors, as martijn is doing and pass those errors to an orchestration and handle them there, as stephane is doing. I'd be grateful if either of you can suggest a way to improvise on your components to achieve this functionality.

    By Anonymous Anonymous, at 10:43 AM  

  • Hi Martijn,
    Do you still have the code for the pipeline component? Unfortunately, gotdotnet got disabled lately and I cannot find the source elsewhere.
    Woudl yo be so kind to fwd me the code at ddia at hotmail dot com?
    Thakns and regards,
    Dan

    By Anonymous Anonymous, at 6:31 PM  

  • Code link is gone. How can I get it today ??

    By Anonymous Anonymous, at 4:23 PM  

  • Man I like your post and it is so good and I am definetly going to save it. One thing to say the Indepth analysis this article has is trully remarkable.No one goes that extra mile these days? Bravo!! Just one more tip you canget a Translator for your Worldwide Audience !!!

    By Anonymous Gadgets UK, at 9:50 AM  

  • Thanks you. Very good post.Unless they can offer a really compelling reason for users to come back, it will be the next Bebo, MySpace

    By Anonymous Cannon 10755GF, at 11:23 PM  

  • What a disgraceful consideration that any one should take life from another - the state doing it in retributiion is STILL taking a life - murder is murder and you cant say because the state says so it isnt! If the state sanctiions it - then it should be available as a recourse for every one - or NONE should do it. How can you argue that something can be legal just because the state SAYS it is, when if some one else does it it is ILLEGAL? How can ANY one make sense of that?

    By Anonymous British Luxury Watch, at 7:11 AM  

Post a Comment

<< Home