java使用xfire搭建webservice服务的过程详解

前言

以前用的都是 apache 的cxf来搞webservice,今天做项目发现这个项目用的是 xfire,于是搭一个,写个demo用一下,在此记录一下过程。

搭建过程

本文使用的是maven形式的web工程。不知道如何搭建web工程的看上一篇博文。

引入xfire的依赖

<dependency>
  <groupId>org.codehaus.xfire</groupId>
  <artifactId>xfire-all</artifactId>
  <version>1.2.6</version>
</dependency>

配置web.xml

 <servlet>
  <servlet-name>XFireServlet</servlet-name>
  <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
  <init-param>
   <param-name>config</param-name>
   <param-value>/xfire/services.xml</param-value>
  </init-param>
 </servlet>
 <servlet-mapping>
  <servlet-name>XFireServlet</servlet-name>
  <url-pattern>/services/*</url-pattern>
 </servlet-mapping>

编写接口

public interface HelloService {
 public String helloService();
}

编写实现类

public class HelloServiceImpl implements HelloService {
 public String helloService() {
  return "1111";
 }
}

配置xfire的services的配置文件

该配置文件通过查看源码,默认在META-INF下的xfire的services.xml。我将目录放在了resource下,去掉了META-INF。可通过上方的web.xml配置文件的地址。上方有例子。

<?xml version="1.0" encoding="UTF-8"?>
<beans>
 <service xmlns="http://xfire.codehaus.org/config/1.0">
  <name>webService</name>
  <namespace>http://jichi.com/</namespace>
  <serviceClass>com.HelloService</serviceClass>
  <implementationClass>com.HelloServiceImpl</implementationClass>
 </service>
</beans>

编写一个访问webservice的方法

public static Object processWsMethod(String url,String methodName,Object ... params){
		Object result = null;
		try {
			if(!url.endsWith("?wsdl")){
				url += "?wsdl";
			}
			URL urls = new URL(url);
			Client client = new Client(urls);
			Object[] results = client.invoke(methodName,params);
			if(results!=null){
				if(results.length==1)
					result = results[0];
				else
					result = results;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}

编写测试方法

 @Test
 public void testMyWebService(){
  String aa = (String) WebServiceUtil.processWsMethod("http://localhost:8080/services/webService", "helloService");
  System.out.println(aa);
 }

结果

控制台打印111.搭建成功。

到此这篇关于使用xfire搭建webservice服务的过程详解的文章就介绍到这了,更多相关使用xfire搭建webservice服务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 基于JQuery的访问WebService的代码(可访问Java[Xfire])

    我仔细看看了看看几个人的例子,发现了问题.众所周知WebService是遵守SOAP协议的,为什么例子都是JSON格式的参数传递?net WebService兼容JSON格式,而Java的是标准WebService,不兼容JSON.看来net害了大家啊.于是我仔细了解了WSDL文件,做了个例子.下面只放关键代码. 复制代码 代码如下: $(function () { $("#btnWs").click(btnAjaxPost); }); function btnAjaxPost(eve

  • Java编程中使用XFire框架调用WebService程序接口

    JAVA调用webservice,当你刚开始接触的时候你会觉得它是一个恶梦,特别是没有一个统一的标准实现,比起.net的那些几步就可以完成的webservice实现,我们看着JAVA的实现真是伤心啊.但就算是伤心,我们也还是要完成的.JAVA也不乏比较好的实现,如xfire,jersey,CXF. 这里我们就一起来看一下xfire的实现. 1)首先,当然是要下包啦,这个普通人都知道.http://xfire.codehaus.org/Download可以到这里去下,可以下all也可以下distr

  • java使用xfire搭建webservice服务的过程详解

    前言 以前用的都是 apache 的cxf来搞webservice,今天做项目发现这个项目用的是 xfire,于是搭一个,写个demo用一下,在此记录一下过程. 搭建过程 本文使用的是maven形式的web工程.不知道如何搭建web工程的看上一篇博文. 引入xfire的依赖 <dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all</artifactId> &

  • Java 用Prometheus搭建实时监控系统过程详解

    上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念也会精炼出提及下.系列主要分为以下几块 Prometheus各个概念介绍和搭建,如何抓取数据(本次分享内容)

  • Dubbo+zookeeper搭配分布式服务的过程详解

    目录 分布式架构: Dubbo 是什么 Dubbo: 思想: 依赖: 分布式架构: 1.当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,前端应用能更快速的响应多变的市场需求. 2.此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键. Dubbo 是什么 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 Dubbo: 作为分布式架构比较后的框架,同时也是比较容易入手的框架,适合作为分布式的入手框架,下

  • Springcould多模块搭建Eureka服务器端口过程详解

    这篇文章主要介绍了Springcould多模块搭建Eureka服务器端口过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1创建一个普通父maven 在pom修改为因为spring could依赖spring boot所以首先在父maven <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star

  • 基于docker 搭建Prometheus+Grafana的过程详解

    一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作.Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus.现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控. Prometheus基本原理是通过HTT

  • Java Apollo环境搭建以及集成SpringBoot案例详解

    环境搭建 下载Quick Start安装包 从Github下载:checkout或下载apollo-build-scripts项目 手动打包Quick Start安装包 修改apollo-configservice, apollo-adminservice和apollo-portal的pom.xml,注释掉spring-boot-maven-plugin和maven-assembly-plugin 在根目录下执行mvn clean package -pl apollo-assembly -am

  • nginx搭建jsdelivr镜像站过程详解

    目录 创建 jsdelivr 镜像站 使用 jsdelivr 镜像站 ​最近 jsdelivr 可谓国内站长圈的头条常客,这不,又双叒叕(yòu shuāng ruò zhuó)打不开了. 如何解决这个问题?最简单的方法当然是使用别人建立的jsd镜像站,但是稳定性和可靠性就只能看镜像站长的心情了吧.自己动手丰衣足食,还是自己搞个镜像吧. 创建 jsdelivr 镜像站 首先,你需要有一台安装了 nginx 的服务器.推荐使用腾讯云轻量服务器的Matomo镜像,其中集成了最新稳定版 nginx.p

  • pm2与Verdaccio搭建私有npm库过程详解

    目录 前言 一般私有化的npm仓库有以下几种方法实现: 下面对各个方案进行一个粗浅的对比: 为什么选用Verdaccio? 安装 修改配置 配置文件 权限把控 部署 docker部署 pm2部署 管理npm仓库源 npm包发布 注册 登录 发布 删除 前言 最近开会的时候讨论到前端组件库搭建,因为需要多人协作,使用npm link等都比较麻烦,且当业务规模较大了之后,我们一般会有自己的脚手架,自己的全局工具包等等.其中可能包含了自身的业务代码不能公开,因此我们都需要一个私有化的npm仓库. 一般

  • koa TS ESLint搭建服务器重构版过程详解

    目录 初始化项目目录 安装项目运行所需要的软件包 修改package.json 从.env中加载环境变量 配置路径别名 用法 目录规范 编码风格规范 Eslint 初始化项目目录 yarn init -y 安装项目运行所需要的软件包 生产依赖 yarn add koa koa-router cross-env module-alias dotenv koa:搭建 Koa 服务的核心软件包. koa-router:Koa 路由软件包. koa-bodyparser:解析 POST 请求参数的软件包

  • Mysql 5.7.18安装方法及启动MySQL服务的过程详解

    MySQL 是一个非常强大的关系型数据库.但有些初学者在安装配置的时候,遇到种种的困难,在此就不说安装过程了,说一下配置过程.在官网下载的MySQL时候,有msi格式和zip格式.Msi直接运行安装即可,zip则解压在自己喜欢的目录地址即可.在安装这两种的时候,都需要配置才能用.以下介绍主要是msi格式默认的地址:C:\Program Files\ mysql-5.7.18-win32. 一.在安装或者解压后,需要配置环境变量,过程如下:我的电脑->属性->高级系统设置->高级->

随机推荐