设为首页 收藏本站
查看: 1031|回复: 0

[经验分享] Maven搭建webService (一) 创建服务端---使用main函数发布服务

[复制链接]

尚未签到

发表于 2017-2-28 11:07:56 | 显示全部楼层 |阅读模式
  今天和大家分享下 使用maven 搭建 webService 服务端:
  首先需要在你的IDE中集成Maven。集成办法此处略。。。。。。。
  1.创建一个web工程。
  2.在pom文件中增加以下依赖:



1         <!-- spring core -->
2         <dependency>
3             <groupId>org.springframework</groupId>
4             <artifactId>spring-core</artifactId>
5             <version>2.5.5</version>
6         </dependency>
7
8         <!-- spring beans -->
9         <dependency>
10             <groupId>org.springframework</groupId>
11             <artifactId>spring-beans</artifactId>
12             <version>2.5.5</version>
13         </dependency>
14
15         <!-- spring context -->
16         <dependency>
17             <groupId>org.springframework</groupId>
18             <artifactId>spring-context</artifactId>
19             <version>2.5.5</version>
20         </dependency>
21
22         <!-- spring web -->
23         <dependency>
24             <groupId>org.springframework</groupId>
25             <artifactId>spring-web</artifactId>
26             <version>2.5.5</version>
27         </dependency>
28
29         <dependency>
30             <groupId>commons-logging</groupId>
31             <artifactId>commons-logging</artifactId>
32             <version>1.1</version>
33         </dependency>
34
35         <dependency>
36             <groupId>javax.xml</groupId>
37             <artifactId>jaxb-api</artifactId>
38             <version>2.1</version>
39             <type>pom</type>
40         </dependency>
41
42         <dependency>
43             <groupId>javax.xml</groupId>
44             <artifactId>jaxb-impl</artifactId>
45             <version>2.1</version>
46         </dependency>
47
48         <dependency>
49             <groupId>xfire</groupId>
50             <artifactId>saaj-api</artifactId>
51             <version>1.3</version>
52         </dependency>
53
54         <dependency>
55             <groupId>xfire</groupId>
56             <artifactId>saaj-impl</artifactId>
57             <version>1.3</version>
58         </dependency>
59
60         <dependency>
61             <groupId>wsdl4j</groupId>
62             <artifactId>wsdl4j</artifactId>
63             <version>1.6.2</version>
64         </dependency>
65
66         <dependency>
67             <groupId>org.apache.cxf</groupId>
68             <artifactId>cxf-rt-frontend-jaxws</artifactId>
69             <version>2.2.3</version>
70         </dependency>
71         <dependency>
72             <groupId>org.apache.cxf</groupId>
73             <artifactId>cxf-rt-transports-http</artifactId>
74             <version>2.2.3</version>
75         </dependency>
76         <dependency>
77             <groupId>org.apache.cxf</groupId>
78             <artifactId>cxf-rt-transports-http-jetty</artifactId>
79             <version>2.2.3</version>
80         </dependency>
  3.创建服务接口:
  包路径  net.cc.helloworld
     其中:
     1.  @webService  表示这是一个webService
     2.  @webParam    说明这个参数的名称



1 package net.cc.helloworld;
2
3 import javax.jws.WebParam;
4 import javax.jws.WebService;
5
6 /**
7  * @author test
8  * @create 2013-11-21下午09:48:01
9  */
10 @WebService
11 public interface HelloWorld {
12
13     String sayHello(@WebParam(name = "text") String text);
14
15 }
  4.创建实现接口:
  包路径  net.cc.helloworld
    其中:
    1.  @webService(serviceName = “HelloWorld”)  应予实现的接口名称保持一致



1 package net.cc.helloworld;
2
3 import javax.jws.WebService;
4
5 /**
6  * @author test
7  * @create 2013-11-21下午09:50:31
8  */
9 @WebService(serviceName = "HelloWorld")
10 public class HelloWorldImpl implements HelloWorld {
11
12     @Override
13     public String sayHello(String text) {
14         // TODO Auto-generated method stub
15         System.out.println(text);
16         return "say " + text;
17     }
18
19 }
  5. 发布 服务
  可以使用以下方式发布服务:(此发布方式不是唯一的,后续章节会提供web版本发布方式



1 package net.cc.server;
2
3 import javax.xml.ws.Endpoint;
4
5 import net.cc.helloworld.HelloWorld;
6 import net.cc.helloworld.HelloWorldImpl;
7
8 /**
9  * @author test
10  * @create 2013-11-21下午09:55:49
11  */
12 public class Servers {
13
14     public Servers() {
15
16         HelloWorld hello = new HelloWorldImpl();
17         String address = "http://192.168.1.107:9000/HelloWorld";
18         Endpoint.publish(address, hello);
19     }
20
21     public static void main(String[] args) {
22
23         new Servers();
24         System.out.println("server start ...");
25     }
26 }
  6. 启动成功后 会在控制台看到类似的语句,表示发布成功。



1 log4j:WARN No appenders could be found for logger (org.apache.cxf.bus.spring.BusApplicationContext).
2 log4j:WARN Please initialize the log4j system properly.
3 十一月 21, 2013 11:07:25 下午 org.apache.cxf.bus.spring.BusApplicationContext getConfigResources
4 INFO: No cxf.xml configuration file detected, relying on defaults.
5 十一月 21, 2013 11:07:26 下午 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
6 INFO: Creating Service {http://helloworld.cc.net/}HelloWorld from class net.cc.helloworld.HelloWorld
7 十一月 21, 2013 11:07:26 下午 org.apache.cxf.endpoint.ServerImpl initDestination
8 INFO: Setting the server's publish address to be http://192.168.1.107:9000/HelloWorld
9 十一月 21, 2013 11:07:26 下午 org.mortbay.log.Slf4jLog info
10 INFO: Logging to org.slf4j.impl.JDK14LoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
11 十一月 21, 2013 11:07:26 下午 org.mortbay.log.Slf4jLog info
12 INFO: jetty-6.1.19
13 十一月 21, 2013 11:07:26 下午 org.mortbay.log.Slf4jLog info
14 INFO: Started SelectChannelConnector@0.0.0.0:9000
15 server start ...
  此时 打开游览器 输入  http://192.168.1.107:9000/HelloWorld?wsdl 即可看到发布的webService
DSC0000.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348361-1-1.html 上篇帖子: Sonatype Nexus高级配置 下篇帖子: [Mahout] 完整部署过程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表