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,如果出现下图就完成了!