• webservice的服务端和客户端


    package webservice;
    
    import javax.jws.WebService;
    import javax.xml.ws.Endpoint;
    
    /**
     * Created by Lenovo on 2017/11/23.
     */
    @WebService
    public class Findservice {
        public String transferString(String word){
            return "tansfer"+word;
        }
    
        public static void main(String[] args) {
            Endpoint.publish("http://localhost:9001/Service/Findservice",new Findservice());
            System.out.println("publish success");
        }
    }

    jdk:1.7及以上

    类上添加注解@WebService,类中所有非静态方法都会被发布;

    静态方法和final方法不能被发布;

    方法上加@WebMentod(exclude=true)后,此方法不被发布;

    通过EndPoint(端点服务)发布一个WebService

    http://localhost:9001/Service/Findservice?wsdl:查看是否发布成功

    控制台的红色按钮一直进行中,说明是发布中,将红点结束及停止发布

    package webservice;
    
    import webservice.acceptMsg.*;
    import webservice.acceptMsg.Findservice;
    
    /**
     * Created by Lenovo on 2017/11/23.
     */
    public class AcceptTest {
        public static void main(String[] args) {
            Findservice fs = new FindserviceService().getFindservicePort();
            String s = fs.transferString("33");
            System.out.println(s);
        }
    }

    通过:

    格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址”

    示例:

    wsimport -s G:\workspace\webService\TheClient\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

    说明:

    1)"src目录"地址不可含空格

    2)“wsdl发布地址”不要漏了“?wsdl”

    生成客户端的java文件(记得加keep,否则生成的不是java文件是class文件)

    最后客户端调用上面的代码 获取发布的方法进行编程

  • 相关阅读:
    计算机基础知识
    看 C++ Primer 的58页, 讲拷贝时不能忽略 底层const这里的说的原因有点牵强, 这里给出自己的理解
    GitHub
    让 typora和word一样好用
    推荐几款好用的文本编辑器,让您的办公更方便快捷。
    UML类图几种关系的总结
    poll, ppoll
    信号之sigaction函数
    posix多线程有感--自旋锁
    Linux IPC
  • 原文地址:https://www.cnblogs.com/zyzg/p/7883842.html
Copyright © 2020-2023  润新知