JAVA之WebService框架---Xfire全解

合集下载

XFire开发webservice服务和客户端全攻略

XFire开发webservice服务和客户端全攻略

使用XFire开发webservice服务和客户端全攻略收藏XFire 是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service 各项标准协议,帮助你方便快速地开发Web Service应用。

相对于Axis来说,目前XFire相对受欢迎,加上其提供了和Spring集成的支持,在目前的Web Service开源社区拥有众多的追随者。

并且因为XFire为Spring提供的支持,使得我们可以很容易在Spring中使用XFire构建Web Service应用。

XFire 与Axis2相比具有如下特征:l 支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security 等;l 使用Stax解释XML,性能有了质的提高。

XFire采用Woodstox 作Stax实现;l 容易上手,可以方便快速地从pojo发布服务;l 支持Spring、Pico、Plexus、Loom等容器;l 灵活的Binding机制,包括默认的Aegis,xmlbeans,jaxb2,castor;l 高性能的SOAP 栈设计;l 支持Spring、Pico、Plexus、Loom等容器。

XFire 与Axis1性能的比较如下:l XFire 比Axis1.3快2-6倍;l XFire 的响应时间是Axis1.3的1/2到1/5。

XFire 在WebService框架中开始较晚,它从现有的框架中借鉴了许多优秀的理念,力争将Web Service的应用开发难度降到最低。

此外,还提供了各种绑定技术、支持多种传输协议,对WebService体系中许多新的规范提供了支持。

下面让我们来看一个XFire于Spring集成的helloWorld的简单例子。

一.实现的功能和特点本例具有如下功能和特点:1)基于J2EE平台的Web Service服务;2)开发方便,配置简单;3)与spring无缝集成。

Web+Services发布与调用(axis,xfire)

Web+Services发布与调用(axis,xfire)

目录一使用Axis和XFire发布Web Service (2)1.1 准备工作 (2)1.1.1 新建工程 (2)1.1.2 axis依赖文件 (3)1.1.3 XFire依赖文件 (3)1.2 Axis发布Web Service (4)1.2.1 传递简单数据类型的Web Service (4)1.2.2 带自定义对象传递的Web Service (8)1.3 XFire发布Web Services (10)1.3.1 传递简单数据类型的Web Service (10)1.3.2传递复杂数据类型的Web Service (12)附录: 1Server的结构 (16)二调用Web Services (17)2.1 准备工作 (17)2.1.1 新建工程 (17)2.1.2 启动Tomcat上发布的1Server服务 (17)2.2 Axis发布的Web Service调用方式 (18)2.2.1 Dynamic Invocation Interface (DII)方式 (18)2.2.2 Dynamic Proxy方式 (19)2.2.3 Stubs方式 (20)2.3调用XFire发布的Web Service (22)2.3.1服务以jar包形式发布的时候直接调用 (23)2.3.2 使用Axis的Client包 (23)2.3.3 使用Xfire的Client包 (24)附录2:2Client目录结构 (31)一使用Axis和XFire发布Web Service 1.1 准备工作Axis主页:/Axis下载:/dist/ws/XFire主页:/XFire下载:/Download去以上站点下载axis最新包和XFire最新包,包内有axis和XFire依赖的其他jar包。

