访问 JAX-WS 发布的端点不起作用

Accessing JAX-WS Published Endpoint is Not Working

我正在尝试使用 JAX-WS 创建 Web service。我确实有一个非常基本的 Java 项目,其中包含以下内容:

员工服务。java

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class EmployeeService {

    @WebMethod
    public String getEmployee(String id) {
        return "Vlad Danila";
    }
}

Exporter.java

import javax.xml.ws.Endpoint;

import services.EmployeeService;

public class Exporter {
    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8080/hello", 
                new EmployeeService());
        System.out.println("Successfull!");
    }
}

运行 以上将抛出 no 错误并打印 "Successfull!".

但是,在浏览器上访问 http://localhost:8080/hello 会出现 此页面无法正常工作

我错过了什么?

你没有提供太多关于你在做什么的背景信息。 JAX-WS 应该 运行 在容器中。你 运行 在与 JEE 兼容的容器中吗?请参阅本教程,尤其是最后一部分: https://docs.oracle.com/javaee/6/tutorial/doc/bnayn.html#gjyge

如果您想要一些简单的东西,我建议制作一个 spring-boot 应用程序,它开箱即用。忘记沉重的 JEE 容器并尝试 运行 一个简单的 spring-boot 应用程序,它在 spring-boot 应用程序中集成了服务器。

下面是link:https://spring.io/guides/gs/rest-service/

我用你的代码做了一个例子,它有效..你必须把它添加到浏览器才能看到

http://localhost:9999/ws/hello?wsdl

这是我案例中的 url。然后使用 soap ui 或其他 ws 客户端使用它。 您看到的错误是因为您正在对 url 而不是 soap 请求执行 get 请求。