Unfortunately
the Crimson Parser, which is a default XML parser delivered together
with
J2SDK cannot properly process XML documents with elements from xml namespace, and such elements are part of UDDI 2.0
API (and probably other versions, which I'm not sure). UDDI4J library
(in case of the Lavadora plug-in) uses Axis as an implementation of
SOAP
protocol for transporting UDDI messages. Axis uses default mechanism
for obtaining an instance of an XML parser (i.e. through the DocumentBuilderFactory class),
which in the absence of any specific parser implementation returns Crimson.
This would be easily solvable by including parser libraries in the
classpath of the plug-in, but unfortunately Eclipse's class loading
mechanism makes it impossible to have custom parser instantiated (using
standard invocation mechanism) from any plug-in's libraries. Thus
instead of modifying in some way Eclipse Platform I decided to require
users to drop custom parser (Xerces) files in the lib/endorsed directory of the JRE
(the one, which is used by Eclipse).
The endorsed folder is a
standard Java place for putting user libraries with classes from
packages java.* and javax.*. When Java Virtual Machine
starts it looks first in these folders for any libraries with classes
from above
packages and loads them instead of the ones from a default location.
Anyone ho has better solution for this problem (the Crimson parser from
the newest JDK I've tried - 1.4.2_05, had still the same bug) is kindly
asked
to share his knowledge.
|
Quick links
|
|