• Maven搭建webService (一) 创建服务端---使用main函数发布服务


    今天和大家分享下 使用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

  • 相关阅读:
    Application.Current的使用
    .NET中资源文件的使用
    PMP模拟试题与解析(七)
    PMP模拟试题与解析(四)
    RMAN命令简介
    数据库备份和恢复概述
    ORA-14402: updating partition key column would cause a partition change
    RMAN概述
    PLS-00642: local collection types not allowed in SQL statements
    SFTP(Secure File Transfer Protocol)安全的文件传输协议的使用
  • 原文地址:https://www.cnblogs.com/zhonghuazhi/p/3436600.html
Copyright © 2020-2023  润新知