<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>org.jdom.IllegalAddException: The attribute already has an existing parent &quot;transaction&quot;</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2 FACE="Verdana">We have an application that was using&nbsp; JDOM Beta4/Beta5 version.&nbsp; Now, we have moved on to JDOM Beta8/Beta9 version.&nbsp; How do I know what JDOM version is installed on my machine by just looking at the JAR files ? What do I need to do fix this exception ?</FONT></P>

<P><FONT SIZE=2 FACE="Verdana">=========================================</FONT>
<BR><FONT SIZE=2 FACE="Verdana">I am seeing the following exception:</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">**********Error Trace::Version 10.5.0.0.012604::Mon Feb 23 15:53:59 2004 ( 20:53</FONT>
<BR><FONT SIZE=2 FACE="Verdana">:59.155 GMT&nbsp; t@616 )</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp; #0&nbsp; Error #1600039&nbsp; XML sent from servlet read.</FONT>
<BR><FONT SIZE=2 FACE="Verdana">org.jdom.IllegalAddException: The attribute already has an existing parent &quot;transaction&quot;</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">**********</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">=========================================</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">Here is the code-snippet where the exception is being thrown:</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp; try</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp; {</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // get the settings required to load the xml dropped by servlet</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IntegrationGlobalConfigObject gco = new IntegrationGlobalConfigObject();</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getAttribute(context, gco, IntegrationGlobalConfigObject.IN_RIP_MODE);</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getAttribute(context, gco, IntegrationGlobalConfigObject.LOCAL_PROJECT_FILEPATH);</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; codeRegn = &quot;GCO read.&quot;;</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // load the xml</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element elCommandRoot = loadXMLSentFromServlet(gco, args[0], context);</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; codeRegn = &quot;XML sent from servlet read.&quot;;</FONT>
</P>

<P><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // prepare preliminary response header</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // create the response placeholder</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element elResponseRoot = new Element(&quot;transaction&quot;);</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // copy/modify attributes from request</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;1&quot;);</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elResponseRoot.setAttributes(elCommandRoot.getAttributes());</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;2&quot;);</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elResponseRoot.getAttribute(&quot;type&quot;).setValue(&quot;response&quot;);</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;3&quot;);</FONT>
<BR><FONT SIZE=2 FACE="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .....</FONT>
</P>

</BODY>
</HTML>