我正在尝试使用 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 会显示此页面无效。
我想念什么?
答案 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应用程序内部集成了服务器。