2

开发了一个网络服务,以下是步骤

1)创建一个Web服务端点接口..

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

//Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.RPC)
public interface HelloWorld{

    @WebMethod String getHelloWorldAsString(String name);

}

2.创建一个Web服务端点实现..

import javax.jws.WebService;

//Service Implementation
@WebService(endpointInterface = "com.abc.ws.HelloWorld")
public class HelloWorldImpl implements HelloWorld{

    @Override
    public String getHelloWorldAsString(String name) {
        return "Hello World JAX-WS " + name;
    }

}
  1. 创建端点发布者...

导入 javax.xml.ws.Endpoint;导入 com.abc.ws.HelloWorldImpl;

//Endpoint publisher
public class HelloWorldPublisher{

    public static void main(String[] args) {
       Endpoint.publish("http://localhost:9999/ws/hello", new HelloWorldImpl());
    }

}

现在,我还通过 URL “http://localhost:9999/ws/hello?wsdl” 访问生成的 WSDL(Web 服务定义语言)文档来测试部署的 Web 服务。

但是我的疑问是,当我刚接触云世界时,我想将我的 web 服务部署到像亚马逊这样的云上,这样如果我向世界上的任何人提供 wsdl,他就可以在我的 web 服务部署时通过他的浏览器访问我的 wsdl在云上。

请告诉我如何实现这一目标.. !!

4

1 回答 1

0

当您将应用程序部署到云上的真实服务器时,此方法将不起作用,因为您无法执行main发布 Web 服务的方法。

当您的应用程序在服务器上启动时,您需要配置一些东西来发布您的 Web 服务。

例如,使用 Spring,要在 Tomcat 上运行 SOAP Web 服务,您需要注入您的 WS bean 并使用SimpleJaxWsServiceExporterbean 来发布它,这些配置在您application-context.xml或等效设备上实现。

在您的情况下,请查看此链接,它是如何使用 JAX-WS RI 分发发布 WSDL Web 服务的示例。

对于测试,您可以将 WAR 应用程序部署到Openshift

希望它有所帮助,最好的问候。

于 2015-01-27T18:58:21.560 回答