如何使用Endpoint.publish()方法发布WebService?

时间:2017-03-08 05:28:50

标签: java web-services soap

我正在一些在线教程的帮助下制作一个基本的Hello World Web服务。 我在Eclipse中创建了一个基本的Java项目(非动态)。在将代码作为Java应用程序运行并访问URL“http://localhost:9292/ws/hello”时,我在浏览器上收到“localhost page is-working-ERR_EMPTY_RESPONSE”。以下是代码。请让我知道我做错了什么。

SayHello.java

package com.example.hello;

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

@WebService
public class SayHello  {

@WebMethod
public String getHello(String name) {

    return "Hello " + name;
}

}

LaunchService.java

package com.example.hello;

import javax.xml.ws.Endpoint;

public class LaunchService {

    public static void main(String[] args) {

        Endpoint.publish("http://localhost:9292/ws/hello", new SayHello());

    }

}

1 个答案:

答案 0 :(得分:0)

@WebService和关联的注释用于作为SOAP Web服务的JAX-WS。对服务的请求是通过POST发出的,这就是为什么GET无法正常工作的原因。 WSDL的GET是对服务描述符的请求。

使用SOAP客户端,它将可以正常工作(例如SOAP UI)

如果要构建REST服务,请使用JAX-RS或Restlet或其他方式

(聚会晚了2年,但我认为我可能会帮助某人:))