`

webService完整例子

阅读更多
首先说明:xfire和axis性能问题
xfire和axis进行比较的话,axis访问速度要快的多,即:axis性能更好(进行测试过)

发布webservice服务及生成客户端代码
使用Eclipse的第一种方式发布服务及生成客户端代码
一、发布webservice 服务:

1、新建项目
Eclipse中新建“动态web项目“

2、增加jar包
将 服务器端_lib目录下的所有jar包 拷贝到工程 lib下(或下载xfire-distribution-1.1.2.zip,),
下载地址:http://xfire.codehaus.org/Download
   解压后出现xfire-1.1.2文件夹,将此文件夹下的xfire-all-1.1.2.jar和lib下的所有jar包拷贝到 工程lib下)
用到的jar包如下图:


3、在WebContent下的META-INF目录下 新建xfire文件夹,然后在xfire下建立services.xml,再把整个META-INF目录拖到WEB-INF目录下,目录结构如图:


4、配置services.xml
配置services.xml 将要发布的服务配置一下,下面是发布一个服务类的配置代码:

   <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>serv</name>
<namespace>http://www.com.service/jie</namespace>
<serviceClass>ser.ServImpl</serviceClass>
</service>
</beans>

5、配置web.xml 
将下面配置复制到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>

6、新建Server 用以部署工程
new 一个 Server  ,然后 在工程下右击   》 Run  As  》 Run  on  Server     选择 刚才new的server 运行即可
   ,加入 工程叫做:test ,打开浏览器输入URL:http://localhost:8080/test/services/serv?wsdl,如果显示wsdl描述那就成功了




二、生成客户端代码:

1、生成客户端代码
Eclipse下新建一个  Web  Service  Client  下一步  》在 Service definition 文本框输入http://localhost:8080/test/services/serv?wsdl  》 next  》 选择客户端代码放到哪个工程下(在下拉框选择即可)
2、使用客户端调用服务器端的服务
  注意:调用服务时一定保证服务器端工程部署在应用服务器下 并且已经启动
  因为sebservices.xml中定义了命名空间:<namespace>http://www.com.service/jie</namespace>,所以生成的客户端代码会放在
service.com.www.jie包下(这是Eclipse根据命名空间自动生成的),该包下会生成一些相关的类,此时我们只需要关心一个代理类即可,因为sebservices.xml中定义了 服务名:<name>serv</name> ,所以生成的类的前缀都是 serv(S会变成大写)开头,我们只关心名称为SerPortTypeProxy的代理类,使用方法如下:

SerPortTypeProxy  Proxy = new SerPortTypeProxy ();  有了这个代理类我们就可以像在服务器端使用服务类一样调用方法了。



使用Eclipse的第二种方式发布服务及生成客户端代码
一、发布服务
1、发布服务
我们有个动态web项目,里面的某个(和多个)类要发布成webservice服务,假如该类放在test包下,类名为:Myserver ,那么我们就可以这样做:new 一个 Web Service 如下:
选中要发布的类


New 一个Web Service如下图:


点击next 显示如图:(此时在Service implementation框中已经写好test.Myserver)










点击next 选择要发布的方法 如图:

点击 Finish 服务发布完成了。
此时,WebContent下会生成一个wsdl文件夹,该文件夹下生成一个名为:Myserver.wsdl
描述文件(Myserver和我们的服务类名称一样,wsdl为后缀名),该文件便是webservice描述文件,里面已经生成了描述配置,
同时,WEB-INF下生成一个名为:MyserverService文件夹,该文件夹下有一些描述文件,
同时,web.xml中已生成好相关的配置
同时,需要的jar包已经加到工程里,可以去Eclipse工作空间  》工程的lib下去看看
此时的目录结构如下图:

Jar包如下图:

2、新建应用服务器Server
新建server是为了部署工程,因为只有部署到应用服务器中并且应用服务器已启动才能生成客户端
二、生成客户端代码
1、启动应用服务器,
打开浏览器输入URL:
http://localhost:8080/xucuotao/services/Myserver?wsdl  如果描述语言显示出来那么发布服务OK了
2、新建Web S ervice Client 生成客户端代码
选中要存放客户端代码的客户端工程 如图:


New 一个Web S ervice Client 如下图:


点击 next  在Service definition 框输入URL  如下图:



点击 next  在 output folter 下拉框选择 存放客户端代码的工程 如下图:



点击 Finish 客户端代码生成OK了
此时,客户端工程的src目录下生成test目录 该目录下是生成的一些客户端类 如图:


我们只关注其中的MyserverProxy代理类(Myserver和服务类名称一样,后面是proxy,说明是一个代理类),至于如何调用请阅读下面文字

3、客户端调用webservice服务
再生产的一些类中,我们只关注其中的MyserverProxy代理类,使用方法如下:
有了该代理类就像在服务器端 使用 服务类一样,直接调用方法即可  如下:
MyserverProxy proxy =new MyserverProxy();
public class Test {

public static void main(String[] args) {
MyserverProxy proxy =new MyserverProxy();

try {
System.out.println(proxy.getDateBase("zhaoshijie赵士杰"));
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

运行结果如下图:


三、使用MyEclipse发布webservice服务及生成客户端代码
1、发布服务
直接新建 Web Service Project   如下图:


然后新建Web Service  (注意要用 MyEclipse 下的 Web Service) 如下图:


点击 next  选择服务类 放到哪个工程  如下图: 放到 ser 工程 
并打钩 create new java bean (意思是建立一个新的服务类)



点击 next  在seb service  name 框输入:Myservice 
在 java package 新建服务类存放的包:serviceTest  此时如下图:


点击 Finish 完成了
2、生成客户端代码
有时间写一下
分享到:
评论

相关推荐

    PB12 webservice完整例子源码

    PB12 Webservice完整例子源码是一个针对PowerBuilder 12.6的示例项目,展示了如何在Windows 7环境下创建和使用Web服务。PowerBuilder是Sybase(现为SAP的一部分)开发的一种面向对象的集成开发环境(IDE),特别适合...

    java开发webService完整例子借鉴.pdf

    Java 开发 Web 服务完整例子 本文档主要讲述了 Java 开发 Web 服务的完整例子,包括使用 JDK 中的 Web 服务 API 实现 Web 服务,以及使用 XFire 工具来生成 Web 服务。 一、使用 JDK 中的 Web 服务 API 实现 Web ...

    webservice完整例子(与spring整合)

    我费了好长时间研究整理的一个很好的webservice例子,与spring整合,代码简洁、全面、完整,包括客户端和服务端源代码,另外我还写了一个word文件详细介绍了开发步骤,资源分虽说高了点,但绝对物有所值。

    webservice详细例子

    Web服务(WebService)是一种基于互联网的、用于应用程序之间交互的技术,它允许不同的系统之间共享数据和服务,不受操作系统或编程语言的限制。本示例将深入探讨`jax-ws`与`Spring`框架的整合,这在企业级开发中...

    较完整的webservice例子

    【标题】:“较完整的Webservice例子” 在IT领域,Web Service是一种基于开放标准(如XML、WSDL和SOAP)的,使得不同系统间能够通过网络进行互操作的技术。本资源提供了一个较为完整的Webservice实现案例,它可以...

    webservice的完整例子

    让我们深入探讨这个"webservice"的完整例子。 一、Axis框架 Axis是Apache软件基金会开发的一个Java库,专门用于处理Web服务。它支持SOAP(简单对象访问协议)和WSDL(Web服务描述语言),使得开发者可以轻松地创建...

    webservice接口例子

    标题中的“webservice接口例子”是指该资源包含一个或多个实际的WebService接口示例,可能涵盖了如何创建、调用以及处理响应等方面。这些例子可以帮助开发者更好地理解WebService的工作原理,以及如何在实际项目中...

    webService(基于cxf)的完整例子

    在这个基于CXF的Web服务完整例子中,我们将深入探讨CXF的核心概念、配置、以及如何创建和调用Web服务。 1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache ...

    C#webservice应用例子(含头验证)

    1. **创建Web服务**:在Visual Studio中,可以创建一个新的ASP.NET Web服务项目,这将自动生成一个默认的WebService类。这个类继承自`System.Web.Services.WebService`,并可以添加公开的方法供外部调用。 2. **...

    一个简单的WEBSERVICE 例子

    在这个例子中,`Service1` 类继承自 `System.Web.Services.WebService`,这标志着该类是一个 WebService。构造函数 `Service1()` 被用于初始化组件。 #### 2.2 WebService 属性设置 ```csharp [WebService( ...

    Android调用天气预报的WebService简单例子

    Android 调用天气预报的 WebService 简单例子 Android 调用天气预报的 WebService 需要使用第三方的 SDK,常用的有 KSOAP2。KSOAP2 是一个适合手机的 WebService 客户端的 SDK。使用 KSOAP2 需要下载 ksoap2-...

    webservice小例子

    本示例"webservice小例子"旨在提供一个基础的Web服务接口开发与客户端调用的教程。下面我们将深入探讨Web服务的核心概念、工作原理以及如何创建和使用Web服务。 1. **Web服务核心概念**: - **SOAP(Simple Object...

    axis2webservice接口例子

    标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web服务接口实例。Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个...

    webservice的简单例子

    Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同系统之间进行数据交换和功能调用。在这个简单的例子中,我们将探讨Web服务的基本概念、创建过程以及如何使用工具进行测试。以下是对Web服务...

    camel-cxf调用和发布webservice例子

    用camel-cxf调用webservice和发布一个webservice接口例子,首先启动QueryServiceMain主函数启动webservice接口,然后启动测试类TestWebservice。例子主要是实现java代码实现camel调用webservice接口

    webservice简单例子,Tomcat

    在这个例子中,Tomcat将作为Web服务的服务器,承载服务端的Web服务应用程序。 创建Web服务的步骤大致如下: 1. **设置环境**: 首先,你需要在本地机器上安装Java Development Kit (JDK) 和Apache Tomcat。接着,...

    WebService java 例子 webxml

    一个使用webservice的例子 java编写的 调用http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx的webservice服务

    XFire_WebService开发例子.zip

    【标题】"XFire_WebService开发例子.zip" 提供了一个关于使用XFire框架构建Web服务的实际示例。这个压缩包包含了一个详细的文档,名为“XFire_WebService开发例子.docx”,该文档很可能是对如何利用XFire框架创建和...

    .net调用webservice接口例子

    本示例将详细讲解如何使用.NET来调用一个WebService接口,并提供相关的代码实例。 首先,让我们理解Web Service的基本概念。Web Service是一种基于XML(可扩展标记语言)的标准化方法,用于在不同应用程序之间共享...

    Axis 下的 WebService例子

    本篇将深入探讨Axis下的WebService例子,以及如何利用它来实现跨平台的数据交互。 首先,我们需要理解WebService的基本概念。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的互联网应用程序,能够通过XML...

Global site tag (gtag.js) - Google Analytics