zoukankan      html  css  js  c++  java
  • webservice入门(2)开发ws程序

    因为webservice分为服务端和客户端,所以如果要学习的话,那么肯定是包括这两部分的了。

    1.开发服务端的webservice:

      使用jdk开发ws其实很简单,只是需要一些注解:最重要的是

    @WebService,@WebMethod

    这两个注解,分类在类和方法上面注解。注明这是一个ws接口,然后在实现就可以了,下面是例子:

    /**
     * SEI 接口
     * @author Hotusm
     *
     */
    @WebService
    public interface HelloWs {
        
        @WebMethod
        public String sayHello(String name);
    }

    我们声明了一个接口,然后在类上和方法上面都使用注解标记,然后我们在实现这个接口:

    @WebService
    public class HelloWsImpl implements HelloWs{
    
        @Override
        public String sayHello(String name) {
            System.out.println("SEI IMPL");
            return "hello "+name;
        }
    
    }

    这样一个ws的helloword就写好了,下面就剩下怎么发布ws了,我们要使用到jdk提供给我们方法了:

        Endpoint publish = Endpoint.publish("http://127.0.0.1:9999/WebService/hellows", new HelloWsImpl());//这里我们使用的是实现的那个方法。

    注意,如果是java app的话,建议不要使用127.0.0.1而应该获取到本机的真是端口号,这样别人就能够调用你的ws了。还有就是这个端口不能够被占用了。不然是会报错的:,,最后发布完以后,我们可以通过流浪器打开地址http://127.0.0.1:9999/WebService/hellows?wsdl,如果看到xml文件,那么就证明发布成功啦。

    2.开发客户端的ws

    开发客户端代码会分为两部分:

    1.获取wsdl文件,这个获取除了网上的那个地址,也有可能是第三方发给你的一个wsdl文件
    2.使用jdk提供的工具生成客户端主体代码。
    下面来示例一下:
      1.第一步一般只是准备工作,没什么好讲的只是讲一下怎么生成客户端代码。我们使用到了java的一个工具,在jdk的bin目录里面有一个,我们可以使用这个工具来帮助我们生成代码。

      ①。使用cmd,切换到存放生成代码的地方(这里需要注意下,生成的包名和服务器中的包名是一致的,所以别放在服务器的src下面,不然就覆盖了)。:

    D:ww>wsimport -keep http://127.12.0.1:9999/WebService/hellows?wsdl

    这样,在d盘的ww文件夹下面就生成了这样的一个结构的包和一些类。下面怎么使用这些东西呢?

    HelloWsImplService factory=new HelloWsImplService();
    //一般情况下,你只需要看哪一个类继承了service,那么这个类就是factory了:public class HelloWsImplService extends Service {...} HelloWs helloWsImplPort
    = factory.getHelloWsImplPort();//然后通过工厂获取到操作类,就是真正有意义的那个类
    helloWsImplPort.sayHello(
    "hotusm");

    如果是一个储存在磁盘上的wsdl,我们需要这样来生成:

    wsimport -keep D:jeesiteWebServiceTestsrcweather.wsdl

    其他的操作都是一样的。

     CXF开发:cxf开发和jdk的开发是差不多的。差别是加上cxf的架包。

  • 相关阅读:
    jmeter beanshell 从文件中获取随机参数
    shell 备份mysql
    Centos7 搭建wordpress
    jmeter分布式测试
    centos 环境搭建jenkins服务
    VMVare 虚拟机使用桥接模式
    Gradle 打可执行jar包
    appium 报错
    corda
    android构建过程
  • 原文地址:https://www.cnblogs.com/zr520/p/5119795.html
Copyright © 2011-2022 走看看