简单搭建xfire开源软件的webservice开发及其步骤:

1、创建好一个web工程,引入xfire下的jar包,注意lib下的和xfire-all.jar 
2、定义接口;

  1. package com.iteye.webservice;
  2. public interface IHelloService {
  3. public String sayHelleWorld(String inputStr);
  4. }

3、接口实现;

  1. package com.iteye.webservice;
  2. public class HelloImpl implements IHelloService {
  3. @Override
  4. public String sayHelleWorld(String name) {
  5. System.out.println("hello worl! this is first webservice!!!");
  6. return "Hello "+name;
  7. }
  8. }

4、web.xml配置访问公开接口信息; 
  以下配置都是固定的配置信息:

  1. <servlet>
  2. <servlet-name>XFireServlet</servlet-name>
  3. <servlet-class>
  4. org.codehaus.xfire.transport.http.XFireConfigurableServlet
  5. </servlet-class>
  6. </servlet>
  7. <servlet-mapping>
  8. <servlet-name>XFireServlet</servlet-name>
  9. <url-pattern>/servlet/XFireServlet/*</url-pattern>
  10. </servlet-mapping>
  11. <servlet-mapping>
  12. <servlet-name>XFireServlet</servlet-name>
  13. <url-pattern>/services/*</url-pattern>
  14. </servlet-mapping>

5、新建META-INF,新建xfire,新建services.xml,并配置接口信息; 
  结构:/src/META-INF/xfire/services.xml 
  servics.xml内容:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <beans xmlns="http://xfire.codehaus.org/config/1.0">
  3. <service>
  4. <name>HelloService</name>
  5. <namespace>http://com/iteye/webservice/HelloService</namespace>
  6. <serviceClass>com.iteye.webservice.IHelloService</serviceClass>
  7. <implementationClass>com.iteye.webservice.HelloImpl</implementationClass>
  8. </service>
  9. </beans>

6、部署访问,生成 ?wsdl文件。 
  加载到tomcat中,启动浏览器地址栏输入:   
     http://localhost:8080/webservicedemo/services 
  返回?wsdl文件。 
7、模拟远程调用服务器端 
创建一个客户端项目(Java工程或者web工程),引入jar包,创建客户端代码: 
1、client客户端

  1. @Test
  2. public void testSayHelle() {
  3. try {
  4. Client client = new Client(new URL(
  5. "http://localhost:8090/webservicedemo/services/HelloService?wsdl"));
  6. Object[] objects = client.invoke("sayHelleWorld",
  7. new Object[] { "tom" });
  8. System.out.println(objects[0]);
  9. } catch (MalformedURLException e) {
  10. e.printStackTrace();
  11. } catch (Exception e) {
  12. e.printStackTrace();
  13. }

2、xfire代理客户端

  1. @Test
  2. public void testFactoryClient() throws MalformedURLException {
  3. // 创建服务工厂
  4. ObjectServiceFactory serviceFactory = new ObjectServiceFactory();
  5. // 通过服务工厂创建服务
  6. Service service = serviceFactory.create(IHelloService.class);
  7. // 创建代理工厂
  8. XFireProxyFactory fireProxyFactory = new XFireProxyFactory();
  9. // 通过代理工厂创建代理对象
  10. IHelloService hs = (IHelloService) ireProxyFactory.create(service,
  11. "http://localhost:8080/webservicedemo/services/HelloService");
  12. // 调用代理对象方法(即远程调用)
  13. hs.sayHelleWorld("tom");

xfire构建webservice项目步骤以及使用的更多相关文章

  1. myeclipse构建webservice项目

    新建server端 1 创建Web Service Project项目 2.项目名称:HelloWorldServer 3.创建接口类 4.发布 选择项目名称,选择从Java类中构建web servi ...

  2. eclipse通过maven构建web项目步骤说明

    1.  File -> New -> Other ,搜索maven,选择Maven Project,点击Next 2.这里不需要改继续Next 3.这里需要注意,需要选择maven-arc ...

  3. android之使用mvn构建创造项目步骤

    转自:http://blog.csdn.net/luhuajcdd/article/details/8132386 手动的创建自己的android application   1.用android t ...

  4. maven(3)------maven构建web项目详细步骤

    eclipse集成工具,轻松通过maven构建web项目步骤如下: 一, 右键,new -->project, 进入下一页面 二,选择"Maven Project", 点击下 ...

  5. Python Flask项目步骤

    构建flask项目步骤 步骤一:构建基础项目框架 创建manage.py文件 from flask import Flask app = Flask(__name__) ""&qu ...

  6. Jenkins中构建Testcomplete项目的方法介绍

    Jenkins的部署在上一篇随笔中已经和大家介绍了,下面我们介绍一下再Jenkins中构建testcomplete项目.我这里使用的是Testcomplete11,下面详细介绍一下构建步骤. 1.Je ...

  7. 【转】使用Eclipse构建Maven项目 (step-by-step)

    安装eclipse 及配置maven时,参考的资料!!! from:http://blog.csdn.net/qjyong/article/details/9098213 Maven这个个项目管理和构 ...

  8. 使用Eclipse构建Maven项目 (step-by-step)

    Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.本文仅对Eclipse中如何安装.配置和使用Maven进行了介绍.完全step by step. 如果觉得本文 ...

  9. Gradle用户指南(3)-构建Java项目

    1.构建基本的Java项目 为了使用 Java 插件,添加下面代码到构建文件: build.gradle apply plugin: 'java' 这个就是 定义一个 Java 项目的全部.它会将 J ...

随机推荐

  1. NOIP2000 乘积最大

    题二  乘积最大              (22分)    问题描述      今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏 ...

  2. 分享下VellLock源代码。。。VellLock正式开源

    一个月前就准备发布,一直没网,今天在我同学家蹭了个网,就早点发布吧:点我获取源代码 简介地址:http://vell001.clanmark.com/forum/forum.php?mod=viewt ...

  3. BeanPostProcessor 的使用,实现在对象初始化之前或者之后对对象进行操作

    import java.lang.reflect.Field; import org.springframework.beans.BeansException; import org.springfr ...

  4. Weka 入门2

    现在我们介绍使用Weka来对数据进行分类.对数据进行分类,我们必须先指定那一列作为预测类别.因为数据文件格式的问题,类别一般都是最后一列属性.我们可以使用setClassIndex来设置类别.然后我们 ...

  5. UVa11404 - Palindromic Subsequence(区间DP+打印路径)

    题目大意 给定一个字符串,要求你删除尽量少的字符,使得原字符串变为最长回文串,并把回文串输出,如果答案有多种,则输出字典序最小的 题解 有两种解法,第一种是把字符串逆序,然后求两个字符串的LCS,并记 ...

  6. Codeforces 295C Greg and Friends

    BFS+DP.dp[i][j][0]表示有i个50kg,j个100kg的人在左岸,dp[i][j][1]表示有i个50kg,j个100kg的人在右岸.用BFS求最短路的时候记录到达该状态的可能情况. ...

  7. iOS开发:创建真机调试证书

    关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架发布问题.今天就着重说一下关于针对于苹果 ...

  8. IOS 10适配https 包含对于一些http的一些兼容配置

    iOS10 从2017年1月1日起苹果提出所有新提交的App默认不允许使用NSAllowsArbitraryLoads来绕过ATS的限制,也就是说强制我们用HTTPS,如果不这样的话提交App可能会被 ...

  9. SpringMVC经典系列-13使用SpringMVC处理Ajax请求---【LinusZhu】

    注意:此文章是个人原创,希望有转载须要的朋友们标明文章出处,假设各位朋友们认为写的还好,就给个赞哈,你的鼓舞是我创作的最大动力,LinusZhu在此表示十分感谢,当然文章中如有纰漏,请联系linusz ...

  10. HDU 4465 - Candy(概率与数学优化)

    2012成都Regional的B题,花了一个小时推出了式子,但是搞了好久发现都控制不了精度,后来突然想到组合数可以用log优化,改了之后就AC了 比较水的概率题 #include <stdio. ...