访问 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 应用程序中集成了服务器。
我用你的代码做了一个例子,它有效..你必须把它添加到浏览器才能看到
http://localhost:9999/ws/hello?wsdl
这是我案例中的 url。然后使用 soap ui 或其他 ws 客户端使用它。
您看到的错误是因为您正在对 url 而不是 soap 请求执行 get 请求。
我正在尝试使用 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 应用程序中集成了服务器。
我用你的代码做了一个例子,它有效..你必须把它添加到浏览器才能看到
http://localhost:9999/ws/hello?wsdl
这是我案例中的 url。然后使用 soap ui 或其他 ws 客户端使用它。 您看到的错误是因为您正在对 url 而不是 soap 请求执行 get 请求。