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
