`
zhuyuanxiang
  • 浏览: 130541 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

webservice-之使用xfire开发(转自勇哥的BLOG)

阅读更多

Myeclipse5.X 支持xfire支持的非常棒。这里讲解一个简单的例子,此文章为引用文章,仅做保留,供学习参考使用。<!----><o:p></o:p>

一、服务端程序开发<o:p></o:p>

1 、首先建立一个web service工程 <o:p></o:p>

<!----> <v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <v:stroke joinstyle="miter"> </v:stroke> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"> </v:f> <v:f eqn="sum @0 1 0"> </v:f> <v:f eqn="sum 0 0 @1"> </v:f> <v:f eqn="prod @2 1 2"> </v:f> <v:f eqn="prod @3 21600 pixelWidth"> </v:f> <v:f eqn="prod @3 21600 pixelHeight"> </v:f> <v:f eqn="sum @0 0 1"> </v:f> <v:f eqn="prod @6 1 2"> </v:f> <v:f eqn="prod @7 21600 pixelWidth"> </v:f> <v:f eqn="sum @8 21600 0"> </v:f> <v:f eqn="prod @7 21600 pixelHeight"> </v:f> <v:f eqn="sum @10 21600 0"> </v:f> </v:formulas> <v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"> </v:path> <o:lock aspectratio="t" v:ext="edit"> </o:lock> </v:shapetype> <v:shape id="_x0000_i1025" style="WIDTH: 265.5pt; HEIGHT: 321pt" type="#_x0000_t75" alt=""> <v:imagedata src="file:///D:\Winbak\Temp\msohtml1\01\clip_image001.gif" o:href="/images/blogjava_net/killme2008/new_wizard1.gif"> </v:imagedata> </v:shape> <o:p> </o:p>

<v:shape id="_x0000_i1026" style="WIDTH: 328.5pt; HEIGHT: 312pt" type="#_x0000_t75"> <v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image002.png"> </v:imagedata> </v:shape> <o:p> </o:p>

<v:shape id="_x0000_i1027" style="WIDTH: 345pt; HEIGHT: 308.25pt" type="#_x0000_t75" alt=""> <v:imagedata src="file:///D:\Winbak\Temp\msohtml1\01\clip_image004.gif" o:href="/images/blogjava_net/killme2008/new_wizard3.gif"> </v:imagedata> </v:shape> <o:p> </o:p>

<v:shape id="_x0000_i1028" style="WIDTH: 339.75pt; HEIGHT: 276pt" type="#_x0000_t75"> <v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image005.png"> </v:imagedata> </v:shape> <o:p> </o:p>

点击finish之后,myeclipse自动帮你生成services.xml以及web应用目录结构,其中的services.xml是你导出服务的配置文件,注意在WEB-INF/web.xml文件中配置了xfire自己的:<o:p></o:p>

Servlet 代码<o:p></o:p>

<servlet>  <o:p></o:p>

 <servlet-name>XFireServlet</servlet-name>   <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>   <o:p> </o:p>

 <load-on-startup>0</load-on-startup>  <o:p></o:p>

</servlet>  <o:p></o:p>

<servlet-mapping>  <o:p></o:p>

 <servlet-name>XFireServlet</servlet-name>  <o:p></o:p>

 <url-pattern>/services/*</url-pattern>  <o:p></o:p>

</servlet-mapping>  <o:p></o:p>

  <o:p> </o:p>

2 、接下来,现在编写要导出的pojo ,首先是接口:<o:p></o:p>

<v:shape id="_x0000_i1029" style="WIDTH: 252.75pt; HEIGHT: 383.25pt" type="#_x0000_t75"> <v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image007.png"> </v:imagedata> </v:shape> <o:p> </o:p>

过程:File>New>Other>MyEclipse>Web Service<o:p></o:p>

<v:shape id="_x0000_i1030" style="WIDTH: 347.25pt; HEIGHT: 237.75pt" type="#_x0000_t75"> <v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image009.png"> </v:imagedata> </v:shape> <o:p> </o:p>

选择:Create web service from Java bean,把Create new javabean也勾上<o:p></o:p>

3 、在导航页面中,输入<o:p></o:p>

web service name:HelloWorldTest<o:p></o:p>

java package : services<o:p></o:p>

services Interface : HelloWorldTestRemote<o:p></o:p>

services impl.class : HelloWorldTestBean<o:p></o:p>

<v:shape id="_x0000_i1031" style="WIDTH: 347.25pt; HEIGHT: 333pt" type="#_x0000_t75"> <v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image011.png"> </v:imagedata> </v:shape> <o:p> </o:p>

其他的默认,点finish<o:p></o:p>

最后可以看到Web Services   下面的services.xml的内容如下<o:p></o:p>

<?xml version="1.0" encoding="UTF-8"?><o:p></o:p>

<beans xmlns="http://xfire.codehaus.org/config/1.0"><o:p></o:p>

    <service><o:p></o:p>

        <name>HelloWorldTest</name><o:p></o:p>

        <serviceClass>services.HelloWorldTestRemote</serviceClass>      <implementationClass>services.HelloWorldTestBean</implementationClass><o:p></o:p>

        <style>wrapped</style><o:p></o:p>

        <use>literal</use><o:p></o:p>

        <scope>application</scope><o:p></o:p>

    </service><o:p></o:p>

</beans><o:p></o:p>

4 services包中的文件 <o:p></o:p>

HelloWorldTestRemote.java<o:p></o:p>

-----------------------------------------------<o:p></o:p>

package services;<o:p></o:p>

public interface HelloWorldTestRemote <o:p></o:p>

{   <o:p></o:p>

    public String example(String message);  <o:p></o:p>

}<o:p></o:p>

----------------------------------------------------------<o:p></o:p>

HelloWorldTestImpl.java<o:p></o:p>

----------------------------------------------------<o:p></o:p>

package services;<o:p></o:p>

public class HelloWorldTestBean implements HelloWorldTestRemote <o:p></o:p>

{<o:p></o:p>

    public String example(String message) <o:p></o:p>

    {<o:p></o:p>

        return "Hello:"+message;<o:p></o:p>

    }   <o:p></o:p>

}<o:p></o:p>

------------------------------------------------------------<o:p></o:p>

到此为止webServices编码工作完成,现在开始部署到tomcat这里省略。<o:p></o:p>

部署好后可以测试下:<o:p></o:p>

1)查看可用的服务<o:p></o:p>

http://localhost:8080/HelloWorld/services <o:p> </o:p>

2)查看wsdl<o:p></o:p>

http://localhost:8080/HelloWorld/services/HelloWorldTest?wsdl <o:p> </o:p>

<o:p> </o:p>

/////////////////////////////////////////////////////////////////////////////<o:p></o:p>

/////////////////////////////////////////////////////////////////////////////<o:p></o:p>

二、客户端应用程序开发<o:p></o:p>

1 、新建工程useWebService,并且建立clientservices<o:p></o:p>

2 bulid path中导入,XFire 1.1 core librariesXFire 1.1 HTTP client libraries.<o:p></o:p>

<v:shape id="_x0000_i1032" style="WIDTH: 393.75pt; HEIGHT: 320.25pt" type="#_x0000_t75"> <v:imagedata o:title="" src="file:///D:\Winbak\Temp\msohtml1\01\clip_image013.png"> </v:imagedata> </v:shape> <o:p> </o:p>

SayHello.java<o:p></o:p>

----------------------------------------<o:p></o:p>

package client;<o:p></o:p>

import java.net.MalformedURLException;<o:p></o:p>

import org.codehaus.xfire.XFireFactory;<o:p></o:p>

import org.codehaus.xfire.client.XFireProxyFactory;<o:p></o:p>

import org.codehaus.xfire.service.Service;<o:p></o:p>

import org.codehaus.xfire.service.binding.ObjectServiceFactory;<o:p></o:p>

import services.HelloWorldTestRemote;<o:p></o:p>

public class SayHello <o:p></o:p>

{<o:p></o:p>

    public String say(String name) <o:p></o:p>

    {<o:p></o:p>

        String result = "";<o:p></o:p>

Service srvcModel = new ObjectServiceFactory().create(HelloWorldTestRemote.class);<o:p></o:p>

        XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());<o:p></o:p>

        String helloWorldURL = "http://localhost:8080/HelloWorld/services/HelloWorldTest";<o:p></o:p>

        try <o:p></o:p>

        {<o:p></o:p>

            HelloWorldTestRemote srvc = (HelloWorldTestRemote) factory.create(srvcModel, helloWorldURL);<o:p></o:p>

            result = srvc.example(name);<o:p></o:p>

            System.out.println(result);<o:p></o:p>

        } <o:p></o:p>

        catch (MalformedURLException e) <o:p></o:p>

        {<o:p></o:p>

            e.printStackTrace();<o:p></o:p>

        } finally <o:p></o:p>

        {<o:p></o:p>

            return result;<o:p></o:p>

        }<o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

--------------------------------------------------------------<o:p></o:p>

HelloWorldTestRemote.java<o:p></o:p>

---------------------------------------------------------------<o:p></o:p>

package services;<o:p></o:p>

<o:p> </o:p>

public interface  HelloWorldTestRemote <o:p></o:p>

{<o:p></o:p>

    public String example(String message);<o:p></o:p>

}-----------------------------------------------------------------<o:p></o:p>

创建index.jspbody部分<o:p></o:p>

-----------------------<o:p></o:p>

<form name="form1" action="say.jsp" method="POST"><o:p></o:p>

您的大名:<input name="userName" type="text"/> <input value="提交" type="submit"/> <o:p></o:p>

</form><o:p></o:p>

-------------------------------<o:p></o:p>

创建say.jsp,body部分<o:p></o:p>

----------------------------------------------------------------<o:p></o:p>

<%<o:p></o:p>

String name=(String)request.getParameter("userName"); <o:p></o:p>

String result=new SayHello().say(name);<o:p></o:p>

out.print(result);<o:p></o:p>

%><o:p></o:p>

webService 远程调用结果: <%=result %><o:p></o:p>

------------------------------------------------------------------------<o:p></o:p>

运行下测试!OK<o:p></o:p>

分享到:
评论
1 楼 zylucky 2009-06-25  
排版太乱了。。

相关推荐

    webservice---xfire和spring整合

    Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同的系统之间进行数据交换。XFire是Java平台上的一款轻量级Web服务框架,它提供了简单、高性能的方式来创建和消费Web服务。Spring则是一个广泛...

    xfire实现webservice实例

    在IT行业中,Web服务是一种广泛使用的通信协议,它允许不同应用程序之间进行数据交换。XFire是Java平台上一个曾经流行的开源框架,专门用于构建和消费Web服务。本实例将深入探讨如何利用XFire来实现Web服务。 一、...

    XFire--Webservice入门xfire

    XFire--Webservice入门xfire

    webService-xfire入门doc

    【描述】"webService-xfire入门" 提示我们这是一个初学者指南,旨在帮助用户理解如何开始使用XFire来创建和使用Web服务。这通常包括安装步骤、基本概念解释、配置教程以及一些简单的示例项目。 【标签】"webService...

    【webservice----xfire 快速入门代码实训】----<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    【Web服务——XFire快速入门代码实训】 在IT行业中,Web服务是一种使应用程序能够通过互联网交换数据的...通过本次实训,你将掌握如何在Eclipse环境中使用XFire快速开发Web服务,从而开启你在Web服务领域的探索之旅。

    spring+xfire( 编写webservice完整配置+案例)

    在开始之前,确保你的开发环境中已经包含了XFire的库。你可以通过Maven或Gradle将其添加到项目的依赖中。然后,你需要在Spring配置文件中声明XFire的相关bean,例如`XFireConfigurer`和`XFireServiceExporter`,...

    WebService-xfire和axis开发指南

    "XFire开发指南.pdf" 可能涵盖了如何安装和配置XFire环境,创建第一个WebService,使用XFire的注解和API,以及如何进行测试和调试等内容。而"Axis1[1].4+开发指南_V1.0.pdf"则可能详细介绍了Axis1.4版本的使用,包括...

    webservice-xfire 开发用的JAR包

    标题中的"webservice-xfire 开发用的JAR包"指的是用于开发Web服务的Xfire库的JAR文件集合。这些JAR文件包含了Xfire框架的所有必要组件,例如: 1. **xfire-core.jar**:这是Xfire的核心库,包含了处理SOAP消息、...

    WebService--xfire中对集合的配置和操作

    这篇博客“WebService--xfire中对集合的配置和操作”可能主要讨论了如何在XFire中处理集合类型的数据,包括数组、List或Set等。 在XFire中,配置是关键部分,它涉及到服务的定义、绑定以及数据的序列化和反序列化。...

    java使用XFire调用webService接口

    "Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...

    java 调用webservice使用HttpClient和XFire两种方式

    本文将详细介绍如何使用HttpClient和XFire这两种不同的库来调用Web Service,特别是针对短信接口的调用。 首先,让我们了解Web Service的基本概念。Web Service是一种基于互联网的、平台无关的交互方式,它允许不同...

    WebService之XFire开发文档和代码

    在“WebService之XFire开发文档和代码”压缩包中,包含了详细的开发文档,帮助开发者了解如何使用XFire创建、部署和测试WebService。同时,还提供了一些代码示例,可以帮助开发者快速上手实践。通过学习这些文档和...

    WebService开发入门(XFire)

    我整理了一下使用XFire1.2.6进行Web Service开发的思路,尝试完成了一个入门实例(完整的MyEclipse项目)。如果你正在学习Web Service或者对这个有兴趣,你可以下载该附件,导入MyEclipse中运行以查看示例效果。希望...

    webservice-xfire相关(xfire&wsdl4j;&jaxrpc;&jdom;)

    虽然描述中提到的具体使用细节没有给出,但这些是使用XFire发布和调用Web服务的一般过程。对于初学者,理解这些组件的工作原理和相互关系是至关重要的,而高级开发者则可以利用它们的灵活性来优化服务实现和提高性能...

    Java使用XFire调用WebService接口

    这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...

    XFire-WebService 开发基础教程

    XFire-WebService 开发基础教程主要围绕如何在MyEclipse环境中使用XFire框架开发Web服务进行讲解。XFire是一个基于Java的SOAP框架,它以轻量级的信息处理模块和STAX(Streaming API for XML)与SOAP消息交互。XFire...

    MyEclipse8.0GA下使用Xfire框架开发WebService实例

    ### MyEclipse 8.0 GA 下使用 Xfire 框架开发 WebService 实例 #### 一、WebService 服务端开发步骤 ##### 1. 建立 WebService Project - 在 MyEclipse 中创建一个新的 Web Service 项目,命名为 ProjectName。 -...

    用XFire开发WebService+Spring注解

    【标题】"用XFire开发WebService+Spring注解"涉及的主要知识点是利用XFire框架创建Web服务,并结合Spring框架的注解进行服务的管理和集成。XFire是一个强大的Java Web Service实现,它允许开发者轻松地创建和消费...

    使用XFire发布WebService

    【标题】: 使用XFire发布WebService 在Web服务的世界中,XFire是一个强大的开源框架,它使得开发和部署Web服务变得简单。XFire是Apache CXF的前身,它提供了全面的WS-*支持,包括SOAP、WSDL、UDDI、MTOM等标准,...

Global site tag (gtag.js) - Google Analytics