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

106,874

Solution 1

In order to fix the javax.activation.DataHandler issue you must add the JavaBeans Activation Framework activation.jar in your classpath.

In order to fix the javax.mail.internet.mimeMultipart issue you must add the Java Mail API mail.jar in your classpath.

The warning messages printed in your console shows that the above jars are not in the classpath.

Solution 2

Only one jar (mail.jar) is enough to fix this problem. This jar should present in your class path.

Solution 3

Unfortunately, wsdl is still in use:( You can solve this warn via adding dependencies below.

    <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>
Share:
106,874

Related videos on Youtube

user182944
Author by

user182944

Updated on July 09, 2022

Comments

  • user182944
    user182944 almost 2 years

    I am facing problems in invoking a method present in a web service. The wsdl was created using AXIS.

    When I try to invoke it using my java code, I am getting null values from the service response.

    I am getting the warning message getting printed in my console:

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

    While trying to solve this, I added activation.jar and mail.jar in my workspace build path, restarted the server.

    EDIT:

    Right Click on the WSDL ==> Generate CLient

    Then I got a proxy class, using it I wrote this to invoke the service method:

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

    But still the problem persists :(

    Further Info:

    The getDetails() method is performing a DB operation fetching some records from the Oracle DB. For performing the DB operation, class12.jar is used. Does it have something to do with invoking the service method the way I am doing?

  • user182944
    user182944 over 11 years
    I did it in my 1st attempt before posting this in the forum.please read the bottom part of my question.
  • Apostolos Emmanouilidis
    Apostolos Emmanouilidis over 11 years
    Were the warnings disappeared after including the jars in the classpath?
  • user182944
    user182944 over 11 years
    NO, adding the jars did not removed the warnings. I have edited the original post to show how i am trying to invoke the web service method. Please suggest.
  • Mark Rotteveel
    Mark Rotteveel over 11 years
    The JavaBeans activation framework is included in Java SE (since Java 6, maybe even since Java 5; not sure).
  • user182944
    user182944 over 11 years
    the jars are in my classpath........i mentioned this in my initial question several times....i checked this even before posting this question.
  • Lucas
    Lucas over 10 years
    @user182944, a little late to the party, but the message indicates that at least one of the jars mentioned in the answer is missing, but not necessarily both. As activation is part of Java SE now, it is most likely that javax.mail is missing...
  • Erran Morad
    Erran Morad almost 10 years
    @TolisEmmanouilidis - Does not work anymore even after adding activation.jar to the build path. Is it okay if I ignore the warning ?