2012-09-01 36 views
34

我在調用Web服務中存在的方法時遇到問題。 wsdl是使用AXIS創建的。無法找到所需的類(javax.activation.DataHandler和javax.mail.internet.MimeMultipart)。附件支持已禁用

當我嘗試使用我的java代碼調用它時,我從服務響應中獲得空值。

我收到警告信息越來越印在我的控制檯:

無法找到所需的類(的javax.activation.DataHandler和javax.mail.internet.MimeMultipart)。附件支持已禁用。

試圖解決這個問題時,我在我的工作空間構建路徑中添加了activation.jar和mail.jar,重新啓動了服務器。

編輯:

右鍵點擊WSDL ==>生成客戶端

後來我有一個代理類,使用它,我寫了這個調用服務的方法:

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()方法正在執行一個DB操作,從Oracle DB中獲取一些記錄。爲了執行數據庫操作,使用class12.jar。它是否與我正在調用服務方法有關?

回答

35

爲了解決javax.activation.DataHandler問題,您必須在您的類路徑中添加JavaBeans Activation Framework activation.jar。

爲了修復javax.mail.internet.mimeMultipart問題,您必須在您的類路徑中添加Java Mail API mail.jar。

控制檯中顯示的警告消息顯示上述罐子不在類路徑中。

+0

我在我的第一次嘗試中做了這件事,然後發佈在forum.please上,閱讀我的問題的底部。 – user182944

+0

在將類罐路徑包含在類路徑中後警告消失了嗎? –

+0

不,添加罐子並沒有消除警告。我已編輯原始帖子,以顯示我如何試圖調用Web服務方法。請建議。 – user182944

19

只有一個jar(mail.jar)就夠了來解決這個問題。這個jar應該出現在你的類路徑中。

+2

這解決了我的問題。 –

+1

直接解決方案 –

相關問題