如何使用ExecutorService调用webservice

How to call webservice using ExecutorService

我想知道在 java 应用程序中使用 ExecutorService 使用 web 服务的正确方法,我想 web 服务调用应该是并行和队列的,但我不知道如何去做。

ExecutorService 与网络服务无关。 ExecutorService 仅调度任务并执行它们。在您的情况下,您提交的任务将使用某个网络服务,但它可能是做一些计算之类的事情。就像评论中建议的那样,您可以使用 java.net.URL、javax.xml.ws.Service 或任何其他 API。

假设您有一个 ExecutorService:

final ExecutorService executorService = constructAnAppropriateExecutorService();

做这样的事情?

Future<Result> future = executorService.submit(new Callable<>() {
    @Override
    Result call() {
        return performSynchronousWebServiceCall(...);
    }
});
doSomethingElseForAWhile(...);
Result result = future.get();

这绝对和ExecutorService一点关系都没有。看起来 Java 无法访问 WSDL。您可以使用 curl 或任何网络浏览器访问给定的 URL 吗? 也许你应该考虑在一个单独的(更有意义的)问题中寻求帮助。