Подтвердить что ты не робот

Не удалось найти необходимые классы (javax.activation.DataHandler и javax.mail.internet.MimeMultipart). Поддержка вложений отключена

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

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

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

Невозможно найти необходимые классы (javax.activation.DataHandler и javax.mail.internet.MimeMultipart). Поддержка прикрепления отключена.

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

EDIT:

Щелкните правой кнопкой мыши на WSDL == > Generate CLient

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

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

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

Дополнительная информация:

Метод getDetails() выполняет операцию БД, извлекающую некоторые записи из БД Oracle. Для выполнения операции БД используется класс 12.jar. Имеет ли это какое-то отношение к вызову метода службы, как я это делаю?

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

К сожалению, wsdl все еще используется :( Вы можете решить это предупреждение, добавив зависимости ниже.

    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.7</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>