Dear All!
I'm writing a business method of an entity bean which is supposed to
read some informations from an XML file. I use the following code:
To get the parser and the document:
Code:
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse( xmlFile );
Then to get the informations I use:
Code:
NodeList nl = doc.getElementsByTagName( tagName );
int elemCount = nl.getLength();
for( int i = 0; i < elemCount; i++ )
{
Element element = ( Element )nl.item( i );
String test = element.getTextContent();
(...)
}
And I get the folowing exception:
Code:
org.jboss.tm.JBossTransactionRolledbackException: Unexpected Error
java.lang.NoSuchMethodError:
org.w3c.dom.Node.getTextContent()Ljava/lang/String;
at
levia.messages.ejb.MessageTypeBean.requiredInformations(MessageTypeBean.java:345)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
The problem is that outside Jboss this works perfectly. So I guess the
problems comes from the fact that jboss uses xerces itself and it
configures diferently the parser or something like this...
When I write :
Code:
Text tester = (Text) elem.getFirstChild();
String blalba = tester.getNodeValue();
everything works well.... but still I would like to understand what is
the couse of problems with the other solution.
kind regards
Karol
PS: I use jboss 4.0 and xerces 2.6.2
Marek Lange - 01 Jul 2005 07:58 GMT
> Dear All!
>
[quoted text clipped - 8 lines]
> problems comes from the fact that jboss uses xerces itself and it
> configures diferently the parser or something like this...
Problem is that JBoss seems to use another xerces version. This version
is loaded by the JBoss classloader. If you want to use your own, you
have to scope your deployment, this isolates your application from the
unified classloader. Look for "loader-repository" in the JBoss docs/wiki.
-marek