文档章节

WebService简单开发 apache-cxf-3.1.6环境配置

xpttxsok
 xpttxsok
发布于 2016/04/30 20:32
字数 629
阅读 1266
收藏 11

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1.下载地址:
    http://www.apache.org/dyn/closer.lua/cxf/3.1.6
    
2.修改系统环境变量path
    解压apache-cxf-3.1.6.zip文件夹
    将解压后的文件夹下的bin目录的路径拷贝
    修改系统环境变量为:D:\DevTools\Cxf\apache-cxf-3.1.6\bin
    打开Cmd命令行窗口执行wsdl2java   如果出现以下提示,证明配置成功
    
    C:\Users\xp>wsdl2java
    Missing argument: wsdlurl
    Usage : wsdl2java -fe|-front
    
    
3.开发webservice的服务端,有4步骤==================服务端
    1.导入jar包
	    asm-3.3.1.jar
            commons-logging-1.1.1.jar
            cxf-2.7.8.jar
            geronimo-servlet_3.0_spec-1.0.jar
            jetty-continuation-8.1.14.v20131031.jar
            jetty-http-8.1.14.v20131031.jar
            jetty-io-8.1.14.v20131031.jar
            jetty-security-8.1.14.v20131031.jar
            jetty-server-8.1.14.v20131031.jar
            jetty-util-8.1.14.v20131031.jar
            neethi-3.0.2.jar
            stax2-api-3.1.1.jar
            woodstox-core-asl-4.2.0.jar
            wsdl4j-1.6.3.jar
            xmlschema-core-2.0.3.jar
	  CXF:内置了jetty服务器



    2.开发interface
        package com.xp.cn;
        import javax.jws.WebService;
        
        /**
         * @author xp
         * @ClassName: WebServiceDemo
         * @Description: webService服务端
         * @date 2016年4月30日 下午8:27:44
         */
        @WebService
        public interface WebServiceDemo {
        	String sayHello(String str);
        }
        
        
        
    3.开发实现类
        /**
         * @author xp
         * @ClassName: WebServiceImpl
         * @Description: TODO
         * @date 2016年4月30日 下午8:39:22
         */
        @WebService(endpointInterface = "com.xp.cn.IWebServiceDemo", 
        			serviceName = "webServiceImpl")
        public class WebServiceImpl implements IWebServiceDemo {
        	@Override
        	public String sayHello(String name) {
        		return "你好" + name + new Date();
        	}
        }
        endpointInterface:指定接口的权限定名
        serviceName : 指定一个服务的名称
        
        
        
       4.发布Publish
               /**
         * @author xp
         * @Title: WebServicePublish.java
         * @Package com.xp.cn
         * @Description: TODO
         * @date 2016年4月30日 下午9:06:49
         * @version V1.0  
         */
        package com.xp.cn;
        
        import javax.xml.ws.Endpoint;
        
        /**
         * @author xp
         * @ClassName: WebServicePublish
         * @Description: TODO
         * @date 2016年4月30日 下午9:06:49
         *
         */
        public class WebServicePublish {
        	public static void main(String[] args) {
        		IWebServiceDemo demo = new WebServiceImpl();
        		//调用EndPoint发布服务
        		Endpoint.publish("http://127.0.0.1/XXX", demo);
        	}
        }
        
        测试是否成功
        在浏览器中输入:http://127.0.0.1/XXX出现下图说明发布成功
        可以点击链接进入wsdl,接下来记得章节会具体将到wsdl

        

4.编写WebService客户端======================================客户端
    调用cxf提供的wsdl2java工具,更具wsdl生成相应的java代码
    任何语言只要实现webservice,都需要提供,并暴露wsdl
    
    操作如下图:

1.图


2.图

找到wsdl2java所生成的类,其中有一个继承了Service,该类的实实例可以当成工厂来使用
调用Service子类实例的getXXXPort方法
/**
 * @author xp
 * @Title: ClientTest.java
 * @Package com.xp.cn.test
 * @Description: TODO
 * @date 2016年4月30日 下午10:37:23
 * @version V1.0  
 */
