1 package org.jimmy.webservice20171116;
2
3 import javax.jws.WebService;
4
5 @WebService
6 public interface HelloWorld {
7 public String sayHi(String name);
8 }
1 package org.jimmy.webservice20171116;
2
3 import java.util.Date;
4 import javax.jws.WebService;
5
6 @WebService(endpointInterface="org.jimmy.webservice20171116.HelloWorld",serviceName="readerService")
7 public class HelloWorldImpl implements HelloWorld {
8
9 @Override
10 public String sayHi(String name) {
11 return name + ",您好!现在时间是:" + new Date();
12 }
13
14 }
1 package org.jimmy.webservice20171116;
2
3 import javax.xml.ws.Endpoint;
4
5 public class ServiceMain {
6
7 public static void main(String[] args) {
8
9 HelloWorld hw = new HelloWorldImpl();
10 // Endpoint.publish("http://localhost:33333/readerService", hw);
11 Endpoint.publish("http://172.31.7.212:33333/readerService", hw);
12 /*IReaderService readerService = new ReaderService();
13 Endpoint.publish("http://localhost:33333/readerService", readerService);*/
14 System.out.println("Web Service暴露成功!");
15
16 }
17
18 }
先运行ServiceMain,如果控制台出现"Web Service暴露成功"就好了.
浏览器输入:
http://172.31.7.212:33333/readerService?wsdl
如果出现下面这张图就是成功了!
注意:ServiceMain的第10行,如果写成localhost,本机可用,同事的机器貌似用ip地址也不能用(结果,你们可以自己测试一下).
注意:如果publish那里的第一个参数就是url,必须要加上http://,端口号也是必须的(貌似有默认端口),要不然可能会报错!
直接用ip地址是自己和内网的都能用的.
远程或本地调用的测试代码(注意,其他项目调用需要用之前项目的Jar包或引用之前的项目,具体怎么引用,百度说的很清楚,不清楚的话只能你们自己想办法了,我只是菜鸟):
1 package org.jimmy.webservice20171116; 2 3 import java.net.URL; 4 5 import javax.xml.namespace.QName; 6 import javax.xml.ws.Service; 7 8 public class Test { 9 10 public static void main(String[] args) { 11 try{ 12 URL wsdlUrl = new URL("http://172.31.7.212:33333/readerService"); 13 Service s = Service.create(wsdlUrl, new QName("http://webservice20171116.jimmy.org/", "readerService")); 14 HelloWorld hs = s.getPort(new QName("http://webservice20171116.jimmy.org/", "HelloWorldImplPort"), HelloWorld.class); 15 String result = hs.sayHi("Dawn"); 16 System.out.println(result); 17 }catch(Exception e){ 18 e.printStackTrace(); 19 } 20 21 } 22 23 }

最后运行Test,如果出现下图就完成了!
