文档章节

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

小沫
 小沫
发布于 2016/04/22 22:15
字数 630
阅读 204
收藏 1

今天和大家分享下 使用maven 搭建 webService 服务端:

首先需要在你的IDE中集成Maven。集成办法此处略。。。。。。。

 

1.创建一个web工程。

2.在pom文件中增加以下依赖:

<!-- spring core -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>2.5.5</version>
        </dependency>
        <!-- spring beans -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>2.5.5</version>
        </dependency>
        <!-- spring context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>2.5.5</version>
        </dependency>
        <!-- spring web -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>2.5.5</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.1</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>xfire</groupId>
            <artifactId>saaj-api</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>xfire</groupId>
            <artifactId>saaj-impl</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>2.2.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>2.2.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http-jetty</artifactId>
            <version>2.2.3</version>
        </dependency>

3.创建服务接口:

  包路径  net.cc.helloworld

   其中:

   1.  @webService  表示这是一个webService

   2.  @webParam    说明这个参数的名称

package net.cc.helloworld;
import javax.jws.WebParam;
import javax.jws.WebService;
/**
 * @author test
 * @create 2013-11-21下午09:48:01
 */
@WebService
public interface HelloWorld {
    String sayHello(@WebParam(name = "text") String text);
}

4.创建实现接口:

  包路径  net.cc.helloworld

  其中:

  1.  @webService(serviceName = “HelloWorld”)  应予实现的接口名称保持一致

package net.cc.helloworld;
import javax.jws.WebService;
/**
 * @author test
 * @create 2013-11-21下午09:50:31
 */
@WebService(serviceName = "HelloWorld")
public class HelloWorldImpl implements HelloWorld {
    @Override
    public String sayHello(String text) {
        // TODO Auto-generated method stub
        System.out.println(text);
        return "say " + text;
    }
}

5. 发布 服务

   可以使用以下方式发布服务:(此发布方式不是唯一的,后续章节会提供web版本发布方式

package net.cc.server;
import javax.xml.ws.Endpoint;
import net.cc.helloworld.HelloWorld;
import net.cc.helloworld.HelloWorldImpl;
/**
 * @author test
 * @create 2013-11-21下午09:55:49
 */
public class Servers {
    public Servers() {
        HelloWorld hello = new HelloWorldImpl();
        String address = "http://192.168.1.107:9000/HelloWorld";
        Endpoint.publish(address, hello);
    }
    public static void main(String[] args) {
        new Servers();
        System.out.println("server start ...");
    }
}

6. 启动成功后 会在控制台看到类似的语句,表示发布成功。

log4j:WARN No appenders could be found for logger (org.apache.cxf.bus.spring.BusApplicationContext).
log4j:WARN Please initialize the log4j system properly.
十一月 21, 2013 11:07:25 下午 org.apache.cxf.bus.spring.BusApplicationContext getConfigResources
INFO: No cxf.xml configuration file detected, relying on defaults.
十一月 21, 2013 11:07:26 下午 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
INFO: Creating Service {http://helloworld.cc.net/}HelloWorld from class net.cc.helloworld.HelloWorld
十一月 21, 2013 11:07:26 下午 org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be http://192.168.1.107:9000/HelloWorld
十一月 21, 2013 11:07:26 下午 org.mortbay.log.Slf4jLog info
INFO: Logging to org.slf4j.impl.JDK14LoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
十一月 21, 2013 11:07:26 下午 org.mortbay.log.Slf4jLog info
INFO: jetty-6.1.19
十一月 21, 2013 11:07:26 下午 org.mortbay.log.Slf4jLog info
INFO: Started SelectChannelConnector@0.0.0.0:9000
server start ...

此时 打开游览器 输入  http://IP:9000/HelloWorld?wsdl 即可看到发布的webService


© 著作权归作者所有

小沫
粉丝 11
博文 30
码字总数 6360
作品 0
西安
程序员
私信 提问
Spring Boot实践--集成WebServices基础开发

Spring Boot实践--集成Web Services基础开发 Spring Web Services(下简称ws)本质上是基于SpringBoot的项目,因此如果有对SpringBoot不太了解的同学,回头再来看比较合适。 ws分为server端与c...

spinachgit
2018/02/01
180
0
Maven搭建webService (二) 创建服务端---使用web方式发布服务

今天和大家分享 使用 web方式发布 webService 服务端、客户端 1.首先创建 一个web工程(增加Maven依赖) 2.增加Maven依赖包,如下: <!-- spring core --> <dependency> <groupId>org.sprin......

小沫
2016/04/22
192
0
基于SpringMVC、Maven以及Mybatis的环境搭建

搭建环境 1、IDE用的是Eclipse的J2EE版本,要保证装上了Maven,可以使用Eclipse的Install New Software来安装 然后点击Next,安装好后重启一次。 注意:使用最新版的Eclipse时,可以跳过此步...

如何让他和
2016/08/18
35
1
基于SpringMVC、Maven以及Mybatis的环境搭建

搭建环境 1、IDE用的是Eclipse的J2EE版本,要保证装上了Maven,可以使用Eclipse的Install New Software来安装 然后点击Next,安装好后重启一次。 注意:使用最新版的Eclipse时,可以跳过此步...

如何让他和
2016/09/08
84
1
WebService基础入门 CXF(WS + RS)

一、基本介绍 Web Services是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换的数据...

Leon丶l
2017/11/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RxJava进行单元测试的方式

@Test public void completeTask_retrievedTaskIsComplete() { // Given a new task in the persistent repository final Task newTask = new Task(TITLE, ""); ......

SuShine
36分钟前
5
0
正则表达式大全

检验手机号码 # 要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。import redef verify_mobile(): mob = input("请输入手机号码:") ret = re.match(r"1[358]\d{9}", m......

彩色泡泡糖
39分钟前
5
0
QT之border-image属性

一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持...

shzwork
40分钟前
6
0
Kubernetes Operator简易教程

1. 安装operator-sdk //安装 operator-sdk$ apt-get install operator-sdk.....$ operator-sdk versionoperator-sdk version: v0.7.0$ go versiongo version go1.11.4 darwin/amd64 2......

Robotcl_Blog
40分钟前
5
0
再谈DAG任务分解和Shuffle RDD

1、DagScheduler分析 DagScheduler功能主要是负责RDD的各个stage的分解和任务提交。Stage分解是从触发任务调度过程的finalStage开始倒推寻找父stage,如果父stage没有提交任务则循环提交缺失...

守望者之父
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部