本Blog所有内容不得随意转载,版权属于作者所有。如需转载请注明出处。
第一次亲手写博客,希望大家多踩,多拍砖。
最近要做一个WebService的项目,在网上查了查资料,决定使用xfire框架,看了几天书,打算在这里写出一个例子,内容包括基础类型和对象类型。(算是一个总结,同时也算给那些还不太懂的新手一个例子)
注:本人只是菜鸟,该博客内容也是写给那些需要他们的新手看。
今天打算写最基础的应用,主要是基本类型,包括int,String 等基本类型。
1. 下载xfire-all.jar和其依赖包,放到classpath下。
2. 新建一个工程HelloWebService(我用的是MyEclipse6.0+Tomcat5.5,注意尽量不要用MyEclipse自带的“创建WebService工程”功能)。
3. 创建一个Interface ,名称是IHelloService,其内容如下:
package com.lawrenst.service;
public interface IHelloService{
public String sayHello(String name);
}
并创建其实现类,HelloServiceImpl,内容如下,
package com.lawrenst.service;
public class HelloServiceImplimplements IHelloService{
public String sayHello(String name) {
return "Hello "+name;
}
}
由于代码比较简单,就不写注释了。
4. 在src下建立一个文件夹,META-INF(注意大小写),在META-INF下建立一个xfire文件夹,在xfire中建立services.xml文件。(真啰嗦),其内容如下:
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloService</name>
<!--
<namespace>
http://oe-way.com/BookService
</namespace>
-->
<!-- 接口-->
<serviceClass>com.lawrenst.service.IHelloService</serviceClass>
<!-- 接口的实现类-->
<implementationClass>
test.risesoft.BookServiceImpl
</implementationClass>
<properties>
<property key="mtom-enabled">true</property>
</properties>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
</beans>
5. 在web.xml中配置上xfire
<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>/services/*</url-pattern>
</servlet-mapping>
6. 访问 http://localhost:8080/HelloWebService/services/HelloService?wsdl
好了页面出现了,至此,你的第一个WebService发布成功了。
7. 编写客户端程序
在这里,我介绍两种方式,第一种是纯POJO方式,第二种是动态方式
第一种:纯POJO方式
package com.lawrenst.test;
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.lawrenst.service.IHelloService;
public class TestClient {
public static void main(String args[])
{
Service serviceModel=new ObjectServiceFactory().create(IHelloService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String url="http://localhost:8080/HelloWebService/services/HelloService";
try {
IHelloService service=(IHelloService) factory.create(serviceModel, url);
//测试sayHello方法
System.out.println(service.sayHello("lawrenst"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
ok,看看你的控制台,是不是出现了预期的东西。
第二种:动态方式(动态模式不需要服务端的class,不过性能和复杂对象映射等估计做得不会太好。)
Client client = new Client(new URL
("http://localhost;8080/HelloWebService/services/HelloService?WSDL"));
Object[] results = client.invoke("sayHello", new Object[] {"lawrenst"});
System.out.println(results[0]);
ok,到此,一切正常,结束。
分享到:
相关推荐
下面,我们将通过一个简单的例子,展示如何使用 XFire 调用 webService 接口。 服务端(为客户端提供 webservice 接口) 在服务端,我们需要创建一个 web 服务项目,使用 XFire 框架,并配置好 web.xml 文件。然后...
【标题】: 使用XFire发布WebService 在Web服务的世界中,XFire是一个强大的开源框架,它使得开发和部署Web服务变得简单。XFire是Apache CXF的前身,它提供了全面的WS-*支持,包括SOAP、WSDL、UDDI、MTOM等标准,...
这篇博客文章“xfire发布webservice服务”可能详细介绍了如何使用XFire来构建并发布一个Web服务。 【描述】:“NULL” 虽然描述为空,但我们可以推测文章可能包含了从安装XFire到编写服务接口,再到部署和测试Web...
这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...
在这个"employeeServiceForXfire"的示例中,你将看到如何使用Xfire创建一个员工管理服务。服务可能包括以下功能: - **添加员工(addEmployee)**:接收一个新的员工对象,将其存储在数据库或其他持久化存储中。 - ...
xfire简单实例发布webservice,引用到2个jar包的简单例子
下面将详细解析如何利用XFire框架发布WebService,并通过一个具体的示例进行深入探讨。 ### XFire框架发布WebService #### 1. 服务器端设置 在服务器端,我们首先需要在开发环境中(本例使用MyEclipse)创建一个...
用java通过xfire框架实现ws,实现正向生成wsdl文件,并由wsdl逆向生成java ws客户端代码 测试输入:http://localhost:8080/webservice-xfire/services/CalculatorService?wsdl
6. **消费Web服务**:使用XFire的客户端API或者其他的SOAP客户端工具,可以轻松地调用发布的Web服务。 四、XFire的注解支持 XFire引入了注解,使得服务的创建更加简洁。例如,使用`@WebService`注解可以在不编写XML...
### Java使用XFire调用WebService接口 #### 一、引言 随着互联网技术的发展,不同系统之间的通信变得越来越重要。WebService作为一种重要的分布式计算技术,在跨平台、跨语言的服务交互方面发挥着重要作用。本文将...
标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...
标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...
xfire还提供了一个基于annotation的编程模型,使得开发者可以使用简单的Java代码来开发WebService。 xfire的主要特点包括: 1. 简单易用:xfire提供了一个简单、易于使用的API,开发者可以快速地开发和部署...
在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务的完整配置,并通过实际案例来学习这一过程。 首先,我们需要了解Spring和XFire的基础。Spring框架提供了一个名为Spring-WS的模块,专门用于构建Web...
本教程将详细讲解如何使用XFire来创建和消费一个简单的WebService。 首先,我们需要理解什么是XFire。XFire(现已被Apache CXF项目吸收)是一个基于Java的Web服务栈,它简化了SOAP(简单对象访问协议)和WS-*(Web...
总的来说,这个基于XFire的WebService项目是一个很好的学习资源,它涵盖了Web服务的基本概念、XFire的使用方法,以及如何构建和测试Web服务。对于想要深入理解Java Web服务开发的初学者或者开发者来说,这是一个值得...
【标题】"用XFire开发WebService+Spring注解"涉及的主要知识点是利用XFire框架创建Web服务,并结合Spring框架的注解进行服务的管理和集成。XFire是一个强大的Java Web Service实现,它允许开发者轻松地创建和消费...
Spring+xFire 实现 WebService 是一种在 Java 开发中创建和使用 Web 服务的方式,它结合了 Spring 框架的灵活性和 xFire(现在称为 Apache CXF)的 Web 服务功能。以下是对这个技术栈的详细说明: 1. **环境配置**...
你可以使用Java的JAX-RPC或JAX-WS规范来定义一个普通的Java接口,然后用XFire的注解来标记这个接口,使其成为Web服务接口。例如: ```java @WebService public interface HelloWorldService { @WebMethod String ...