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文件)

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

原文地址:https://www.cnblogs.com/zyzg/p/7883842.html