使用java 自带的webservice

Posted 雪儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用java 自带的webservice相关的知识,希望对你有一定的参考价值。

1:具有功能的类的写法---发布服务

   @WebService

   public class CarFactory {

       public String car(String num){

         switch(num){

         case "鲁A1000":

             return "宝马";

         case "鲁A1001":

            return "奔驰";

         case "鲁A1002":

            return "oooo";

         default:

            System.out.println(num);

             return "没有此车"; 

         }

       }

       public static void main(String[] args) {//

         Endpoint.publish("http://localhost:8080/ws/service",

                             new CarFactory());

      }

   }

注释:

   1:这个类里有个car方法,作用是根据车牌号查询对应的车型,那么外界怎样才可以使用我的方法呢?

       具体做法:

       1:把类加注释@WebService,--就可以让互联网的所有人使用

       2:并书写一个方法,方法内容如下:Endpoint.publish("http://localhost:8080/ws/service", new CarFactory());

                      参数是:1:自定义路径      2:类的对象

                     运行这个的方法,等待调用者调用 

              ----发布,只有这样发布了,别人才可使用

               

2:调用者的写法----调用服务

  public class carclint {

    public static void main(String[] args) {

      CarFactoryService cfs=new CarFactoryService();

      CarFactory cf=cfs.getCarFactoryPort();

      String a=cf.car("lanxing");

      System.out.println(a);

   }

  }

 注释:1:调用者要知道开发者的自定义路径,在浏览器上运行这个路径可以得到另一个以  wsdl  结尾的路径--得到wsdl

    2:运行cmd--在dos页面输入:wsimport http://localhost:8080/ws/service?wsdl----回车,解析wsdl得到相应的类

    3:输入:(start.)  ---得到相应的文件夹的位置,可以看到和项目名同名的文件夹,文件夹里是一些类,我们调用时要使用

    4:输入:(jar cvf  lanxing.jar  ./文件夹名)-----将第三步 得到的文件夹打成夹包

    5:将夹包导到自己的项目中,开始书写测试类

       1、创建一个类的对象,这个类是夹包中以service结尾的

       2、得到开发者的类的对象

       3、通过得到的对象调用有功能的方法-----得到具体的功能,调用完毕

 

注意:整过过程不需要引入其他夹包,直接使用java的,jdk要高于1.6以上

    2:main方法起来之后程序要一直起着,写的测试的方法才能测通

以上是关于使用java 自带的webservice的主要内容,如果未能解决你的问题,请参考以下文章

使用java自带线程池

如何使用JDK自带jvisualvm监控工具

使用java 自带的webservice

使用java自带的定时任务ScheduledThreadPoolExecutor

如何使用java语言实现一个线程池,不使用jdk自带的线程池

Java自带线程池和队列详解