Вопрос по java, soap, web-services, xml – Невозможно найти необходимые классы (javax.activation.DataHandler и javax.mail.internet.MimeMultipart). Поддержка вложений отключена

37

Я сталкиваюсь с проблемами при вызове метода, присутствующего в веб-сервисе. WSDL был создан с использованием ОСи.

Когда я пытаюсь вызвать его, используя мой код Java, я получаю нулевые значения из ответа службы.

Я получаю сообщение с предупреждением в моей консоли:

Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.

Пытаясь решить эту проблему, я добавил в свой путь сборки рабочей области Activation.jar и mail.jar, перезапустил сервер.

EDIT:

Нажмите правой кнопкой мыши на WSDL == & gt; Генерация Клиента

Затем я получил прокси-класс, используя его, я написал это для вызова метода сервиса:

public class CallingWebService1 {

public static void main(String[] args) throws Exception {

    WebService1Proxy proxy1 = new WebService1Proxy();
    proxy1.setEndpoint("http://localhost:8045/WebService1/services/WebService1");

    EmployeeDetails details = proxy1.getDetails();
    System.out.println("Employee Id: " + details.getEmpId());
    System.out.println("Employee Name: " + details.getEmpName());
    System.out.println("Dept Id: " + details.getDeptId());
    System.out.println("Dept Name" + details.getDeptName());
    System.out.println("Age: " + details.getAge());
}

Но проблема все еще сохраняется :(

Further Info:

Метод getDetails () выполняет операцию с БД, извлекая некоторые записи из БД Oracle. Для выполнения операции с БД используется class12.jar. Это как-то связано с вызовом метода сервиса, как я?

Ваш Ответ

2   ответа
40

Чтобы исправить проблему javax.activation.DataHandler, необходимо добавитьJavaBeans Activation Framework Activation.jar в вашем классе.

Чтобы исправить проблему javax.mail.internet.mimeMultipart, необходимо добавитьJava Mail API mail.jar в вашем классе

Предупреждающие сообщения, напечатанные на вашей консоли, показывают, что вышеперечисленные файлы отсутствуют в пути к классам.

Среда активации JavaBeans включена в Java SE (начиная с Java 6, может быть, даже после Java 5; не уверен).
Были ли предупреждения исчезли после включения банок в путь к классам?
НЕТ, добавление банок не сняло предупреждения. Я отредактировал исходное сообщение, чтобы показать, как я пытаюсь вызвать метод веб-службы. Пожалуйста, предложите. user182944
Я сделал это с первой попытки, прежде чем опубликовать это на форуме. Пожалуйста, прочитайте нижнюю часть моего вопроса. user182944
@ user182944, немного опоздал на вечеринку, но сообщение указывает, чтоat least one из упомянутых в ответе баночек отсутствует, но не обязательно оба. Поскольку активация сейчас является частью Java SE, скорее всего, отсутствует javax.mail ...
21

Толькоone jar (mail.jar) is enough чтобы исправить эту проблему. Этот кувшин должен присутствовать в вашем классе путь.

прямое решение
Это решило проблему для меня.

Похожие вопросы