Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 331
user182944 Avatar asked Sep 01 '12 10:09

user182944


3 Answers

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.

like image 82
Apostolos Emmanouilidis Avatar answered Nov 06 '22 15:11

Apostolos Emmanouilidis


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

like image 29
MADHAIYAN M Avatar answered Nov 06 '22 14:11

MADHAIYAN M


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>
like image 6
Gostil Avatar answered Nov 06 '22 15:11

Gostil