Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从soapweb服务中提取列表_Java_Web Services_Soap_Soap Client - Fatal编程技术网

Java 从soapweb服务中提取列表

Java 从soapweb服务中提取列表,java,web-services,soap,soap-client,Java,Web Services,Soap,Soap Client,如何在Java中的SOAP web服务中将数组列表从服务器端拉到客户端 例如: 服务器包含:书籍列表 客户端:请求所有书籍的列表,在服务器的响应中,书籍列表应返回给客户端 我将在服务器的响应中获取书籍列表,然后如何在客户端使用该列表 您不能使用列表,因为在webservice通信中不允许使用接口类型(作为操作的返回类型和参数) 您需要指定一个列表实现,比如ArrayList 另外,Book不能是interface,其所有字段的类型必须不是interface。您不能在任何地方传递任何接口类型的数据

如何在Java中的SOAP web服务中将数组列表从服务器端拉到客户端

例如:

服务器包含:书籍列表

客户端:请求所有书籍的列表,在服务器的响应中,书籍列表应返回给客户端


我将在服务器的响应中获取书籍列表,然后如何在客户端使用该列表

您不能使用列表,因为在webservice通信中不允许使用接口类型(作为操作的返回类型和参数)

您需要指定一个列表实现,比如ArrayList

另外,Book不能是interface,其所有字段的类型必须不是interface。您不能在任何地方传递任何接口类型的数据

您在尝试运行/部署Web服务时是否出现任何异常?如果是这样,你为什么不提呢

如果您不知道如何编码,为什么不尝试使用List/ArrayList/WhateverList作为常规类型,如String?

简而言之:

服务:

package webservice;
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class BookWebService {
List<Book> allBooks = new ArrayList<>();
@WebMethod
public List<Book> getAllBooks() {
return allBooks;
}
@WebMethod
public void addBook (Book book) {
this.allBooks.add(book);
}
}
此处提供了完整的详细步骤:

没有用。。它们是简单的教程,不符合我的要求。有人知道答案吗?然后你可能需要再看一遍你的问题。它很宽泛,并不代表你已经尝试过的工作。有关好问题的提示,请查看常见问题解答。如果您想得到答案,请在问题中添加一些内容:您的服务器是否已经实现了web服务,或者您是否正在尝试同时实现这两种服务?如果您同时实现了这两个功能,您是否尝试过5分钟的JAX-WS
tutorial(例如)?如果你觉得你需要的比这更复杂,那又有什么不同呢?您还想做什么?“您不能使用列表,因为在webservice通信中不允许使用接口类型(作为操作的返回类型和参数)。”这不是真的。
package root;
import java.util.List;
import javax.xml.ws.WebServiceRef;
import webservice.Book;
import webservice.BookWebService;
import webservice.BookWebServiceService;
public class MainClient {
@WebServiceRef(wsdlLocation="http://localhost:8080/LibraryWs/BookWebServiceService?wsdl")
private static BookWebServiceService service;
public static void main(String[] args) {
MainClient cl = new MainClient();
cl.start();
}
public void start() {
service = new BookWebServiceService();
BookWebService port = service.getBookWebServicePort();
System.out.println("All books: "+port.getAllBooks());
Book book = new Book();
book.setTitle("Journey");
book.setPages(233);
port.addBook(book);
System.out.println("All books: "+port.getAllBooks());
}
}