gpt4 book ai didi

java - 在云上部署 Web 服务

转载 作者:行者123 更新时间:2023-11-29 09:11:03 24 4
gpt4 key购买 nike

我通过以下步骤开发了一个网络服务:

  1. 创建 Web 服务端点接口(interface)..
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);
}
  1. 创建 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. 创建端点发布者...
import javax.xml.ws.Endpoint;
import 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 服务。 .

我是云世界的新手,我想像亚马逊一样将我的网络服务部署到云中,这样如果我向世界上任何人提供 wsdl,他们就可以通过他的浏览器访问我的 wsdl。

我怎样才能做到这一点?

最佳答案

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

当您的应用程序在服务器上启动时,您需要配置一些内容来发布您的网络服务。

例如,使用 Spring,要在 Tomcat 上运行 SOAP Web 服务,您需要注入(inject) WS bean 并使用 SimpleJaxWsServiceExporter bean 发布它,这些配置在您的 应用程序中实现-context.xml 或等效文件。

在你的情况下,看看这个 link ,它是如何使用 JAX-WS RI 分发发布 WSDL Web 服务的示例。

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

关于java - 在云上部署 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12465026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com