`
lkjust08
  • 浏览: 15674 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

xfire 开发基础篇 一

阅读更多

      最近做的一个项目,因要用的webservice,因看了一下这方面的东西,以前只是听说,从未用过,目前较流行的webservice 第三方有:xfire和axis,而axis是Apache下的项目,这里我主要说的是xfire:
      基于xfire的webservice开发主要由以下几步:
      1.定义web接口;
      2.实现web接口;
      3.描述wsdl,即web服务,
      4.发布webservice
      5.客户端调用;
下面给出一个例子,来分析各步:
准备工作,新建一个web工程,这里我定义为:xfiretest,定义包:com.test
      1)定义web接口:com.test.ITestService

public interface ITestService {

	public void say();
}

     2)实现web接口:com.test.TestService

public class TestService implements ITestService {

	public void say() {
		// TODO Auto-generated method stub
		System.out.println("web service调用成功!!!");
	}

}

  3)描述wsdl,即web服务:

      先要工程的src下新建文件夹:META-INF/xfire,然后新建文件,名为service.xml(必须为此名)

<?xml version="1.0" encoding="UTF-8"?>
<beans>
	<service xmlns="http://xfire.codehaus.org/config/1.0">
		<name>Test</name><!-- web service调用的服务名,如:http://localhost:8080/xfiretest/services/Test -->
		<serviceClass>com.test.ITestService</serviceClass><!-- web service接口 -->
		<implementationClass>com.test.TestService</implementationClass><!-- web service的实现 -->
		<style>wrapped</style>
		<use>literal</use>
		<scope>application</scope>
	</service>
</beans>

  注意:这里节点名为"beans",你可能想到了spring的bean,不错,在《XFire开发指南》一书中指出,xfire用XBean语法来处理这个service.xml文件,而XBean允许用户将自定义语法与spring语法混在一起,由此我们开以看以xfire也需spring的支持,因些在稍后我给出的jar包中有spring的jar。

  service.xml文件放在该目前下,就可以编译到classes下。

到这里还有重要的一步,就要要在web工程里提供对web service的支持,在web.xml文件里添加一个XfireServlet

 在web.xml添加如下代码:

	<servlet>
		<servlet-name>XFireServlet</servlet-name>
		<servlet-class>
			org.codehaus.xfire.transport.http.XFireConfigurableServlet
		</servlet-class>
		<load-on-startup>0</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>XFireServlet</servlet-name>
		<url-pattern>/servlet/XFireServlet/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>XFireServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>

  4)发布web service

   启动web 服务器,我这里用的是Tomcat,当然你可以选择自己较熟悉的服务器

然后在浏览器里输入 :http://localhost:8080/xfiretest/services/Test?wsdl

就可以看到你所发布的web service 信息,"services/Test?wsdl "就是你在service.xml中定的web service名子

 如果你能看到如下信息:

<wsdl:definitions targetNamespace="http://test.com">

	<wsdl:types>

		<xsd:schema attributeFormDefault="qualified"
			elementFormDefault="qualified" targetNamespace="http://test.com">

			<xsd:element name="say">
				<xsd:complexType />
			</xsd:element>

			<xsd:element name="sayResponse">
				<xsd:complexType />
			</xsd:element>
		</xsd:schema>
	</wsdl:types>

	<wsdl:message name="sayRequest">
		<wsdl:part name="parameters" element="tns:say"></wsdl:part>
	</wsdl:message>

	<wsdl:message name="sayResponse">
		<wsdl:part name="parameters" element="tns:sayResponse">
		</wsdl:part>
	</wsdl:message>

	<wsdl:portType name="TestPortType">

		<wsdl:operation name="say">
			<wsdl:input name="sayRequest" message="tns:sayRequest">
			</wsdl:input>
			<wsdl:output name="sayResponse" message="tns:sayResponse">
			</wsdl:output>
		</wsdl:operation>
	</wsdl:portType>

	<wsdl:binding name="TestHttpBinding" type="tns:TestPortType">
		<wsdlsoap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />

		<wsdl:operation name="say">
			<wsdlsoap:operation soapAction="" />

			<wsdl:input name="sayRequest">
				<wsdlsoap:body use="literal" />
			</wsdl:input>

			<wsdl:output name="sayResponse">
				<wsdlsoap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>

	<wsdl:service name="Test">

		<wsdl:port name="TestHttpPort" binding="tns:TestHttpBinding">
			<wsdlsoap:address
				location="http://localhost:8080/xfiretest/services/Test" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

 表明你的web service已成功发布。

5)客户端调用

 你可以重新新建一个java工程,把(1)中的ITestService接口复制到你的工程中,包括包名。然后新建类WebTest含main方法

如下:

Service srvcModel = new ObjectServiceFactory()

		.create(ITestService.class);

		XFireProxyFactory factory = new XFireProxyFactory(XFireFactory

		.newInstance().getXFire());

		String helloWorldURL = "http://192.168.2.99:8080/xfiretest/services/Test";

		try {

			ITestService srvc = (ITestService) factory.create(

			srvcModel, helloWorldURL);
			srvc.say();

		} catch (MalformedURLException e) {

			e.printStackTrace();

		}

	}

 运行,你如看到如下信息:web service调用成功!!!

 

小弟初写,用词不当,还望指教。

下面有附件可供下载。

 

 

分享到:
评论

相关推荐

    xfire开发Web Service接口详解

    在"xfire开发Web Service接口第一个程序"这个文件中,你可能会找到一个简单的示例,展示如何创建一个计算两个数相加的Web Service。这个例子可能包括定义服务接口、实现接口、配置服务以及启动服务的步骤。通过分析...

    xfire开发webservice所需jar包

    标题中的“xfire开发webservice所需jar包”指的是在使用XFire框架开发Web服务时所需要的一组Java类库。XFire是Apache CXF项目的一部分,它是一个轻量级的、高性能的Web服务框架,用于创建和消费SOAP服务。这篇博客...

    基于xfire的短信发送接口 入门篇

    XFire是一款Java Web服务开发工具,它简化了SOAP(简单对象访问协议)服务的创建和消费。XFire因其轻量级、高效以及与Spring框架的良好集成而备受青睐。对于初学者来说,理解如何利用XFire来构建服务,特别是像短信...

    Java使用XFire调用WebService接口

    在IT行业中,Web服务是一种广泛...总的来说,通过这篇博客,我们可以学习到如何使用XFire这一工具来高效地在Java应用中集成和调用Web服务,理解并掌握这些知识点对于任何涉及跨系统交互的Java开发者都是极其重要的。

    xfire+webservice(服务器配置篇)

    ### xfire+webservice(服务器配置篇) #### 知识点概述 本文档主要介绍了如何在现有的Spring2.5+Hibernate3.2基础上添加XFire来实现WebService服务的配置过程。通过逐步指导的方式,帮助读者了解整个配置流程,并...

    java利用 xfire实现 webservices 服务端与客户端

    Java使用XFire实现Web服务(WebServices)是Java开发中的一种常见技术,它允许应用程序通过网络交换数据。XFire是一个轻量级、高性能的框架,它简化了在Java应用程序中创建和消费Web服务的过程。本篇文章将深入探讨...

    xfire发布webservice服务

    【标题】:“xfire发布webservice服务” 在Java开发中,XFire是一个早期流行的Web服务...通过学习这篇博客和分析示例项目,开发者可以快速掌握使用XFire发布Web服务的基本流程,为后续的Web服务开发打下坚实的基础。

    xfire web service调用代码

    本篇将深入探讨XFire Web服务的调用代码及其相关知识点。 一、Web服务基础 Web服务基于开放标准,如SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)和UDDI(Universal ...

    webservice spring xfire的实例

    【描述】:这篇博客文章通过一个实际的案例,探讨了如何将Web服务与Spring框架相结合,使用XFire进行开发。XFire是Spring框架早期用于实现Web服务的一个库,它提供了一种简单而高效的方式来创建和消费SOAP服务。虽然...

    用MyEclipse6.0开发XFire WebService应用

    2. **第十五章 开发XFire Web Service应用.pdf** - 这是一个PDF文档,很可能详细介绍了如何在MyEclipse中使用XFire开发Web Service的教程,包含了步骤说明、配置指导、可能遇到的问题及解决方案等。 3. **HelloWorld...

    详细介绍XFire和CXF还有AXIS开发

    本篇文章将深入探讨三个流行的Java Web Service框架:XFire、CXF和Axis,它们都是用于构建和消费Web服务的重要工具。 1. **XFire**: XFire是早期的Web服务实现,它提供了一个轻量级、高性能的框架,支持SOAP 1.1...

    xfire

    标签包括“源码”和“工具”,这暗示了这篇博文可能涉及对XFire的源代码进行解析或介绍基于XFire开发的一些辅助工具。源码分析通常涉及编程语言、设计模式、软件架构、算法等方面的知识,而工具可能涵盖构建系统、...

    xfire的一个helloworld

    描述中的链接指向了一篇可能已经失效的博客文章,因此无法直接获取详细信息,但我们可以根据XFire的一般用法进行讲解。XFire简化了在Java应用程序中构建和使用Web服务的过程,特别适合开发SOAP服务。下面我们将详细...

    Web_Service学习手册(Xfire) 以及书中的源码

    总之,Xfire是学习Web服务的一个良好起点,尤其是对于初学者来说,结合“Web_Service学习手册(Xfire)”和源码,你可以快速建立起Web服务开发的基础。随着对Xfire的深入理解,你还可以进一步探索更高级的特性,如WS-...

    Web Service修炼之一XFire入门3

    本篇内容将聚焦于XFire的基础知识,帮助初学者理解如何使用XFire进行Web服务的开发。 **一、XFire简介** XFire是Java平台上的一款轻量级Web服务实现,它基于Java API for XML Processing (JAXP) 和Java ...

    xfire在webservice的应用

    1. **Web服务基础**: Web服务是一种通过网络进行通信的软件系统,遵循W3C制定的SOAP(Simple Object Access Protocol)协议,使用XML(eXtensible Markup Language)作为数据交换格式。它们允许不同的应用程序之间...

    XFire和spring集成设置

    本篇文章将详细介绍如何将XFire与Spring进行集成,并通过一个简单的DEMO来演示这一过程。 首先,理解XFire的基本概念。XFire是Apache CXF的前身,它支持SOAP 1.1和1.2协议,提供了一个高效的、基于JAXB的XML编解码...

Global site tag (gtag.js) - Google Analytics