#java #websphere #axis2
#java #websphere #axis2
Вопрос:
Я развернул приложение, содержащее клиент Axis2 [1.7.3], на Websphere App Server. Но он выдает java.lang.Ошибка создания: org.apache.axis2.привязка данных.ADBDataSource, когда клиент Axis2 пытается запросить ресурс у конечной точки удаленной веб-службы. Причина в строке кода сгенерированного класса Java — строке возврата:
public org.apache.axiom.om.OMElement getOMElement(
final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory)
throws org.apache.axis2.databinding.ADBException {
return factory.createOMElement(new org.apache.axis2.databinding.ADBDataSource(
this, MY_QNAME));
}
factory.createOMElement
из axiom-api-1.2.19.jar .
Часть моего pom.xml:
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.7.3</version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-adb</artifactId>
<version>1.7.3</version>
<exclusions>
<exclusion>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-dom</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
<version>1.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-local</artifactId>
<version>1.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-xmlbeans</artifactId>
<version>1.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-jaxws</artifactId>
<version>1.7.3</version>
<exclusions>
<exclusion>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-dom</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-saaj</artifactId>
</exclusion>
</exclusions>
</dependency>
Он может работать в Tomcat 7, но не в Websphere! Поэтому я предполагаю, что часть библиотеки Websphere имеет проблему. Есть ли у кого-нибудь опыт в этом?
Комментарии:
1. Какую версию WebSphere Application Server вы используете? Вы видели ibm.com/developerworks/community/forums/html /…
2. Версия Websphere 7.0.0.39
Ответ №1:
Axis2 1.6.1 совместим с WebSphere от 7.x до 8
- Прежде всего, найдите axis2 1.6.1 и извлеките. Затем откройте архив.
- Обновите axis2.xml со следующим атрибутом от false до true
-
Обновите файл в папке axis2_1_6_2 WEB-INF conf
-
Перейдите в консоль администратора Websphere.
-
Удалите старое приложение и каталог axis2. — Не требуется для первой установки.
-
Установите обновленный файл war axis2_1_6_2.war (** Обновлен Axis2.xml должно быть в файле war), не запускайте.
-
Завершите установку и перейдите к корпоративным приложениям, щелкните axis2_1_6_2.war.
-
Нажмите на Загрузку классов и обнаружение обновлений, выберите Классы, загруженные с помощью локального загрузчика классов первыми (родительский загрузчик последним) и нажмите применить
-
Сохраните непосредственно в основной конфигурации.
-
В разделе Корпоративные приложения щелкните управление модулями.
-
Нажмите на гиперссылку с именем модуля Apache-Axis2
-
В раскрывающемся списке Порядок загрузки классов -> Сначала выберите классы, загруженные с помощью локального загрузчика классов (сначала родительский), и нажмите применить
-
Сохраните непосредственно в основной конфигурации и снова нажмите «ОК», сохраните непосредственно в основной конфигурации
-
Выберите файл war и нажмите «Пуск», приложение успешно запущено, должно появиться сообщение
Ссылки
- Консоль администратора —http://host:9080/your-context-root/axis2-admin /
Имя пользователя : admin
Пароль : axis2
- Протестируйте WSDL —http://host:9080/your-context-root/services/Version?getVersion