Hi
I am using 1.2.2 FastInfoset and trying to get EvternalVocubularies working, but without success.

I have been digging thourgh the debugger and it seems that the QNameMap resources are interned, but he parametes are not. Stitcking asserts on generates this error.

In this case the localName is interned, but the URI is not

What am I doing wrong
Exception in thread "main" java.lang.AssertionError
at com.sun.xml.bind.v2.util.QNameMap.getEntry(QNameMap.java:460)
at com.sun.xml.bind.v2.util.QNameMap.get(QNameMap.java:158)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.selectRootLoader(JAXBContextImpl.java:609)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.selectRootLoader(UnmarshallingContext.java:337)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1003)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:452)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:433)
at com.sun.xml.bind.v2.runtime.unmarshaller.FastInfosetConnector.handleStartElement(FastInfosetConnector.java:162)
at com.sun.xml.bind.v2.runtime.unmarshaller.FastInfosetConnector.bridge(FastInfosetConnector.java:105)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:358)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:330)
at client.TestModel.sendFastInfosetStAXEV(TestModel.java:434)
at client.TestModel.main(TestModel.java:76)

// Once all information has been generated and sorted a Vocabulary
// instance can be obtained from the FrequenceHandler:
//
Vocabulary v = fh.getVocabulary();
// (Much simpler than before and there is no need to specify an API
// for
// which the vocabulary is intended for).
//
// Next the vocabulary can be set on the SAX serializer as an
// external
// vocabulary:
//
ExternalVocabulary ev = new ExternalVocabulary(targetNamespace, v);
vocabularyByUri.put(targetNamespace, ev);
FastInfosetWriter writer = new SAXDocumentSerializer();
writer.setExternalVocabulary(ev);

if (url == testURI) {
testVocabulary = ev;
}
}

// (Note that FastInfosetWriter interface is being used. I would
// encourage developers when they instantiate concrete instances of Fast
// Infoset parsers/serializers that they use the appropriate API
// interfaces where possible so to minimize possible change if
// upgrading).
//
// Then the external vocabulary can be set on the SAX parser:
//
FastInfosetReader reader = new SAXDocumentParser();
reader.setExternalVocabularies(vocabularyByUri);
// Hopefully you will agree that this is a improvement!
//
//
// Posted at 10:28AM Jun 02, 2006 by Paul Sandoz in Fast Infoset |
// Comments[0]

Size - SAX 438
Size - FIS 313
FIS data Ã 5http://uri.validsoft.com/products/valid/4/valid-clientxÃns2â€ Ãns3â€šÃ°?Å â€šÃ€bxusernameCmikexdata-managementEserverxuser-time-zone-idBGMTxuser-locale-stringAenxâ€¢Emy-app?Emy-reqÃ°<
password-credentials â€™
mikesPasswordÃ¿Ã¿
warmup
Exception in thread "main" javax.xml.bind.UnmarshalException
- with linked exception:
[javax.xml.bind.UnmarshalException: Namespace URIs and local names to the unmarshaller needs to be interned.]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:421)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:330)
at client.TestModelEV.sendFastInfosetStAXEV(TestModelEV.java:264)
at client.TestModelEV.run(TestModelEV.java:59)
at client.TestModelEV.main(TestModelEV.java:51)
Caused by: javax.xml.bind.UnmarshalException: Namespace URIs and local names to the unmarshaller needs to be interned.
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:609)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:244)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:239)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:114)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1015)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:452)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:433)
at com.sun.xml.bind.v2.runtime.unmarshaller.FastInfosetConnector.handleStartElement(FastInfosetConnector.java:162)
at com.sun.xml.bind.v2.runtime.unmarshaller.FastInfosetConnector.bridge(FastInfosetConnector.java:105)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:358)
... 4 more
Caused by: javax.xml.bind.UnmarshalException: Namespace URIs and local names to the unmarshaller needs to be interned.
... 14 more

// Once all information has been generated and sorted a Vocabulary
// instance can be obtained from the FrequenceHandler:
//
Vocabulary v = fh.getVocabulary();
// (Much simpler than before and there is no need to specify an API
// for
// which the vocabulary is intended for).
//
// Next the vocabulary can be set on the SAX serializer as an
// external
// vocabulary:
//
ExternalVocabulary ev = new ExternalVocabulary(targetNamespace, v);
vocabularyByUri.put(targetNamespace, ev);
FastInfosetWriter writer = new SAXDocumentSerializer();
writer.setExternalVocabulary(ev);

// (Note that FastInfosetWriter interface is being used. I would
// encourage developers when they instantiate concrete instances of Fast
// Infoset parsers/serializers that they use the appropriate API
// interfaces where possible so to minimize possible change if
// upgrading).
//
// Then the external vocabulary can be set on the SAX parser:
//
FastInfosetReader reader = new SAXDocumentParser();
reader.setExternalVocabularies(vocabularyByUri);
// Hopefully you will agree that this is a improvement!
//
//
// Posted at 10:28AM Jun 02, 2006 by Paul Sandoz in Fast Infoset |
// Comments[0]