users@jaxb.java.net

Validation failure in JAXB UBL example in JWSDP 1.6

From: <philb_at_vodafone.ie>
Date: Mon, 19 Sep 2005 12:46:46 +0100 (IST)

Hi,

I've compiled and successfully run the PrintOrder example in the jaxb/samples/ubl directory in
the JSWDP 1.6 distribution. I then changed the example to use validation
in the unmarshalling process as follows:

u.setValidating(true);

This resulted in the validator throwing an exception claiming that the "amountCurrencyID"
attribute was missing. The attribute is in place and I haven't modified
either the code (except for the single line above) or the Order file.

I've included the full stack trace below. If anyone out there can shed any
light on this, I'd appreciate it as I'd like to be able to make future use
of UBL via JAXB.

Thanks,
 -phil



 [java] DefaultValidationEventHandler: [ERROR]: element "cbc:LineExtensionTotalAmount" is missing "amountCurrencyID" attribute
 [java] Location:
 [java] com.sun.msv.verifier.ValidityViolation: element "cbc:LineExtensionTotalAmount"
is missing "amountCurrencyID" attribute
 [java] at com.sun.msv.verifier.Verifier.onError(Verifier.java:367)
 [java] at com.sun.msv.verifier.Verifier.onError(Verifier.java:363)
 [java] at com.sun.msv.verifier.Verifier.startElement(Verifier.java:232)
 [java] at com.sun.msv.verifier.VerifierFilter.startElement(VerifierFilter.
java:97)
 [java] at org.iso_relax.verifier.impl.ForkContentHandler.startElement(ForkContentHandler.
java:75)
 [java] at org.oasis.ubl.codelist.acknowledgementresponse.impl.runtime.
ValidatingUnmarshaller.startElement(ValidatingUnmarshaller.java:101)
 [java] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.
startElement(AbstractSAXParser.java:533)
 [java] at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.
scanStartElement(XMLNSDocumentScannerImpl.java:330)
 [java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.
dispatch(XMLDocumentFragmentScannerImpl.java:1693)
 [java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.
scanDocument(XMLDocumentFragmentScannerImpl.java:368)
 [java] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.
parse(XML11Configuration.java:834)
 [java] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.
parse(XML11Configuration.java:764)
 [java] at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:148)
 [java] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1242)
 [java] at org.oasis.ubl.codelist.acknowledgementresponse.impl.runtime.
UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:140)
 [java] at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.
java:131)
 [java] at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.
java:178)
 [java] at samples.ubl.report.PrintOrder.main(PrintOrder.java:55)
 [java] --------------- linked to ------------------
 [java] javax.xml.bind.UnmarshalException: element "cbc:LineExtensionTotalAmount"
is missing "amountCurrencyID" attribute
 [java] - with linked exception:
 [java] [com.sun.msv.verifier.ValidityViolation: element "cbc:LineExtensionTotalAmount"
is missing "amountCurrencyID" attribute]
 [java] at org.oasis.ubl.codelist.acknowledgementresponse.impl.runtime.
SAXUnmarshallerHandlerImpl.handleEvent(SAXUnmarshallerHandlerImpl.java:580)
 [java] at org.oasis.ubl.codelist.acknowledgementresponse.impl.runtime.
ErrorHandlerAdaptor.propagateEvent(ErrorHandlerAdaptor.java:81)
 [java] at org.oasis.ubl.codelist.acknowledgementresponse.impl.runtime.
ErrorHandlerAdaptor.error(ErrorHandlerAdaptor.java:45)
 [java] at com.sun.msv.verifier.Verifier.onError(Verifier.java:371)
 [java] at com.sun.msv.verifier.Verifier.onError(Verifier.java:363)
 [java] at com.sun.msv.verifier.Verifier.startElement(Verifier.java:232)
 [java] at com.sun.msv.verifier.VerifierFilter.startElement(VerifierFilter.
java:97)
 [java] at org.iso_relax.verifier.impl.ForkContentHandler.startElement(ForkContentHandler.
java:75)
 [java] at org.oasis.ubl.codelist.acknowledgementresponse.impl.runtime.
ValidatingUnmarshaller.startElement(ValidatingUnmarshaller.java:101)
 [java] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.
startElement(AbstractSAXParser.java:533)
 [java] at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.
scanStartElement(XMLNSDocumentScannerImpl.java:330)
 [java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.
dispatch(XMLDocumentFragmentScannerImpl.java:1693)
 [java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.
scanDocument(XMLDocumentFragmentScannerImpl.java:368)
 [java] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.
parse(XML11Configuration.java:834)
 [java] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.
parse(XML11Configuration.java:764)
 [java] at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:148)
 [java] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1242)
 [java] at org.oasis.ubl.codelist.acknowledgementresponse.impl.runtime.
UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:140)
 [java] at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.
java:131)
 [java] at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.
java:178)
 [java] at samples.ubl.report.PrintOrder.main(PrintOrder.java:55)


I'm using Vodafone Mail - to get your free mobile email account go to http://www.vodafone.ie
Use of Vodafone Mail is subject to Terms and Conditions http://www.vodafone.ie/terms/website