热门标签 | 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

 



推荐阅读
  • 本课程详细解析了Spring AOP的核心概念及其增强机制,涵盖前置增强、后置增强和环绕增强等类型。通过具体示例,深入探讨了如何在实际开发中有效运用这些增强技术,以提升代码的模块化和可维护性。此外,还介绍了Spring AOP在异常处理和性能监控等场景中的应用,帮助开发者更好地理解和掌握这一强大工具。 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • 本文深入探讨了Spring Cloud Eureka在企业级应用中的高级使用场景及优化策略。首先,介绍了Eureka的安全配置,确保服务注册与发现过程的安全性。接着,分析了Eureka的健康检查机制,提高系统的稳定性和可靠性。随后,详细讨论了Eureka的各项参数调优技巧,以提升性能和响应速度。最后,阐述了如何实现Eureka的高可用性部署,保障服务的连续性和可用性。通过这些内容,开发者可以更好地理解和运用Eureka,提升微服务架构的整体效能。 ... [详细]
  • MVVM架构~mvc,mvp,mvvm大话开篇
    返回目录百度百科的定义:MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:ControllerPresenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 深入解读代码页与字符集的概念及其实际应用
    许多开发者可能未曾留意到这一问题,但如果您的网站频繁遭遇不明原因的乱码现象,深入了解代码页与字符集的概念及其实际应用将大有裨益。代码页(Codepage),即内码表,是计算机系统中用于映射字符与其编码值的一种机制,不同的代码页支持不同的字符集,正确选择和配置代码页对于确保文本数据的准确显示至关重要。在多语言环境下,合理运用字符集和代码页能够有效避免字符编码冲突,提升用户体验。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 本文深入探讨了 Spring Cloud 微服务架构中 Gateway 组件的应用,详细介绍了其在实现高效请求路由与过滤方面的关键作用。文章首先从基本配置入手,逐步讲解了如何通过静态路由和动态路由实现灵活的服务访问控制。此外,还特别介绍了如何配置 Gateway 以自动从 Nacos 服务注册中心拉取服务列表,进一步提升系统的可维护性和扩展性。 ... [详细]
  • APKAnalyzer(1):命令行操作体验与功能解析
    在对apkChecker进行深入研究后,自然而然地关注到了Android Studio中的APK分析功能。将APK文件导入IDE中,系统会自动解析并展示其中各类文件的详细信息。官方文档提供了详细的命令行工具使用指南,帮助开发者快速上手。本文以一个RecyclerView的Adapter代理开源库为例,探讨了如何利用这些工具进行高效的APK分析。 ... [详细]
  • 本文介绍了一种专为清洁工人设计的自定义文本烟花效果。通过该功能,用户可以输入特定的感谢或祝福语句,系统将生成绚丽的烟花动画,以表达对清洁工人的敬意和感激之情。该特效不仅美观,还能增强用户的互动体验,提升公共场合的氛围。 ... [详细]
  • IIS 7及7.5版本中应用程序池的最佳配置策略与实践
    在IIS 7及7.5版本中,优化应用程序池的配置是提升Web站点性能的关键步骤。具体操作包括:首先定位到目标Web站点的应用程序池,然后通过“应用程序池”菜单找到对应的池,右键选择“高级设置”。在一般优化方案中,建议调整以下几个关键参数:1. **基本设置**: - **队列长度**:默认值为1000,可根据实际需求调整队列长度,以提高处理请求的能力。此外,还可以进一步优化其他参数,如处理器使用限制、回收策略等,以确保应用程序池的高效运行。这些优化措施有助于提升系统的稳定性和响应速度。 ... [详细]
  • 随着越来越多的应用程序采用JSON格式作为响应数据,基于Spring Framework构建的服务端应用也广泛采用了这一实践。本文将详细介绍如何在Spring 4.x版本的MVC框架中配置和实现HTTP请求返回JSON数据流,涵盖相关配置、依赖管理和代码示例,帮助开发者高效地实现这一功能。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 利用Jenkins与SonarQube集成实现高效代码质量检测与优化
    本文探讨了通过在 Jenkins 多分支流水线中集成 SonarQube,实现高效且自动化的代码质量检测与优化方法。该方案不仅提高了开发团队的代码审查效率,还确保了软件项目的持续高质量交付。 ... [详细]
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社区 版权所有