目录
- 构建项目
- 创建服务端API
- 嵌入式HTTP服务器发布服务
- 创建客户端
[一]、构建项目
maven构建项目:
1 |
mvn archetype:create -DgroupId=com.micmiu.xfire.demo -DartifactId=xfire-embedded-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode= false
|
再执行:mvn eclipse:eclipse ,转化为eclipse项目并导入。
修改POM.xml 文件增加依赖lib:
2 |
< groupId >org.codehaus.xfire</ groupId >
|
3 |
< artifactId >xfire-java5</ artifactId >
|
4 |
< version >1.2.6</ version >
|
9 |
< groupId >org.mortbay.jetty</ groupId >
|
10 |
< artifactId >jetty</ artifactId >
|
11 |
< version >6.1.26</ version >
|
13 |
< scope >compile</ scope >
|
16 |
< groupId >javax.servlet</ groupId >
|
17 |
< artifactId >servlet-api</ artifactId >
|
18 |
< version >2.4</ version >
|
20 |
< scope >compile</ scope >
|
如果不是用maven构建项目,下面给出示例项目所有依赖的lib详细列表:
activation-1.1.jar
ant-1.5.jar
commons-attributes-api-2.1.jar
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-httpclient-3.0.jar
commons-logging-1.0.4.jar
jaxen-1.1-beta-9.jar
jdom-1.0.jar
jetty-6.1.26.jar
jetty-util-6.1.26.jar
junit-3.8.1.jar
mail-1.4.jar
qdox-1.5.jar
servlet-api-2.4.jar
servlet-api-2.5-20081211.jar
stax-api-1.0.1.jar
stax-utils-20040917.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.0.jar
xercesImpl-2.6.2.jar
xfire-aegis-1.2.6.jar
xfire-annotations-1.2.6.jar
xfire-core-1.2.6.jar
xfire-java5-1.2.6.jar
xfire-jsr181-api-1.0-M1.jar
xmlParserAPIs-2.6.2.jar
XmlSchema-1.1.jar
[二]、创建服务端API
编码服务接口:HelloEchoService.java
1 |
package com.micmiu.xfire.demo.embedded;
|
8 |
public interface HelloEchoService {
|
10 |
String echo(String echo);
|
接口的实现:HelloEchoServiceImpl.java
1 |
package com.micmiu.xfire.demo.embedded;
|
8 |
public class HelloEchoServiceImpl implements HelloEchoService {
|
10 |
public String echo(String echo) {
|
[三]、嵌入式HTTP服务器发布服务
服务发布代码:ServiceStarter.java
1 |
package com.micmiu.xfire.demo.embedded;
|
3 |
import org.codehaus.xfire.XFire;
|
4 |
import org.codehaus.xfire.XFireFactory;
|
5 |
import org.codehaus.xfire.aegis.AegisBindingProvider;
|
6 |
import org.codehaus.xfire.aegis.type.Configuration;
|
7 |
import org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry;
|
8 |
import org.codehaus.xfire.annotations.AnnotationServiceFactory;
|
9 |
import org.codehaus.xfire.server.http.XFireHttpServer;
|
10 |
import org.codehaus.xfire.service.Service;
|
11 |
import org.codehaus.xfire.service.binding.BindingProvider;
|
12 |
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
|
13 |
import org.codehaus.xfire.service.invoker.ObjectInvoker;
|
20 |
public class ServiceStarter {
|
22 |
XFireHttpServer server;
|
24 |
public void start() throws Exception {
|
26 |
XFire xfire = XFireFactory.newInstance().getXFire();
|
29 |
ObjectServiceFactory serviceFactory = new ObjectServiceFactory(
|
30 |
xfire.getTransportManager());
|
42 |
Service service = serviceFactory.create(HelloEchoService. class );
|
47 |
service.setProperty(ObjectInvoker.SERVICE_IMPL_CLASS,
|
48 |
HelloEchoServiceImpl. class );
|
51 |
xfire.getServiceRegistry().register(service);
|
54 |
System.out.println( " ----> XFire embedded HTTP Server start <---- " );
|
55 |
server = new XFireHttpServer();
|
60 |
public void stop() throws Exception {
|
67 |
public static void main(String[] args) {
|
69 |
System.out.println( " ----> 服务发布 。。。 <---- " );
|
70 |
ServiceStarter service = new ServiceStarter();
|
72 |
} catch (Exception e) {
|
运行日志:
----> 服务发布 。。。 <----
----> XFire embedded HTTP Server start <----
2012-07-30 23:26:00.502:INFO::Logging to STDERR via org.mortbay.log.StdErrLog
2012-07-30 23:26:00.549:INFO::jetty-6.1.26
2012-07-30 23:26:00.623:INFO::Started SocketConnector@0.0.0.0:8090
浏览器输入:http://localhost:8090 和 http://localhost:8090/HelloEchoService?wsdl 回车:
[四]、创建客户端
编写客户端测试代码:ClientTest.java
1 |
package com.micmiu.xfire.demo.embedded;
|
3 |
import org.codehaus.xfire.client.XFireProxyFactory;
|
4 |
import org.codehaus.xfire.service.Service;
|
5 |
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
|
12 |
public class ClientTest {
|
17 |
public static void main(String[] args) {
|
19 |
System.out.println( " ----> 初始客户端 <---- " );
|
21 |
ObjectServiceFactory serviceFactory = new ObjectServiceFactory();
|
22 |
Service serviceModel = serviceFactory
|
23 |
.create(HelloEchoService. class );
|
26 |
XFireProxyFactory proxyFactory = new XFireProxyFactory();
|
27 |
HelloEchoService client = (HelloEchoService) proxyFactory.create(
|
30 |
System.out.println(client.echo( "Hi,welcome to www.micmiu.com" ));
|
31 |
System.out.println( " ----> 客户端调用结束 <---- " );
|
32 |
} catch (Exception e) {
|
运行日志:
----> 初始客户端 <----
Hi,welcome to www.micmiu.com
----> 客户端调用结束 <----
到此示例基本结束。
分享到:
相关推荐
### xfire+webservice(服务器配置篇) #### 知识点概述 本文档主要介绍了如何在现有的Spring2.5+Hibernate3.2基础上添加XFire来实现WebService服务的配置过程。通过逐步指导的方式,帮助读者了解整个配置流程,并...
【标题】:“xfire发布webservice服务” 在Java开发中,XFire是一个早期流行的Web服务框架,用于创建和消费Web服务。XFire是Apache CXF的前身,它提供了简单、高性能的方式来实现基于SOAP的Web服务。这篇博客文章...
首先,我们将学习如何创建一个简单的服务接口和服务实现,然后通过XFire将其发布为SOAP Web服务。接着,我们将了解如何创建一个客户端,使用XFire提供的客户端API来调用这个Web服务。 **发布WebService服务器端** ...
在本文中,我们将探讨如何在MyEclipse环境下利用Xfire框架发布Web服务,并进行客户端调用。Xfire是一个轻量级的Java Web服务框架,它简化了服务的创建和部署过程。 首先,确保你的开发环境准备就绪。安装Java ...
XFire是一款开源的游戏服务器中间件,它为游戏...综上所述,XFire服务器端的JAR文件是构建游戏服务器的基础,它们提供了核心的服务和功能,而开发者则可以通过理解和利用这些组件,构建出满足特定需求的多人在线游戏。
在描述中提到,开发者之前尝试使用CXF发布Web服务,但由于与IBM Websphere应用服务器存在兼容性问题,因此转向了Xfire。这可能是因为Xfire在当时的某些环境下更易于配置和集成,或者其API与Websphere的交互更为顺畅...
通过上述步骤,我们可以清晰地看到如何利用XFire框架在服务器端发布一个简单的WebService,以及如何在客户端调用该服务。整个过程涉及项目创建、服务类编写、服务配置、以及客户端的调用,每个环节都是构建一个功能...
本篇文章将深入探讨如何利用XFire与Spring的组合来发布Web服务,并提供具体的实例和所需资源。 首先,XFire(现在称为Apache CXF的一部分)是一个轻量级的Web服务框架,它支持SOAP、RESTful等多种Web服务协议,并且...
XFire Webservice 服务器端是一个专门用于游戏社区的网络服务接口,它允许开发者与XFire游戏客户端进行交互,实现各种功能,如用户登录、好友系统、游戏统计等。在这个压缩包文件中,"WSA"可能代表Web Service ...
嵌入式Xfire(Webservice)是一个用于构建和消费Web服务的开源框架,它在Java环境中提供了高效且灵活的解决方案。Xfire集成了多种技术,如Aegis绑定、SOAP处理和WSDL支持,使得开发人员能够轻松地创建、部署和使用...
然后,你需要创建一个启动类,用来启动Xfire的HTTP服务器,让Web服务可以被外界访问。以下是一个简单的启动类示例: ```java import org.codehaus.xfire.XFire; import org.codehaus.xfire.service.Service; import...
标题中的“xfire+spring+maven构建webservice服务器和客户端”揭示了本教程将围绕三个主要技术进行讨论:XFire、Spring和Maven。这三者都是Java开发中不可或缺的工具,尤其在构建Web服务方面。 XFire是早期的一个...
标题中的“xfire初体验,webServices服务器配置”揭示了本次知识分享主要涉及两个关键概念:Xfire和Web服务服务器的配置。Xfire是一款已经不再更新的即时通讯软件,但在过去,它常用于游戏社区,允许玩家在多款游戏中...
通过这样的整合,你可以利用Spring的管理能力、Hibernate的数据持久化功能和XFire的Web服务发布能力,构建出一个高效、灵活的Web服务服务器。这种集成方法对于需要跨系统交互或者希望通过Web服务提供业务功能的企业...
在本主题中,我们将深入探讨如何使用xFire来发布Web服务以及如何调用远程服务。 首先,让我们了解xFire的核心功能。xFire是一个基于Java的框架,它提供了对SOAP(Simple Object Access Protocol)协议的强大支持,...
5. **发布服务**:通过调用Xfire提供的API或启动配置文件,将你的服务发布到一个HTTP服务器上,使得其他应用程序可以通过网络访问。 6. **测试与调用**:发布服务后,可以使用Xfire的测试工具,或者其他的SOAP...
在本文中,我们将深入探讨Java XFire在构建Web服务服务器端的角色,以及如何利用它进行开发。 首先,让我们理解Web服务的基本概念。Web服务是一种基于互联网的软件应用,它提供了一种标准化的方式,使不同系统之间...
通过XFire,我们可以快速发布一个文件上传服务,这个服务接受文件并存储到服务器上。 在实战中,首先我们需要在XFire中创建一个文件上传服务。这通常涉及到以下几个步骤: 1. 定义服务接口:使用Java注解定义上传...
【Xfire整合Spring发布Web Services】是将Xfire——一个基于Java的Web服务实现框架,与Spring——一个广泛使用的轻量级应用框架相结合,用于构建和发布Web服务的过程。这个整合使得开发人员能够利用Spring的强大功能...