Разрешение класса XPath в JBoss5

Мне трудно понять, откуда возникла проблема, поэтому я публикую это в надежде, что другие могут найти что-то похожее на это в другом месте и достаточно любезны, чтобы поделиться своим пониманием.

Я используюJBoss 5.0.1.GA сервер приложений работает поверхSun Java 1.6.0-13 JDK, Для файла WAR в сгенерированном веб-сервисе я используюAxis2 1.4 WS движок, чьи JAR-файлы вставленыЗатмение Галилео в проектWEB-INF/lib каталог при создании веб-сервиса из заданного «рабочего» класса в динамическом веб-проекте. Ниже приведен соответствующий фрагмент кода:

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();

Это ошибка, которую я получаю из журнала JBoss:

java.lang.LinkageError: нарушение ограничения загрузчика: при разрешении поля «STRING» загрузчик класса (экземпляр org / jboss / classloader / spi / base / BaseClassLoader) ссылающегося класса, javax / xml / xpath / XPathConstants и класса Загрузчик (экземпляр <bootloader>) для разрешенного типа поля, javax / xml / namespace / QName, имеет разные объекты Class для этого типа

I мог использоватьXPath.evaluate(String,Document) - однако бывают случаи, когда мне нужно получить (например)XPathConstants.NODESET вместо этого, так что нет. Я также попытался немного покопаться, засоряя некоторыеjboss-web.xml файлы здесь и там в файле WAR, но без эффекта.

Я пытаюсь понять это:

Откуда может исходить ошибка? Загрузчик класса JBoss? Какое-то странное взаимодействие между JBoss и Sun JDK? Какая-то странность, представленная Eclipse при создании веб-службы? Может быть, какая-то путаница внесена библиотеками Axis2, развернутыми в WAR?Я нашел экземпляры скомпилированных файлов классов в том, что выглядит как тройной удар:Sun JDK (файлrt.jar);Библиотеки JBoss ($JBOSS_HOME/lib/endorsed/stax-api.jar); а такжеРазвернутые Axis2 библиотеки ($JBOSS_HOME/server/deploy/MyProject.ear/MyProject.war/WEB-INF/lib/axis2-saaj-api-1.4.jar а такжеwoden-impl-dom-1.0M8.jar).Как именно я должен настроить JBoss, чтобы он говорил, из каких классов можно загружать файлы из «других» библиотек? В частности,jaxax.xml.namespace.QName это вызывает горе.

Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос