繁体   English   中英

我的Web服务存根返回null

[英]My Web Service Stub return null

我用Eclipse做了一个简单的Web服务。 而且我真的不明白为什么它让我归零。

这是Web服务服务器:

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

}

书本类:

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服务,请执行以下操作:

新建->动态Web项目->编写库和书籍类。

从动态Web项目中选择库->新建-> Web服务->选择2种方法->完成

然后是Web Service客户端:选择一个新项目-> Web Service客户端->选择库wsdl->完成

当我在客户端中运行main时,我有:

十一月 2016年9月9日下午7:45:45 org.apache.axis.utils.JavaUtils isAttachmentSupported AVERTISSEMENT:无法找到所需的类(javax.activation.DataHandler和javax.mail.internet.MimeMultipart)。 附件支持已禁用。 null null null

为什么呢

您将需要在类路径中包括Java邮件和激活jar。 您可以搜索类名称,然后将其导入代码中。 将罐子放置到位后,Eclipse IDE将自动为您执行此操作,请按Ctrl + Shift + O

我知道至少需要这个罐子,可能还需要另一个罐子-您可以在此处下载邮件罐子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM