之前做的项目是这样的。
项目A:web项目
项目B:java项目
B是作为一个服务的,通过jms协议与A交互。
现在要把B的服务接口,整成一份webservice接口,提供给A项目调用。
刚刚看了几个webservice的代码,B项目作为服务器端,是不是必须是web项目才能用webservice技术?
之前做的项目是这样的。
项目A:web项目
项目B:java项目
B是作为一个服务的,通过jms协议与A交互。
现在要把B的服务接口,整成一份webservice接口,提供给A项目调用。
刚刚看了几个webservice的代码,B项目作为服务器端,是不是必须是web项目才能用webservice技术?
不一定非得是WEB项目才能发布出去, WebService的提出就是说:只要你的机器能上网, 我就能把你整合进来.可以只发布一个类都行, 如下:
[code="java"]
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
import javax.xml.ws.Endpoint;
@WebService
@SOAPBinding(style=Style.RPC)
public class HelloWorld {
@WebMethod
public String sayHello(String name){
System.out.println(name);
return "hello "+name;
}
public static void main(String[] args) {
Endpoint.publish("http://localhost:8888/helloworld",new HelloWorld() );
}
}
[/code]
你把上面的代码直接复制放到一个HelloWorld.java的文件中, 用Eclipse或者命令行执行这个java文件都可以, 运行后main方法阻塞式运行, 打开浏览器访问http://localhost:8888/helloworld?wsdl 你就看见wsdl文档了, 这个类就被发布出去作为服务了, 不需要tomcat等服务器.