开发了一个Web服务,下面是步骤
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;
}
}
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服务。
但是我的疑问是,当我刚接触云世界时,我希望将我的web服务部署到云端,就像亚马逊一样,如果我向世界上的任何人提供wsdl,他可以通过他的浏览器访问我的wsdl作为我的网络服务部署在云端。
请告诉我如何实现这个目标.. !!
答案 0 :(得分:0)
当您将应用程序部署到云上的真实服务器时,此方法无效,因为您无法执行main
方法来发布Web服务。
当您的应用程序在服务器上启动时,您需要配置一些内容来发布您的Web服务。
例如,使用Spring,要在Tomcat上运行SOAP Web服务,您需要注入WS bean并使用SimpleJaxWsServiceExporter
bean来发布它,这些配置在application-context.xml
上实现或等效
在您的情况下,请查看此link,它是如何使用JAX-WS RI分发发布WSDL Web服务的示例。
对于测试,您可以将WAR应用程序部署到Openshift。
希望它有所帮助, 最诚挚的问候。