2、webService的简单应用

来源:互联网 发布:内核源码的配置文件 编辑:程序博客网 时间:2024/06/02 06:03
webService的具体实现其实是挺多的,相对也比较简单,就是将用户所定义的接口与实现类通过webService的方式开放到url访问,好,下面我们面简单的对webService做一个简单的交互。
第一步  新建一个webservice  interface(注意加入注解包)
package com.web;import javax.jws.WebService;@WebServicepublic interface MyService {//接口的定义public int add(int x, int y);public int dec(int x, int y);}


第二步  新建一个webservice  interface实现类(注意加入注解包)
package com.web;import javax.jws.WebService;@WebService(endpointInterface="com.web.MyService")public class MyServiceImpl implements MyService {public int add(int x, int y) {System.out.println(x+"+"+y+"="+(x+y));return x+y;}public int dec(int x, int y) {System.out.println(x+"-"+y+"="+(x-y));return x-y;}}


完成了这两步 一个webService 的接口就已经完成了, 重点在 @WebService 的使用
下面启动使用接口,但要注意的是,该接口通过tomcat或者main方法启动,进程才能保留
第三步  发布webservice(注意加入注解包)
package com.web;import javax.xml.ws.Endpoint;/*** Created by kangz on 2016/11/17.*/ public class TestService {  public static void main(String[] args) throws Exception  {    Endpoint.publish("http://10.0.5.154:8083/wcms/", new MyServiceImpl());  } }


启动之后,你会发现,有一个进程会一直在那保留着,在浏览器中输入
http://10.0.5.154:8083/wcms/?wsdl 时会出现如下图所示的信息,表示接口启动成功

恭喜你,你已经成功的将实现了webService的服务了

测试代码:
package com.web;import javax.xml.namespace.QName;import javax.xml.ws.Service;import java.net.URL;/*** Created by kangz on 2016/11/17.*/public class TestImpl {public static void main(String[] args) throws Exception{  URL url=new URL("http://10.0.5.154:8083/wcms/?wsdl");  QName qName=new QName("http://web.com/", "MyServiceImplService");  Service service=Service.create(url, qName);  MyService my=service.getPort(MyService.class);  System.out.println(my.add(1, 5));}}


QName 的第二个参数是页面上的
<service name="MyServiceImplService"> <port name="MyServiceImplPort" binding="tns:MyServiceImplPortBinding"> <soap:address location="http://10.0.5.154:8083/wcms/"/> </port></service>



0 0