MyEclipse下一个XFire发展Webservice示例
最近的研究JAVA发展Webservice。网络发现几个热门选择AXIS、XFire、CFX(XFire下一代),打开前几天对这篇文章比较三种选择,他们已经有了一些概念。
样本,以确定自己的实践
在開始前,先介绍一些概念:
XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml )
MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的, XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在Web Services下的简单API,支持POJO和schema开发. XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory传输协议
一、环境配置:MyEclipse7.0
JDK1.6
二、创建Web Service Project
1)在MyEclipse中选择File—>New—>Other,选择Web Service Project

2)Project Name:WebServiceServer,Framework:XFire。其它选项默认

3)Next,这一步保持默认值
4)Project Library选择,选择XFire 1.2 Core Libraries

5)Finish,创建成功后看到的project文件夹例如以下:

6)完毕以上5步后,查看WebRoot/WEB-INF/web.xml
这里指明了当遇到/services/*请求时。将选用XFireConfigurableServlet来处理 
三、创建Web Service Code
1)通过File—>New—>Other—>Web Services—>Web Service wizard创建JAVA CODE

2)选择通过JAVA CLASS创建Web Service

3)创建HelloWebService.java。通过New创建com.service package,向导将为project自己主动创建相应的接口类与实现类

创建成功后查看WebServices/services.xml,发现配置文件多了下面内容:

4)改动HelloWebServiceImpl.java
package com.service;
//Generated by meteorWJ
public class HelloWebServiceImpl implements IHelloWebService {
public String example(String message) {
return getAuthor()+","+message;
}
private String getAuthor(){
return "meteorWJ";
}
}
四、部署并測试WebSericeServer
1)部署WebServiceServer

在部署向导中选择项目、server

2)启动server
3)測试WebService
MyEclipse提供了一个Web Service Explorer来測试Web Service
选择列表中的Launch SOAP Web Services Explorer
4)选择WSDL模式

5)在Explorer中选择WSDL Main,在右边的URL中输入
http://localhost:9090/WebServiceServer/services/HelloWebService?
WSDL。单击"Go"
当中9090是serverport号,services在之前的web.xml中指定
若在Status中显示成功打开WSDL文件则測试成功
五、创建WebServiceclient
经过以上几步,我们已经成功公布了一个WebService。如今须要创建一个client来调用该服务
1)创建Java Project:WebServiceClient
2)引入MyEclipse Libraries
右键WebServiceClient—>Build Path—>Add Libraries

选择XFire 1.2 HTTP Client Libraries

3)创建HelloWebService.java
在src文件夹下创建com.client.HelloWebService.java
package com.client;
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class HelloWebService {
public static void main(String[] args) throws Exception
{
Client client = new Client(new URL("http://localhost:9090/WebServiceServer/services/HelloWebService?wsdl"));
Object[] results = client.invoke("example", new Object[] {"hello"});
System.out.println((String) results[0]);
}
}
4)在确认server启动的情况下,执行HelloWebService.java
右键点击Run As>Java Application,在控制台中看到例如以下输出

这样做的例子,甚至完成。
MyEclipse下一个XFire发展Webservice示例的更多相关文章
- (转)Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- [xfire]使用xfire开发webservice的简单示例
目前项目上有用到xfire,所以临时看了些xfire的资料和示例,自己照着写了一个简单示例. xfire在2007年后已经停止更新,正式更名为apache cxf,也可以说是xfire2.0. xfi ...
- 利用MyEclipse开发一个调用webservice接口的程序
上一篇文章我们已经学习了如何使用Java 工具MyEclipse开发一个webservice接口,那么接口开发好了如何调用?接下来我们就来解决这个问题. 1:首先随便创建一个Java project选 ...
- 一个简单的webservice的demo(下)winform异步调用webservice
绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...
- Go将统治下一个10年?Go语言发展现状分析
“本文是国内Go语言大中华区首席布道师——许式伟,在QCon2015上海站上的分享.他预测Go语言10年内一定会超过C和java,并且统治这一个10年. Go语言语法及标准库变化 Go从1.0版本到现 ...
- Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建
我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...
- 使用RSA进行信息加密解密的WebService示例
使用RSA进行信息加密解密的WebService示例 按:以下文字涉及RSA对WebService传递的数据的加密解密,如果您已经熟知RSA或是有其它更好的方法请不要往下看以免浪费时间. WebSer ...
- 一个简单的Webservice的demo,简单模拟服务
前段时间一直在学习WCF,匆匆忙忙的把<WCF全面解析>和<WCF服务编程>看了一遍,好多东西都不是很懂,又听了一下WCF分布式开发的网络教程,算是马马虎虎的明白点了.回顾了一 ...
随机推荐
- DICOM医学图像处理:开源库mDCM与DCMTK的比較分析(一),JPEG无损压缩DCM图像
背景介绍: 近期项目需求,须要使用C#进行最新的UI和相关DICOM3.0医学图像模块的开发.在C++语言下,我使用的是应用最广泛的DCMTK开源库,在本专栏的起初阶段的大多数博文都是对DCMTK开源 ...
- C3P0具体的配置说明(com.mchange.v2.c3p0.ComboPooledDataSource)
C3P0它是一个开源JDBC连接池,它lib文件夹和Hibernate一起公布,包含了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对 ...
- vector和list删除元素
#include <iostream> #include <vector> #include <list> using namespace std; int mai ...
- 解决linux看温度是报错No sensors found问题
今日因为同事的linuxserver频繁死机,其型号和配置与我的一致,故此与其对照了一下server的内存使用率.CPU使用率.温度等信息. 在对照温度信息的时候发现无法使用sensors进行温度查看 ...
- cocospods 卡在 Analyzing dependencies
參考链接:http://www.cocoachina.com/bbs/read.php? tid=193398 关于pod stetup的详解在这里.对于初次使用CocoaPods的同学,即使你不使用 ...
- CSS3制作精美的iphone电话图标,不使用图片
<!DOCTYPE HTML> <html lang=zh-cn> <head> <meta charset=utf-8> <title>C ...
- MonkeyRunner源代码分析Android通信设备
正如前面<谁动了我的截图?--Monkeyrunner takeSnapshot方法源代码跟踪分析>所述,本文主要会尝试描写叙述android的自己主动化測试框架MonkeyRunner到 ...
- 2014 ACM湖南匹配10会议省赛
2014湖南游戏..... 1:牡丹江Regional有些球队没来的冲突 2:题目比較水 3:队友神勇发挥 最终在开局不利的情况下完毕了翻盘,拿到了第二名.....没有抓住机会顺势夺冠还是非常遗憾的. ...
- 基于AVR128单纯Modbus协议实施
Modbus通信协议Modicon公司1979在发展中,适用于工业现场总线协议控制.Modbus通信系统包含芯片的节点,并与组合物可编程控制的公共传输线,它的目的是收集和监视多个节点的数据.Modbu ...
- uva 10635 Prince and Princess(LCS成问题LIS问题O(nlogn))
标题效果:有两个长度p+1和q+1该序列.的各种元素的每个序列不是相互同.并1~n^2之间的整数.个序列的第一个元素均为1. 求出A和B的最长公共子序列长度. 分析:本题是LCS问题,可是p*q< ...