xfire构建webservice项目步骤以及使用
简单搭建xfire开源软件的webservice开发及其步骤:
2、定义接口;
- package com.iteye.webservice;
- public interface IHelloService {
- public String sayHelleWorld(String inputStr);
- }
3、接口实现;
- package com.iteye.webservice;
- public class HelloImpl implements IHelloService {
- @Override
- public String sayHelleWorld(String name) {
- System.out.println("hello worl! this is first webservice!!!");
- return "Hello "+name;
- }
- }
4、web.xml配置访问公开接口信息;
以下配置都是固定的配置信息:
- <servlet>
- <servlet-name>XFireServlet</servlet-name>
- <servlet-class>
- org.codehaus.xfire.transport.http.XFireConfigurableServlet
- </servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>XFireServlet</servlet-name>
- <url-pattern>/servlet/XFireServlet/*</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>XFireServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
5、新建META-INF,新建xfire,新建services.xml,并配置接口信息;
结构:/src/META-INF/xfire/services.xml
servics.xml内容:
- <?xml version="1.0" encoding="UTF-8" ?>
- <beans xmlns="http://xfire.codehaus.org/config/1.0">
- <service>
- <name>HelloService</name>
- <namespace>http://com/iteye/webservice/HelloService</namespace>
- <serviceClass>com.iteye.webservice.IHelloService</serviceClass>
- <implementationClass>com.iteye.webservice.HelloImpl</implementationClass>
- </service>
- </beans>
6、部署访问,生成 ?wsdl文件。
加载到tomcat中,启动浏览器地址栏输入:
http://localhost:8080/webservicedemo/services
返回?wsdl文件。
7、模拟远程调用服务器端
创建一个客户端项目(Java工程或者web工程),引入jar包,创建客户端代码:
1、client客户端
- @Test
- public void testSayHelle() {
- try {
- Client client = new Client(new URL(
- "http://localhost:8090/webservicedemo/services/HelloService?wsdl"));
- Object[] objects = client.invoke("sayHelleWorld",
- new Object[] { "tom" });
- System.out.println(objects[0]);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
2、xfire代理客户端
- @Test
- public void testFactoryClient() throws MalformedURLException {
- // 创建服务工厂
- ObjectServiceFactory serviceFactory = new ObjectServiceFactory();
- // 通过服务工厂创建服务
- Service service = serviceFactory.create(IHelloService.class);
- // 创建代理工厂
- XFireProxyFactory fireProxyFactory = new XFireProxyFactory();
- // 通过代理工厂创建代理对象
- IHelloService hs = (IHelloService) ireProxyFactory.create(service,
- "http://localhost:8080/webservicedemo/services/HelloService");
- // 调用代理对象方法(即远程调用)
- hs.sayHelleWorld("tom");
xfire构建webservice项目步骤以及使用的更多相关文章
- myeclipse构建webservice项目
新建server端 1 创建Web Service Project项目 2.项目名称:HelloWorldServer 3.创建接口类 4.发布 选择项目名称,选择从Java类中构建web servi ...
- eclipse通过maven构建web项目步骤说明
1. File -> New -> Other ,搜索maven,选择Maven Project,点击Next 2.这里不需要改继续Next 3.这里需要注意,需要选择maven-arc ...
- android之使用mvn构建创造项目步骤
转自:http://blog.csdn.net/luhuajcdd/article/details/8132386 手动的创建自己的android application 1.用android t ...
- maven(3)------maven构建web项目详细步骤
eclipse集成工具,轻松通过maven构建web项目步骤如下: 一, 右键,new -->project, 进入下一页面 二,选择"Maven Project", 点击下 ...
- Python Flask项目步骤
构建flask项目步骤 步骤一:构建基础项目框架 创建manage.py文件 from flask import Flask app = Flask(__name__) ""&qu ...
- Jenkins中构建Testcomplete项目的方法介绍
Jenkins的部署在上一篇随笔中已经和大家介绍了,下面我们介绍一下再Jenkins中构建testcomplete项目.我这里使用的是Testcomplete11,下面详细介绍一下构建步骤. 1.Je ...
- 【转】使用Eclipse构建Maven项目 (step-by-step)
安装eclipse 及配置maven时,参考的资料!!! from:http://blog.csdn.net/qjyong/article/details/9098213 Maven这个个项目管理和构 ...
- 使用Eclipse构建Maven项目 (step-by-step)
Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.本文仅对Eclipse中如何安装.配置和使用Maven进行了介绍.完全step by step. 如果觉得本文 ...
- Gradle用户指南(3)-构建Java项目
1.构建基本的Java项目 为了使用 Java 插件,添加下面代码到构建文件: build.gradle apply plugin: 'java' 这个就是 定义一个 Java 项目的全部.它会将 J ...
随机推荐
- marvell笔试题(嵌入式软件)
有幸去Marvell参加面试,由于其要求WCDMA/GSM之类的,我还特地恶补了下这方面的知识.后来坐了2个小时的地铁后,到达了Marvell.公司还蛮不错的,里面环境都还可以.我投了这家公司也是同学 ...
- oracle 分区和分区索引
一.个人理解:建表时一般都会指定在一个表空间上,但是可能随着表空间扩大,查询越来越慢,分区表就是将一个表实际存在不同的表空间,oracle存储分为块,断,表空间.新建一个表,会给表分配指定大小的段,段 ...
- 我理解的RPC
这两天在学习公司一牛人写的RPC框架,一直都对RPC的概念很模糊,现在稍微清晰了些. rpc定义:RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一 ...
- 使用ndk standalone工具链来编译某个平台下的库
地址: http://www.kandroid.org/ndk/docs/STANDALONE-TOOLCHAIN.html It is now possible to use the toolcha ...
- rx tx
- 高效Linux用户需要了解的命令行技能
最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips. 将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具 ...
- 问题-[ACCESS2007]怎么显示MsysObjects
office 2007设置:单击左上角图标 -> Access选项 -> 当前数据库 -> 导航 -> 导航选项 -> 勾选显示隐藏对象,显示系统对象.数据库工具选项卡 ...
- C# Adomd Connection Analysis Service View Cube
首先需要先引用 C:\Program Files\Microsoft.NET\ADOMD.NET\100\Microsoft.AnalysisServices.AdomdClient.dll ...
- bzoj1095: [ZJOI2007]Hide 捉迷藏 线段树维护括号序列 点分治 链分治
这题真是十分难写啊 不管是点分治还是括号序列都有一堆细节.. 点分治:时空复杂度$O(n\log^2n)$,常数巨大 主要就是3个堆的初始状态 C堆:每个节点一个,为子树中的点到它父亲的距离的堆. B ...
- 团队项目·冰球模拟器——cmake 自动化构建系统的配置文件的编写
1 前言 考虑到命令行界面下编译程序并不如在 IDE 那么直观,再考虑到各位队友对 Linux 并不熟悉,如何大幅度地减轻整个项目的开发复杂度就是一个很重要的问题. 在 Linux 下有个很古老但很有 ...