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

时间:2018-12-11 14:48:03

标签: java web service jax-ws endpoint

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

EmployeeService .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!");
    }
}

运行上述操作将抛出错误并显示“ Successfull!”。

但是,在浏览器上访问 http://localhost:8080/hello 会显示此页面无效

我想念什么?

2 个答案:

答案 0 :(得分:1)

我为您的代码提供了一个示例,它可以工作..您必须将其添加到浏览器中才能看到

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

这是我案件的网址。然后与soap ui或另一个ws客户端一起使用。 您看到的错误的原因是您正在对该URL上执行get请求,而不是soap请求。

答案 1 :(得分:0)

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

如果您想简单一些,我建议您制作一个spring-boot应用程序,该应用程序将为您提供开箱即用的功能。忘记沉重的JEE容器,尝试运行一个简单的spring-boot应用程序,该应用程序在spring-boot应用程序内部集成了服务器。

以下是链接:https://spring.io/guides/gs/rest-service/