wing3501
wing3501
2013-11-25 11:10
浏览 274
已采纳

webservice的服务端必须是web项目吗?

之前做的项目是这样的。
项目A:web项目
项目B:java项目
B是作为一个服务的,通过jms协议与A交互。

现在要把B的服务接口,整成一份webservice接口,提供给A项目调用。
刚刚看了几个webservice的代码,B项目作为服务器端,是不是必须是web项目才能用webservice技术?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • u012997186
    A牛哥哥 2013-11-25 18:26
    已采纳
    不一定非得是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等服务器.

    点赞 评论
  • magicluo
    magicluo 2013-11-25 17:18

    Web Service(SOAP Over HTTP)必须基于web 容器。。

    那你直接起一个tomcat,把那部分逻辑封后发布web 服务就完了 ..

    以前的JMS协议接口,必然也使用了消息中间件了。。
    你这里整Web Service ,也可以使用一个web容器

    点赞 评论

相关推荐