Resolução de classe XPath no JBoss5

Estou tendo dificuldades para descobrir de onde vem o problema, por isso estou postando isso na esperança de que outros possam ter encontrado algo semelhante a isso em outros lugares e tenham a gentileza de compartilhar suas idéias.

Estou usando umJBoss 5.0.1.GA servidor de aplicativos em execução em cima de umSun Java 1.6.0-13 JDK. Para o arquivo WAR no serviço da Web gerado, eu uso umAxis2 1.4 Mecanismo WS cujos arquivos JAR são inseridos porEclipse Galileo no projetoWEB-INF/lib diretório ao criar o serviço da Web a partir da classe "worker" fornecida no Dynamic Web Project. O trecho de código relevante a seguir:

String sUrl = "http://example.com/datafile.xml";
String sPath = "/some/xpath/string";
InputStream input = new URL(sUrl).openStream();
InputSource source = new InputSource(input);
DocumentBuilderFactory docFact = DocumentBuilderFactory.newInstance();
docFact.,setNamespaceAware(false);
DocumentBuilder parser = docFact.newDocumentBuilder();
Document doc = parser.parse(source);
XPath xpath = XPathFactory.newInstance().newXPath();
// error occurs here:
String result = (String) xpath.evaluate(path,doc,XPathConstants.STRING);
input.close();

Este é o erro que estou recebendo no log do JBoss:

java.lang.LinkageError: violação de restrição do carregador: ao resolver o campo "STRING", o carregador de classes (instância de org / jboss / classloader / spi / base / BaseClassLoader) da classe de referência, javax / xml / xpath / XPathConstants e a classe loader (instância de <bootloader>) para o tipo resolvido do campo, javax / xml / namespace / QName, tem objetos de classe diferentes para esse tipo

I poderia use oXPath.evaluate(String,Document) - no entanto, há ocasiões em que preciso obter (por exemplo) umXPathConstants.NODESET em vez disso, é proibido. Eu também tentei me atrapalhar um pouco, jogando lixojboss-web.xml arquivos aqui e ali no arquivo WAR, mas sem efeito.

O que estou tentando entender é:

De onde poderia estar vindo o erro? O carregador de classes do JBoss? Alguma interação estranha entre o JBoss e o Sun JDK? Alguma estranheza introduzida pelo Eclipse ao criar o serviço da Web? Talvez alguma confusão introduzida pelas bibliotecas Axis2 implantadas no WAR?Encontrei instâncias de arquivos de classe compilados no que parece um golpe triplo:Sun JDK (arquivort.jar);Bibliotecas JBoss ($JBOSS_HOME/lib/endorsed/stax-api.jar); eBibliotecas implementadas no Axis2 ($JBOSS_HOME/server/deploy/MyProject.ear/MyProject.war/WEB-INF/lib/axis2-saaj-api-1.4.jar ewoden-impl-dom-1.0M8.jar)Como exatamente eu devo configurar o JBoss para dizer em quais classes está correto carregar as "outras" bibliotecas? Especificamente, ojaxax.xml.namespace.QName Isso está causando sofrimento.

Agradeço antecipadamente.

questionAnswers(2)

yourAnswerToTheQuestion