在Eclipse集成开发平台中利用XFire框架发布Webservice

一、正所谓“工欲善其事,必先利其器”,下面就先来配置运行环境吧!

  1. 下载xfire-distribution-1.2.6.zip压缩包到本地,解压后将xfire-all-1.2.6.jar和lib文件夹里面的jar放到同一个文件夹xfirejars中。
  2. 下载安装tomcat并关联的Eclipse工程中,这个就认为大家都懂,不多说了。
  3. 打开eclipse,点击File->New->Dynamic Web Project,新建工程FirstWebService

  4. 鼠标在FirstWebService上右键设置BuildPath->Configure Build Path设置编译文件classes的存储位置,具体存储位置FirstWebService/WebContent/WEB-INF/classes。

  5. web.xml文件配置,具体代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>FirstWebService</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
   <servlet>
 <servlet-name>calculateServlet</servlet-name>
 <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>calculateServlet</servlet-name>
 <url-pattern>/services/*</url-pattern>
 </servlet-mapping>
</web-app>

主要是设置<servlet></servlet>标签中和<servlet-mapping></servlet-mapping>中的代码。

6.把前面我们下载的xfire压缩包中复制出来的jar包文件全部复制到FirstWebService/WebContent/WEB-INF/lib文件夹中。

7.接着在FirstWebService/Java Resources/src文件夹中建立包com.calculation.services,其中建立接口类Calculation.java
和接口实现类CalculationImpl.java。

具体代码如下:

Calculation.java

package com.calculation.services;
public interface Calculation {
 public int add(int a,int b);
 public int sub(int a,int b);
 public int div(int a,int b);
 public int puls(int a,int b);
}

CalculationImpl.java

package com.calculation.services;
public class CalculationImpl implements Calculation {
 public int add(int a ,int b){
  return a+b;
 }
 
 public int sub(int a,int b){
  return a*b;
 }
 
 public int puls(int a,int b){
  return a-b;
 }
 
 public int div(int a,int b) {
  return a/b;
 }
}

8.配置services.xml文件。

在FirstWebService/WebContent/META-INF文件夹下建立xfire文件,再在xfire中建立services.xml文件。最后将整个META-INF文件全部剪切到WEB-INF下的classes文件夹中。

services.xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
  <service>
    <name>Calculation</name>  
    <namespace>http://com.calculation.services.Calculation</namespace>  
    <serviceClass>com.calculation.services.Calculation</serviceClass>  
    <implementationClass>com.calculation.services.CalculationImpl</implementationClass>
  </service>
</beans>

至此,服务端的配置已经完成,具体的文件图结构如下:

然后点击项目,Run As-》Run On Server

最后在自己的浏览器中输入http://localhost:8080/FirstWebService/services/Calculation?wsdl如果有下面的效果怎么服务端OK!

二、客户端编写,建立FirstWebService/Java Resources/src/com.calculation.services.client

客户端CalculationClient.java代码:

package com.calculation.services.client;

import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import com.calculation.services.*;
public class CalculationClient {
 public  static Calculation calc;
 public  CalculationClient(){};
 
 public static  Calculation getCalculate(String url) throws MalformedURLException {
  if(calc==null) {
   Service srvcModel = new ObjectServiceFactory().create(Calculation.class);
            //创建XFire对象
            XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
            //调用Web服务
            calc = (Calculation) factory.create(srvcModel, url);
  }
  return calc;
 }
 
 public static void main(String[] args) throws MalformedURLException {
    Calculation service = CalculationClient.getCalculate("http://localhost:8080/FirstWebService/services/Calculation");
    int result=service.add(2, 3);
    int result2=service.div(10, 2);
    System.out.println(result);
    System.out.println(result2);
 }
 
 
 
}

运行程序,总体完成!!!!

时间: 2024-11-02 17:16:38

在Eclipse集成开发平台中利用XFire框架发布Webservice的相关文章

5.Eclipse集成开发环境

5.Eclipse集成开发环境 Eclipse集成开发环境不仅可以编译裸机工程,还可以调试整个裸机工程,这样当程序异常的时候,可以更加有效的进行修改.接下来就是搭建整个eclipse集成环境:这个调试环境的框架如下图1-1: 图1-1 从上面的框架图看到,要实现eclipse在线调试裸机程序,需要安装的软件是eclipse+CDT.JLink驱动.GDB调试软件,需要连接的硬件是JLink连接pc机和开发板. 注意:为了避免干扰,最好对NandFlash进行格式化:图1-2: 然后选择y: 图1

让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改

第3部分 软件研发工作总结 VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改 [文章摘要] Pclint是一种C/C++软件代码静态分析工具.它是一种更加严格的编译器,能够发现普通编译器所不能发现的代码中的很多问题,因此被广泛应用于软件开发项目中. 本文介绍了如何在VC++集成开发环境中配置Linux下的Pclint工程,给出了C语言中pclint规则A检查的常见错误,并描述了对应的修改办法. [关键词] VC++  Pclint  配置  操作  修改 1. 前言 P

unity3d与eclipse集成开发android应用

原地址:http://blog.csdn.net/armoonwei/article/details/7032537 Unity as a Library Once you have eclipse installed and up to date you have to follow a few steps to get your unity project set up as a library in eclipse. 创建一个空的unity3d工程,然后使用android平台进行编译. 切

[国嵌笔记][019][Eclipse集成开发环境]

Eclipse集成开发环境的作用 可以编译程序,也可以对程序进行在线调试 集成开发环境 1.JLink连接开发板的JTAG 2.JLink连接PC的USB 3.eclipse软件 4.gdb server软件 5.JLink软件 安装步骤 1.格式化nand flash 2.连接JLink,并设置从nand flash启动 3.安装gdb server软件 1.tar zxvf linux-gdb-7.5.tar.gz 2.执行./build-all,编译gdb server软件,然后安装软件

最新工控\建模仿真\组态\监控集成开发平台源码解决方案2018

最新工控\建模仿真\组态\监控集成开发平台源码解决方案2018 -- ---所有VC++源码100%提供! 使用E-Form++可视化企业版本,构建属于自己的专业工控.建模仿真. 监控组态.培训仿真平台! -- 100%源码 (全部采用Visual C++/MFC编写)彻底开放组态平台!  下载E-Form++全功能免费评估版本 -- 下载地址 (2018年全新!)  下载此组态解决方案-- 下载地址1 下载地址2 (2018年全新!) HMI硬件采集数据接口代码及说明: 下载硬件数据接口dll

度量快速开发平台中附件字段介绍

度量快速开发平台中,字段可以设置为附件类型,设置为附件类型的字段,在上传了数据后,字段中保存的数据格式是这样:   32位附件码|附件1名称  32位附件码|附件1名称\附件2名称   32位附件码|附件1名称\附件2名称\附件3名称 上面格式可以看到一个 附件 字段设置后,可以上传多个附件.根据存储数据格式情况,我们建议,附件这个字段长度尽量设置长,比如长度为1000或者2000,这样上传几个附件也不会提示字符超长. 度量快速开发平台中,附件字段是加密上传到服务器端的,数据库中实际上只记录了服

快速开发平台中系统人员注册定岗管理下沉思路

度量快速开发平台中,系统维护有人员注册功能.该功能一般是开放给系统管理员来执行.如果客户有这样的需求,比如一个单位比较大,下面有不同的机构或者部门.想要实现下面各机构或者各部门自己的人增加注册自己机构或者部门的人,那如何来实现好呢?   实际上,度量快速开发平台中的系统维护功能都是可以通过构建来实现.我们可以构建一个人员注册窗体,根据登录人所在的部门,自动列出本机构或者本部门的组织机构,包含岗位,然后注册人员的时候,直接定岗.做好的窗体,建立菜单,授权给指定的人.只要有这个菜单功能的人,就能给自

当用Myeclipse8.6集成开发环境,进行JavaWeb项目开发的时候,用集成开发环境中的run Server进行程序调试时,出现如下错误解决方案

当用Myeclipse8.6集成开发环境,进行JavaWeb项目开发的时候,用集成开发环境中的run Server进行程序调试时,出现如下错误解决方案: 'Starting Tomcat v6.0 Server at localhost'has encountered a problem 错误提示: Several ports(8080,8009)required by Tomcatv6.0 Server at localhost are already in use.The server ma

cxf利用接口规范写法发布webservice

1 package cn.itcast.cxf; 2 3 import javax.jws.WebService; 4 5 @WebService 6 public interface IHelloService { 7 public String sayHello(String name); 8 } 1 package cn.itcast.cxf; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 6 7 imp