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文件)
最后客户端调用上面的代码 获取发布的方法进行编程