我有一个用C ++,Java,Python混合编写的大型系统。我必须使用webservice技术将这个系统的一小部分与一个门户网站连接起来。 Web服务并不重要,它必须公开3或4种方法。
今天在Java中实现这个的最快方法是什么?我考虑过AXIS + Tomcat。也许还有其他最新的图书馆吗?
答案 0 :(得分:5)
今天在Java中实现这个的最快方法是什么?我考虑过AXIS + Tomcat。也许还有其他最新的图书馆吗?
是的,还有更好的方法。忘记Axis并转到JAX-WS堆栈,例如JAX-WS RI(包含在Java 6中)或Apache CXF。这是通常的HelloWorld服务,其中包含使用JDK的内置HTTP服务器的测试方法:
package hello;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod
public String sayHello(String name) {
return "Hello, " + name + ".";
}
public static void main(String[] args) {
Endpoint.publish("http://localhost:8080/WS/Hello", new Hello());
}
}
只需运行main
方法即可开始使用网络服务。
当然,您需要在真实容器上部署Web服务以供生产使用。您可以使用GlassFish并只部署您的服务(GlassFish捆绑JAX-WS运行时)。或者您可以选择Jetty或Tomcat并在其上安装所选的运行时(JAX-WS RI或Apache CXF)。请参阅各自的说明。
答案 1 :(得分:1)
答案 2 :(得分:0)
Apache Axis2,Apache CXF或Glassfish Metro 2.0都是最新版本,可以满足您的需求。 Spring-WS可能比之前的3更容易使用,但前提是你已经在Spring框架中构建了。比较见: