I am using LTKJava with Impinj Reader Extensions.  Every LLRP message
sent to and response received from the Reader is validated against the
schema org/llrp/ltk/llrp-1x0.xsd.  In my case I am using LLRP and Impinj
vendor specific extensions; now the LLRP messages have to be validated
against org/llrp/ltk/llrp-1x0.xsd and Impinj custom messages should be
validated against org/llrp/ltk/Impinj.xsd respectively.  

 

LLRPMessage.isValidXMLMessage(Document jdomDoc, String schemaPath) is
the method which validates the messages against the input schema. This
method fails when there are multiple schemas.  When this method is
called the first time a Validator is created and stored in "private
static Validator validator". All subsequent calls to this method
irrespective of the input schema use the same Validator, hence if the
first call was to validate LLRP message against the schema llrp-1x0.xsd,
then any call related to Impinj custom message like
IMPINJ_ENABLE_EXTENSIONS fails, because the custom message is validated
against the stored Validator which was created for the llrp-1x0.xsd
schema.

 

For now I fixed this issue by having a validator per schema within the
LLRPMessage, and pick the right validator for the input schema inside
the isValidXMLMessage() method.  Is this a bug or the expected behaviour
?

 

Thanks,

Pradeep

 

Pradeep Gopal

 

OATSystems, a Division of Checkpoint Systems (www.checkpointsystems.com
<http://www.checkpointsystems.com/> )

 

------------------------------------------------------------------------------
_______________________________________________
llrp-toolkit-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/llrp-toolkit-devel

Reply via email to