我在调用 Web 服务中存在的方法时遇到问题。 wsdl 是使用 AXIS 创建的。
当我尝试使用我的 java 代码调用它时,我从服务响应中得到空值。
我的控制台中打印出警告消息:
Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
在尝试解决此问题时,我在工作区构建路径中添加了 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() 方法正在执行数据库操作,从 Oracle 数据库中获取一些记录。为了执行 DB 操作,使用了 class12.jar。和我现在这样调用服务方法有关系吗?
最佳答案
为了修复 javax.activation.DataHandler 问题,您必须添加 JavaBeans Activation Framework类路径中的activation.jar。
为了修复 javax.mail.internet.mimeMultipart 问题,您必须添加 Java Mail API mail.jar 在你的类路径中。
您的控制台中打印的警告消息表明上述 jar 不在类路径中。
关于java - 找不到所需的类(javax.activation.DataHandler 和 javax.mail.internet.MimeMultipart)。附件支持已禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227035/