我用eclipse做了一个简单的web服务。我真的不明白为什么它返回null。
这里是Web Service服务器:
package server;
import java.util.HashMap;
import java.util.Set;
import entity.Book;
public class Library {
private HashMap<String, Book> libraryHM = new HashMap<>();
public Library() {
}
public Book add(String id, String name) {
return libraryHM.put(id, new Book(id, name));
}
public Book[] get(){
Set<String> keys = libraryHM.keySet();
Book[] bookArray = new Book[3];
int i = 0;
for(String key : keys) {
bookArray[i++] = libraryHM.get(key);
}
return bookArray;
}
}
book类:
package entity;
public class Book {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Book(){
}
public Book(String id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "Id: "+ id + ", name " + name;
}
}
客户端:
public class Client {
public static void main(String[] args) throws ServiceException, RemoteException {
// TODO Auto-generated method stub
Library l = new LibraryServiceLocator().getLibrary();
((LibrarySoapBindingStub) l).setMaintainSession(true);
l.add("1", "hello1");
l.add("2", "hello2");
l.add("3", "hello3");
Book[] book = l.get();
for(int i =0; i < 3; i++) {
System.out.println(book[i]);
}
}
}
要创建web服务,我执行以下操作:
new ->动态web项目->编写库和图书类。
从动态web项目中选择库-> new -> web service ->选择2种方法-> finish
然后是Web Service Client:选择新项目-> web服务客户端->选择库wsdl -> finish
当我运行主客户端时,我有:
11月。2016年9月9日7:45:45 PM org.apache.axis.utils. javutilsisAttachmentSupported AVERTISSEMENT:无法找到所需的类(javax.activation。DataHandler和javax.mail.internet. mimmultipart)。附件支持被禁用。零零空
为什么?
您需要在类路径中包含java邮件和激活jar文件。您可以google类名并将它们导入到代码中。一旦您准备好jar文件,Eclipse IDE将自动为您完成此操作,按Ctrl + Shift + O
我知道至少需要这个jar和另一个jar -您可以在这里下载邮件jar