1.1.1 新建工程1.1.2 axis依赖文件1.1.3 XFire依赖文件1.2 Axis发布Web Service1.2.1 传递简单数据类型的Web Service1.把Axis依赖的jar包放入lib文件夹下.2.在web.xml中加入如下:<!-- ****************** axis ws start ****************** --> <listener><listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener </listener-class></listener><servlet><servlet-name>AxisServlet</servlet-name><servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class></servlet><servlet><servlet-name>AdminServlet</servlet-name><servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class><load-on-startup>100</load-on-startup></servlet><servlet><servlet-name>SOAPMonitorService</servlet-name><servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class><init-param><param-name>SOAPMonitorPort</param-name><param-value>5001</param-value></init-param><load-on-startup>100</load-on-startup></servlet><servlet-mapping><servlet-name>AxisServlet</servlet-name><url-pattern>/servlet/AxisServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>AxisServlet</servlet-name><url-pattern>*.jws</url-pattern></servlet-mapping><servlet-mapping><servlet-name>AxisServlet</servlet-name><url-pattern>/services/*</url-pattern></servlet-mapping><servlet-mapping><servlet-name>SOAPMonitorService</servlet-name><url-pattern>/SOAPMonitor</url-pattern></servlet-mapping><!-- uncomment this if you want the admin servlet --><!--<servlet-mapping><servlet-name>AdminServlet</servlet-name><url-pattern>/servlet/AdminServlet</url-pattern></servlet-mapping>--><session-config><!-- Default to 5 minute session timeouts --><session-timeout>5</session-timeout></session-config><!-- currently the W3C havent settled on a media type for WSDL;/TR/2003/WD-wsdl12-20030303/#ietf-draftfor now we go with the basic 'it's XML' response -->3.发布到Tomcat5.0+ 启动Tomcat服务启动的时候若出现下面错误。

Xfire开发的webservice客户端超时问题解决

Xfire开发的webservice客户端超时问题解决

Xfire开发的webservice客户端超时问题解决Xfire开发的webservice客户端超时问题解决最近某电信ISAG升级后我们的客户端出现大量超时提示,并且下发很慢[MeChannelGw]2010-06-10 06:00:05 (HttpMethodBase.java:2102)-[INFO] Timer-1 - 100 (continue) read timeout. Resume sending the request[MeChannelGw]2010-06-10 06:00:08 (HttpMethodBase.java:2102)-[INFO] Timer-1 - 100 (continue) read timeout. Resume sending the request[MeChannelGw]2010-06-10 06:00:11 (HttpMethodBase.java:2102)-[INFO] Timer-1 - 100 (continue) read timeout. Resume sending the request[MeChannelGw]2010-06-10 06:00:14 (HttpMethodBase.java:2102)-[INFO] Timer-1 - 100 (continue) read timeout. Resume sending the request[MeChannelGw]2010-06-10 06:00:17 (HttpMethodBase.java:2102)-[INFO] Timer-1 - 100 (continue) read timeout. Resume sending the request每隔3-4秒才下发一次数据。

曾以为是对方服务器问题,网络的问题等等,就是换台机器部署,还是会有这个问题。

实际,上因为Xfire默认的机制下,会不断的去和服务端握手造成的。

如何在MyEclipse和Eclipse下安装XFire插件CXF插件 WebService

如何在MyEclipse和Eclipse下安装XFire插件CXF插件 WebService

如何在MyEclipse和Eclipse下安装XFire插件CXF插件 WebService首先,现在都用CFX了(CFX部分源于XFire)吧,所以建议大家使用CXF,本文后面讲XFire安装……CXF的安装参见:Apache CXF: An Open-Source Services Framework /源文件的下载在/download.html博客更新时最新为2.42 一共两个文件,要下载的是其中的二进制下载包,也就是Binary distribution,下载File下的zip(for win)或者tar.gz(for linux)我用的是winXP下载完成后按照如下配置:将你的Binary distribution加压至任意文件夹(将被设为%CXF_HOME%)我的电脑->属性->高级->环境变量创建一个CXF_HOME变量,值为CXF框架所在根目录,修改一下CLASSPATH=%CXF_HOME%/lib;PATH=%CXF_HOME%/bin; 以方便在DOS窗口下直接运行java2ws,wsdl2java等可执行文件。

在%JAVA_HOME%/jre/lib目录下创建一下endorsed文件夹,将jaxb-api.jar,jaxws.jar拷贝进去。

(建议在%CXF_HOME%的文件夹中搜索endorsed,就包括这两个文件,当然,你也可以直接将这个路径包含在%CXF_HOME%\lib\endorsed包含在CLASSPATH中尝试一下,我没有试过)配置好了后,你在DOS窗口下输入java2ws,看看配置是否有效,有效会提示Missing argument: classname。

这样就OK了。

MyEclipse安装XFire要进行基于XFire的开发,需要在MyEclipse或者Eclipse里安装XFire,但是网上基本没有安装插件的说明,在这里做一个介绍:在Eclipse里添加XFire,请遵照XFire官网说明/Eclipse+Plugin进行安装在MyEclipse (9.0)骤如下:进入help->MyEclipse Configer Center ,点选Software选项卡,左侧有个Browse Software,点击导航右侧的 Add Site,弹出对话框,填入名称“XFire”(任填)和站点"/xfire/update/",点击确定,稍等片刻,你会发现在Browse Software下多了XFire的两个选项(只是找到,还没安装),OK,分别双击这两个选项,这连个添加会排程到等待更新的列表中,也就是页面右下角的Software Updates Aviables里面(其实有一个确实已经在MyEclipse里面安装了,所以应该只有一个更新),在单选框中打对勾,然后更新,会弹出更新向导,然后默认的Next Next就可以了……新建一个工程,在工程添加向导里你可能看不到XFire的选项,不急,在工程添加完成后,在工程上右键,在菜单上会出现“为该工程配置XFire”特性,在这里设置就好了……针对之前没说清楚,在这里补充这一点……完……安装完毕,新建工程,右键->添加XFire支持虽然不能从新建工程向导中配置,也没问题,恩恩完……。

WebService接口实例说明文档

WebService接口实例说明文档

WebService接口说明文档文档说明本文档主要讲述如何用C Sharp创建一个简单的Web Service接口,并使用Java调用这个Web Service接口。

准备工作系统环境:安装JDK1.6或更新版本开发工具:Microsoft Visual Studio 2012、MyEclipse 10.5、axis2-1.6.2C Sharp服务端1.首先,创建一个Web Service项目。

依次点击:文件—新建—项目,在弹出的新建项目窗口中选择Web下的 空 Web 应用程序。

如下图:2.接下来我们需要创建我们的Web Service接口实现文件。

鼠标右击我们的项目,依次点击:添加—新建项,在弹出窗口中选择Web 服务。

可修改新建项的文件名,注意文件名后缀后.asmx。

如下图:新建完成后我们的项目结构如下:3.打开我们新建的MyService.asmx下的MyService.asmx.cs文件,可以看到其中已经有默认的HelloWorld方法。

我们可以直接运行查看下运行的效果,效果如下图:点击HelloWorld,再点击调用可以看到页面返回:4.接下来我们完善我们的Web Service接口功能。

主要对Web Service接口进行参数类型的测试,文本型、布尔型、数值型、类(Class)等。

新增Add()等运算方法:新增strcat()连接字符串方法:新增GetBool()返回布尔值方法:新增GetTest()返回测试类,并新增Test类运行我们的项目,可以看到我们的结果如下图:点击add方法测试:输入add的参数i和j点击调用按钮,可以看到返回计算结果:5.到此为止我们C Sharp创建的Web Service程序完成。

接下来看Java如何调用我们的Web Service接口。

Java调用Web Service准备对于一个Web Service接口我们当前只知道访问的地址,我们如何用Java去访问接口呢?已知Web Service接口地址:http://localhost:11766/MyService.asmx?WSDLJava调用Web Service的方式有以下1.使用HttpClient2.使用Xfire3.使用axis2本文档示例选择的是axis2,首先到axis2网站下载axis2,网址:/axis2/java/core/download.cgi当前最新版本1.6.2。

WebService理论详解、JWS(JavaWebService)快速入门

WebService理论详解、JWS(JavaWebService)快速入门

WebService理论详解、JWS(JavaWebService)快速⼊门⽬录WebService (web服务)概述1、WebService(Web服务)是⼀种跨语⾔、跨平台的远程调⽤技术。

A、跨语⾔:服务器与客户端可以使⽤不同的语⾔开发,客户端都能调⽤服务器开放的接⼝,服务器只需要写⼀遍,任意语⾔的客户端都能进⾏调⽤。

B、跨平台:服务端程序和客户端程序可以运⾏在不同的操作系统上。

C、远程调⽤:指计算机 A(客户端) 上的程序可以调⽤计算机 B(服务器) 上的对象的⽅法。

如⽕车站进出站需要刷⾝份证,参加⼤型展会、演唱会时也可以刷⾝份证,显然⽕车站以及展览会、演唱会这些刷⾝份证的系统⾃⼰是不可能有全国⼈民的⾝份证数据的,它们都在公安局的数据库⾥,所以就可以理解成是公安⾝份证系统使⽤ webService 向外提供了接⼝,各地刷⾝份证的系统作为客户端调⽤⽽已。

2、WebService 是可互操作的分布式应⽤程序的⼀个平台、⼀个标准,它定义了应⽤程序如何在 Web 上实现互操作性,可以⽤任何语⾔在任何平台上写Web Service 服务端,然后可以通过 Web service 标准对这些服务进⾏操作。

3、如果系统需要为任意的第三⽅客户提供服务,那么服务器系统就可以使⽤ webService 技术,这样⽅便数据交互。

需要注意的是如果服务端接⼝⽅为webservice,则客户端也必须使⽤ webservice 。

web Service 应⽤场景?1. 同⼀家公司的新旧应⽤之间,⼦系统之间,如校内的招⽣系统、就业系统、缴费系统、考试系统等2. 不同公司的业务应⽤之间,如天猫⽹与中通物流系统交互3. ⼀些提供数据的内容聚合服务应⽤,如天⽓预报、股票⾏情、机票、邮政编码等如何发布⼀个 webService?1、定义 SEI(Service Endpoint Interface)服务终端接⼝,即 webService 提供的服务接⼝2、定义 SIB(Service Implemention Bean)服务实现类,即 webService 提供的服务接⼝的实现类3、发布 webService 服务 Endpoint publish(String address, Object implementor)如何请求⼀个 webService?1、根据服务的提供的 wsdl ⽂档⽣成客户端代码,可以使⽤ Java Jdk⾃带的 wsimport.exe⼯具,或者使⽤第三⽅如 Apache 的 CXF wsdl2java ⼯具既能⽣成服务端代码,也能⽣成客户端代码。

XFIRe概述

XFIRe概述

XFire 概述XFire 是 codeHaus 组织提供的一个开源框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务,这种处理方式不仅充分发挥了 POJO 的作用,简化了 Java 应用转化为 Web 服务的步骤和过程,也直接降低了 SOA 的实现难度,为企业转向 SOA 架构提供了一种简单可行的方式。

XFire 目前最新的版本是 1.2.2,目前支持的特性主要包括:∙支持将 Web 服务绑定到 POJO、XMLBeans、JAXB1.1、JAXB2.0 和 Castor;∙支持基于 HTTP、JMS、XMPP 等多种协议访问 Web 服务;∙支持多种 Web 服务业界重要标准如 SOAP、WSDL、Web 服务寻址(WS-Addressing)、Web 服务安全(WS-Security)等;∙支持 JSR181,可以通过 JDK5 配置 Web 服务;∙高性能的 SOAP 实现;∙服务器端、客户端代码辅助生成;∙对 Spring、Pico、Plexus 等项目的支持等。

XFire 安装包XFire 框架目前的最新版本是 1.2.6,可以访问 下载XFire 框架的安装包,下载时请选择“全部二进制发布包(Binary Distribution in zip package)”,而不仅仅是“XFire jar 文件(Jar of all XFire modules)”。

下载完成后,我们可以将下载的 .zip 文件解压缩到任意的文件夹中(后面的章节中使用 % XFIRE_HOME % 表示 XFire 框架的安装目录),解压缩后形成的文件目录结构如下:∙api(目录)api 目录中是 XFire 框架中所有类(class)对应的 API 文档,为开发者使用 XFire 完成应用开发提供帮助。

∙examples(目录)examples 目录中包含了所有随 XFire 二进制包发布的实例,包括这些实例的源代码和相关 Web 应用配置内容。

java webservice调用方式及解析

java webservice调用方式及解析

java webservice调用方式及解析摘要:一、Java WebService简介二、Java WebService调用方式1.基于HTTP的调用2.基于SOAP的调用3.基于REST的调用三、Java WebService解析1.WSDL文件解析2.SOAP消息解析3.XML消息解析正文:一、Java WebService简介Java WebService是一种基于Java技术的Web服务,它允许不同平台、不同编程语言的应用程序相互通信。

Java WebService遵循JAX-WS(Java API for XML Web Services)规范,利用XML、SOAP、WSDL等技术来实现服务的发布、发现和调用。

二、Java WebService调用方式1.基于HTTP的调用基于HTTP的调用是指使用HTTP协议传输XML数据来进行WebService调用。

这种方式简单、易实现,但不够灵活。

优点是兼容性较好,可以跨平台、跨语言。

2.基于SOAP的调用基于SOAP(Simple Object Access Protocol)的调用是一种更复杂的WebService调用方式。

它使用XML文档来表示消息,并通过HTTP传输。

SOAP消息包含三个部分:Header、Body和Footer。

Header用于传递消息的元数据,如消息版本、编码方式等;Body是消息的主体,包含具体的方法调用和参数;Footer用于传递消息的额外信息。

3.基于REST的调用基于REST(Representational State Transfer)的调用是一种基于HTTP 协议的调用方式。

它将WebService暴露为一系列资源(Resource),并通过HTTP动词(GET、POST、PUT、DELETE)进行操作。

RESTful WebService 具有较好的可读性和实用性,易于理解和开发。

三、Java WebService解析1.WSDL文件解析WSDL(Web Services Description Language)文件是描述WebService接口和消息格式的一种XML文档。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java WebService框架之XFire使用说明声明:此文档只为做学习交流用,如果你有任何异议或更好的想法,欢迎你在群里讨论或者与我讨论!希望能够帮到你!WebService这个字眼,或许大家听起来,并不陌生,一般做过几年开发经验的程序员,几乎都跟它打过交道,首先,我要说明的是,WebService并不是java的特权,也就是说,并不是java只有WebService,.net有,C#有。

等等不罗嗦,首先我得让大家知道,WebService是干嘛用的,从字面意思理解就是web服务,其实,说白了,Web Services就是发布的、完成其特定需求的、在线应用服务。

其他公司或应用软件能够通过Internet来访问并使用这项在线服务。

WebService的主要目标是跨平台的可互操作性。

他独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。

(相关详细解释,大家可以百度的文库)我举个例子,或许大家就明白了,我举个它的应用,比如说,现在有这么一个需求:WebService应用案例一:张三传递给李四某个城市的名字比如说北京,李四反馈给张三北京的天气预报为:晴,王五传递给李四的城市名字济南,李四反馈给王五济南的天气预报为:阴;赵六传递给李四武汉。

等等。

但是,无论是谁想给李四传递城市的名字,必须遵循李四开放出来的一个发送地址,要不然你找不到李四,李四也收不到你的请求城市。

那么,在该示例中,无非就是想实现的一个功能就是,任何人传递给李四一个城市的相关名字,李四反馈给请求者该城市的天气情况,前提是,按照李四公布给大家的发送地址,那么,所有向李四发送请求城市的人,都会收到李四反馈的请求的城市的天气情况,那么这就是一个典型的webservice的调用,它与平台无关,跟每一个系统都无关,是独立的在线服务,那么,在此例中,每一个向李四发送请求的人,都是客户端,而李四所实现的接受城市,反馈回天气预报的功能,就是webservice的服务断,而李四提供的发送地址,就是大名鼎鼎的访问Webservice得到WSDL地址再给大家举一个例子:WebService应用案例二:有两套系统,A系统为用。

Net语言开发的,B系统用java语言开发的,现在有一个需求,就是要实现A系统跟B系统之间的信息交互,那么此时,A系统,可以写一个。

Net的webService,之后,公布给B系统webservice的访问地址,那么B系统就可以访问A系统,而A系统如果想访问B系统的数据,那么B系统可以写一个java 的webService,把地址告知给A系统,A系统就可以访问B系统的数据。

可能有的人会有疑问,貌似。

当前不同系统间交互数据都用XML么?如果你能想到这,恭喜你,你已经跟设计webservice的人的想法一样了,呵呵。

因为它的描述WSDL就是xml其实一般说到webservice,就是开发它的服务端,客户端,基本上没什么技术含量,按照某种格式调用就OK。

长篇大论了一番,我想,大家应该对WebService有个了解了,那么下面进入正题,Java 的WebService框架,比较常用的有:Axis,XFire ,Cfx等,呵呵,因为之前搞过Axis,繁琐的配置,说实话真的不能让我爱上它,当我遇到XFire的时候,我才发现,原来,它可以让WebService如此简单,核心只需一个xml配置文件就全部搞定,因此我强烈推荐XFire,如果你是初学者,我更加强烈推荐XFire是一款开源的Java SOAP框架。

它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合,支持POJO和schema开发. XFire支持Web Services standards,Spring 整合,下面就以此为例,先讲解借助Myeclipse的自动生成来介绍,当然你也可以手工去写。

下面通过一个简单的示例来讲解Xfire的使用。

首先说一下我的开发环境配置:Myeclipse6.5 + jdk1.5 + tomcat6.0步骤1:选择File----New----WebService Project,创建项目如图:步骤2:输入项目的名字,Test_WebService(可以随意起),如图:步骤3:点击Next,进入如下界面,在此操作界面中,走默认即可,.其中是Xfire的核心过滤器,用于拦截/services/*的请求,后面会详细说明,保持默认,点next步骤4:你将会看到这个窗口,这是让你选择Xfire的核心jar包,如图:其中,为Xfire的和核心类库,为必选,如果你开发的这个webservice用于本项目中的话,那你还需勾选,当然,如果你仅仅是开发一个独立的WebService的话,那就没必要勾选了。

在这咱开发一个独立的WebService,供任何一个项目可以调用它,只勾选第一项,点击Finish。

步骤5:至此,WebService的整体骨架已经创建完毕了。

看一下左侧项目栏中,我们刚创建的该WebService的结构如图:一次点开项目的层级文件夹,你会发现比普通的项目多了,点开services.xml你会发现,什么都没有,这就对了,services.xml就是注册你的webservice方法用的,点开web.xml你发现多了这么几行代码:这就是上面我提到的,Xfire的核心过滤器,上面走了默认,所以,这里看到的东西,就是跟上面你走默认的一样,如果你改了默认的信息的话,那么此处就为你更改了的信息了,当然,我还是建议大家走默认。

步骤6:既然万事具备了,那么,咱们现在就开发一个WebSERVICE的服务类,在这,MyEclipse已经给提供了快捷的创建方式,爱死它了。

你可以在项目名字Test_WebService上右击选择:步骤7:在弹出的窗口中选择:MyEclipse下的Web Service下的WebService点击Next步骤8:在打开的窗口中,勾选,借助Myeclipse通过javabean 的形式来生成WebService点击next步骤9:在打开的该窗口中,你只需填入:,这就是将来你访问该WebService的名字了,当然建立好了以后,如果你又想改名字,可以在services.xml中改的,我借用了一下我的qq昵称的名字,呵呵Silent soul。

你可以起你想要的名字,当然要遵循命名规范,做到见名知意。

底下的会自动根据你填入的Web service name的名字,自动填进去,在中,这是让你选择,你要把创建的webservice类,放在哪个包中,此时,我还没有建立包,所以,咱们可以n点击New建立一个包,建好后,该窗口最后的样子为以下:点击Finish步骤10:至此,创建webservice的步骤已经结束,此时再看,Test_WebServcie的结构:你会发现,多了,并且,services.xml中多了:分别打开ISilent_Soul_Service,和Silent_Soul_ServiceImpl,你会发现,跟你所见到的普通的java类没有任何区别,ISilent_Soul_Service就是一个普通的接口,Silent_Soul_ServiceImpl是一个实现了ISilent_Soul_Service接口的类,恭喜你,看对了。

!!就是这么简单,Xfire让webservice就是这么简单,就是普通的javabean,只不过,在services.xml中,你要注册一下该类和接口为service。

,在servies.xml中,这就是webservice的名字了,就是接口,为实现方法步骤11:此时你就可以在ISilent_Soul_Service接口中定义你想定义的方法,在Silent_Soul_ServiceImpl中做实现了,Myeclipse默认给生成了一个方法,example(String message),那么咱就在这个方法里,做个简单的实现,在Silent_Soul_ServiceImpl类中加入如下代码:步骤12:此时WebService全部创建完毕,恭喜你,你可以在任意一个项目中调用了。

为了方便,将其部署到Tomcat上,当然,你可以部署在任何一个服务器上,resin,weblogic。

你随便,跟部署普通的项目一样,如图:步骤13:启动Tomcat,启动成功后,打开浏览器,输入:http://127.0.0.1:8088/Test_WebService/services/Silent_Soul_Service?ws dl你就能看见如下界面了:恭喜你,如果你能看到该界面,已经证明,你的webservice是成功的。

在此说明一点,如果你的tomcat是6.0一下的版本的话,启动的时候会报错,不过不用担心,那是因为tomact6.0以下的版本,中有一个还是两个包,跟Xfire中带的包冲突,具体是哪个我记不清了,去掉冲突的包就Ok ,再有就是,我建议大家如果你喜欢用Tomcat的话,那你就用5。

X以上的版本,因为tomcat算不上是个服务器,只能算是一个web的容器,但是它是从6.0以后,更加专注于服务器的,负载均衡能力肯定比低版本的要好。

分析一下这个访问地址:http://127.0.0.1:8088/Test_WebService这一部分很好理解,就是本机的服务器地址加项目的名字,后面的services/Silent_Soul_Service?wsdl,这一块,其中services是固定的,因为你在你的web.xml中,定义的Xfire的过滤器,过滤的路径就是/services/*,所以,你必须加上services,而Silent_Soul_Service?wsdl,Silent_Soul_Service是你在services.xml中配置的webservice的名字了,后面跟一个?wsdl这是固定的,也就是说,名字+?wsdl了。

WSDL是Web Service的描述语言。

也就是说,任何一个webservice的访问形式基本都是这样的,最后都是http://*******/webservice名字?wsdl.步骤13:此时。

你可以随便在你的任何一个项目里调用了,但是,一定要记住,无论哪个项目中,你想调用的话,都得在要用到的项目中引入这两个类库步骤14:为了演示,我随便见一个java的项目,当然,j2se的也可,J2EE项目也可,都可以。

我随便见一个普通的java项目,引入上面所说的两个类库,如图:在HelloWebService中,我只加入一个main方法,如下:其中:URL:填入访问你的webservice的地址,invoke方法的第一个参数填入你要调用的方法的名字,第二个参数写入你要传递的参数返回值为Object【】数组类型。

相关文档
最新文档