I have encountered a problem with XMI serialization and the use of class
name as an element or attribute name.
Versions used:
Apache SOAP ver 2.2
xmisoap.jar ver 1.2.2 from the SOAP 2.2 distribution
xml4j.jar ver 2.0.15
I am able to send normal soap messages without any problem, however when
using XMI I get the following error
<faultstring>parsing error: org.xml.sax.SAXParseException: Attribute name
"java.util.Collections..SynchronizedSet" must be followed by the '='
character.</faultstring>
This is in reference to the following piece of the request doc:
<java.util.Collections..SynchronizedSet xmi.id="_1.1.3"
java.util.Collections$SynchronizedCollection.serialVersionUID="3053995032091
335093">
<java.util.Collections$SynchronizedCollection.c>
<java.util.Hashtable..EntrySet xmi.idref="_1.1.3"/>
</java.util.Collections$SynchronizedCollection.c>
<java.util.Collections$SynchronizedCollection.mutex>
<java.util.Hashtable xmi.idref="_1.1"/>
</java.util.Collections$SynchronizedCollection.mutex>
</java.util.Collections..SynchronizedSet>
As you can see the name
'java.util.Collections$SynchronizedCollection.serialVersionUID' is being
used as an attribute name but '$' is not a valid character for an XML NAME.
I could not find a reference to this bug in bugzilla or in the archived
messages. Is there a fix for this, or is there an issue with the versions
of the jars that I am using?
Thank you in advance for any responses.....