热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Java中高效构建WebService

本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的JavaSOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。

    XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml )

 

    MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的, XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在Web Services下的简单API,支持POJO和schema开发. XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory传输协议

 

一、环境配置:MyEclipse7.0

                     JDK1.6

二、创建Web Service Project

      1)在MyEclipse中选择File—>New—>Other,选择Web Service Project 

      2)Project Name:WebServiceServer,Framework:XFire,其他选项默认

      3)Next,这一步保持默认值

     4)Project Library选择,选择XFire 1.2  Core Libraries

     5)Finish,创建成功后看到的工程目录如下:

     6)完成以上5步后,查看WebRoot/WEB-INF/web.xml

         这里指明了当遇到/services/*请求时,将选用XFireConfigurableServlet来处理   

 

 

三、创建Web Service Code

 

    1)通过File—>New—>Other—>Web Services—>Web Service wizard创建JAVA CODE

 

 

     2)选择通过JAVA CLASS创建Web Service

 

 

 

     3)创建HelloWebService.java,通过New创建com.service package,向导将为工程自动创建对应的接口类与实现类

 

 

 

     创建成功后查看WebServices/services.xml,发现配置文件多了以下内容:

 

 

 

    4)修改HelloWebServiceImpl.java

 

    package com.service;

    //Generated by meteorWJ

 

   public class HelloWebServiceImpl implements IHelloWebService {

   

     public String example(String message) {

        return getAuthor()+","+message;

     }

     private String getAuthor(){

        return "meteorWJ";

     }

   

   }

 

四、部署并测试WebSericeServer

    1)部署WebServiceServer

 

 

    在部署向导中选择项目、服务器

 

 

 

    2)启动服务器

 

   3)测试WebService

   MyEclipse提供了一个Web Service Explorer来测试Web Service

   选择列表中的Launch SOAP Web Services Explorer

   4)选择WSDL模式

 

 

   5)在Explorer中选择WSDL Main,在右边的URL中输入

 

   http://locahost:9090/WebServiceServer/services/HelloWebService?WSDL,单击"Go"

   其中9090是服务器端口号,services在之前的web.xml中指定

   若在Status中显示成功打开WSDL文件则测试成功 

五、创建WebService客户端

经过以上几步,我们已经成功发布了一个WebService,现在需要创建一个客户端来调用该服务

  1)创建Java Project:WebServiceClient

  2)引入MyEclipse Libraries

       右键WebServiceClient—>Build Path—>Add Libraries

    选择XFire 1.2 HTTP Client Libraries

 

 

   3)创建HelloWebService.java

 

   在src目录下创建com.client.HelloWebService.java

   package com.client;

 

   import java.net.URL;

   import org.codehaus.xfire.client.Client;

 

   public class HelloWebService {

       public static void main(String[] args) throws Exception

       {

        Client client = new Client(new URL("http://localhost:9090/WebServiceServer/services/HelloWebService?wsdl"));

        Object[] results = client.invoke("example", new Object[] {"hello"});

        System.out.println((String) results[0]);

       }

   }

 

   4)在确认服务器启动的情况下,运行HelloWebService.java

   右键点击Run As>Java Application,在控制台中看到如下输出

 

 

截图如下:

 

下一步

 

下一步

Finish

在WebServices/services.xml实际上是接口和实现类,可以自己写java类,也可以自动生成,如:

新建一个Web Service

下一步:关联到前面建的项目HelloWorld

下一步:接口名HelloWorldService,默认的接口为IhelloWorldService,实现类为HelloWorldServiceImpl

完成后如下:

WebServices/services.xml自动生成为:

xml version="1.0" encoding="UTF-8"?>

<beans xmlns&#61;"http://xfire.codehaus.org/config/1.0">

    <service>

       <name>HelloWorldServicename>

       <serviceClass>com.service.IHelloWorldServiceserviceClass>

       <implementationClass>

           com.service.HelloWorldServiceImpl

       implementationClass>

       <style>wrappedstyle>

       <use>literaluse>

       <scope>applicationscope>

    service>

beans>

 

 

访问地址&#xff1a;

http://192.168.72.8:8888/HelloWrold/services/HelloWebService?wsdl

 



推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • andr ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文介绍了ArcXML配置文件的分类及其在不同服务中的应用,详细解释了地图配置文件的结构和功能,包括其在Image Service、Feature Service以及ArcMap Server中的使用方法。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文详细介绍了Java Web应用程序中的过滤器(Filter)功能,包括其作用、实现方式及配置方法。过滤器可以在请求到达目标资源之前对其进行预处理,并在响应返回给客户端之前进行后处理。 ... [详细]
author-avatar
老海文
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有