package com.xp.cn.test;

import com.xp.cn.IWebServiceDemo;
import com.xp.cn.WebServiceImpl;

/**
 * @author xp
 * @ClassName: ClientTest
 * @Description: 客户端代码
 * @date 2016年4月30日 下午10:37:23
 *
 */
public class ClientTest {
	
	public static void main(String[] args) {
		WebServiceImpl service = new WebServiceImpl();
		IWebServiceDemo webServiceImpl = service.getWebServiceImplPort();
		String sayHello = webServiceImpl.sayHello("xp");
		System.out.println(sayHello);
	}
}

控制台输出:你好xpSat Apr 30 22:48:19 CST 2016

这个时候不能改掉服务端的java虚拟机



© 著作权归作者所有

xpttxsok
粉丝 7
博文 187
码字总数 109478
作品 0
徐汇
程序员
私信 提问
加载中

评论(2)

xmut
xmut
可我看到的包是:“cxf-2.7.8.jar”
xpttxsok
xpttxsok 博主
79
webservice与springboot整合

1、pom.xml <!-- cxf支持 --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.6</version> </dependency> <dependency> <g......

嘿嘿嘿IT
05/21
69
0
spring+restful service

Spring整合CXF,发布RSETful 风格WebService 这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的。关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述...

游宵
2014/04/25
1K
1
根据wsdl 文件 用soapUi 快速创建webService 服务创建(图文并茂)

最近公司业务上使用webservice 频繁。由于之前都是自己搭建webservice 自己定义提供给别人服务,现在则相反需求都是根据人家提供的wsdl 文件来生成 我们平台需要提供的接口。刚开始不知道如何...

hlevel
2014/06/18
13.7K
0
apache CXF wsdl2java工具的使用

最近,由于要用到某公司提供的webservice实现的api接口,想到了用cxf的wsdl2java工具来生成客户端程序。(自己写是比较麻烦且费时,so偷懒一下、、) 使用步骤如下: 一、下载apache cxf的包...

Yao淡定
2014/02/21
30.1K
0
新手初识webservice-实践篇

理论背景:《新手初识webservice-理论篇》http://my.oschina.net/achi/blog/52766 编程语言:Java 必要技能:JavaWeb,MVC,Spring IOC 情景假设:你刚用Java做了个网上店铺,用了servlet,MVC...

路飞
2012/04/12
9K
5

没有更多内容

加载失败,请刷新页面

加载更多

阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效

今天我们要说的 AV1 可不是我们平时说的 .AVI 文件格式,它是由AOM(Alliance for Open Media,开放媒体联盟)制定的一个开源、免版权费的视频编码格式,可以解决H.265昂贵的专利费用和复杂的...

一肥仔
19分钟前
8
0
软件缺陷静态分析 CodeSonar 5.2 新版发布

对于使用C和C++构建安全关键软件的开发团队而言,CodeSonar一直是首选的静态分析解决方案。在近期发行的版本中,CodeSonar通过使用开放标准来扩展其语言覆盖范围,并增加了对Java、C#、Obj...

旋极科技
20分钟前
5
0
数据迁移

1. insert into values 或 insert into select批量插入时,都满足事务的原子性与一致性,但要注意insert into select的加锁问题。 2. replace into与insert into on duplicate key update都可...

qiang123
27分钟前
6
0
Linux装Windows系统后还不会激活?3招教你搞定

     相信大家已经发现荣耀MagicBook科技尝鲜版有多“香”了,不但可以轻松的将Linux系统装回Windows系统,还足足省下了300大洋!但是装回系统就万事大吉了吗?NoNoNo,我们还需要去激活...

梅丽莎好
29分钟前
6
0
Tomcat8源码分析-请求处理过程

上一篇:Tomcat8源码分析-启动流程-start方法 此篇主要讲Tomcat8从接收请求到处理请求的时序图画出来,并用文字描述一下主要流程 时序图 说明 文字描述流程之前先提示如下两点: 1.Acceptor...

特拉仔
31分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部