`
hepeng_8
  • 浏览: 80446 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

WebServiceMyeclipseWebTomcatSOAP

 
阅读更多

WebServiceMyeclipseWebTomcatSOAP

开发环境
Sun Java 5+ Eclipse 3.2 +MyEclipse 5.0.0.

概述

本文介绍了使用MyEclipse Web Service来迅速开发和测试一个HelloWorld Web Service,其中包括:
1. 介绍了MyEclipse Web Services的基本概念
2. 创建一个MyEclipse Web Services工程
3. 创建一个简单的HelloWorld Web Service
4. 在Web容器中,如Tomcat 5中部署Web Service
5. 使用Web Services Explorer来测试部署的Web Services

XFire Java SOAP框架概述
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传输协议.

一. 创建Web Service工程

在MyEclipse 5.0中引入了一个新的工程类型即WebService工程,该工程扩展了MyEclipse WebProject来支持额外的Web Service配置,开发和部署.本部分将使用Web Services Project wizard来创建和配置一个新的Web Service Projects Web Service Wizard将完成下列的动作:
创建MyEclipse J2EE Web Project
在工程中的web.xml文件中配置XFire Servlet
创建XFire services.xml配置文件
在工程中的构建路径中添加MyEclipse-XFire类库
添加一个指定的MyEclipse web project builder到.projects文件,以便部署services.xml文件到它合适的位置.如: /WEB-INF/classes/META-INF/xfire/

运行Web Service Project Wizard
该向导包括三个页面, Page-1搜集Web Project配置细节, Page-2搜集XFire配置细节,Page-3在新建的构建路径中配置XFire类库
1. 执行Web Services Project Wizard.
1). 选择File>New>Other
2). 扩展MyEclipse种类按照J2EE工程的种类
3). 选择Web Services Project然后点击Next,如图所示


Figure-1: New Project Wizard Launcher
2. 添加Project Name,点击Next



Figure-2: Page-2, Collecting web configuration details
3.在向导的Page-2中添加XFire servlet和service.xml文件的配置信息,按照默认的值即可.


Figure-3: XFire servlet and services.xml configuration

4.在向导的Page-3中选择类库添加到工程的构建路径中,其中XFire Core Library是需要的,如果要在工程中开发一个客户端应用, XFire HTTP Client Libraries也是需要的.




Figure-4: Selecting XFire libraries to add to new web service project buildpath

5选择Finish完成Web Service工程的创建过程
Figure-5,显示了新创建的HelloWorld Web Service工程的组织结构,Web Service 工程和一个标准的MyEclipse Web工程很相似. XFire Web Service配置元素如图红色区域显示:


Figure-5: Web services artifacts of a new web service project

二. 创建Web Service-Code-firstStrategy
在这部分将用MyEclipse Web Service Wizard并通过使用Code-first Strategy来创建一个HelloWorldService示例.

1. 执行MyEclipse Web Service Wizard,有两种方法来执行MyEclipse Web Service Wizard
方法1.从MyEclipse perspectivetoolbar中来执行向导
在打开的Web Service Wizard上的workbench上来选择新Web Service按钮
方法2.从workbench menubar执行向导
1. 从workbench menubar选择:File>New>Other>MyEclipse>Web Service



Figure-6: Launching Web Service Wizard

2. 在Page-1选择HelloWorld 工程并选择Create web service from Java bean
3. 选择Next到Page-2



Figure-7: Page-1 of new web service wizard

4. 填写Web Service的名字HelloWorldService
5. 选择Java Source folder或者选择New按钮来新建一个source folder
6. 填写Java package或者通过选择Browse按钮来选择一个已经存在的package.也可以选择New按钮来新建一个Java package
注意:对Service接口和Service执行的类的默认值是基于所填入Web Service名字来产生的.
7. 选择Next来初始化Web Service的创建过程



Figure-8: Page-2 of new web service wizard.
该向导产生了IHelloWorldService Java接口和HelloWorldServiceImpl Java类.并且在services.xml配置文件中创建了一个实体(如图所示),注意到example(String message)方法在接口类中产生,当Web Service部署后作为一个测试操作.



Figure-9: Newly created HelloWorld interface and implementation class

三. 部署Web Service Project
Web Service可以部署在任何MyEclipse支持的J2EE应用服务器上,该部分将演示如何在Tomcat 5 Web容器上部署HelloWorld工程.

3.1部署HelloWorld Web Service Project

Figure-10显示了如何部署HelloWorld应用.
1. 从Server Manager中选择Deployer按钮(step-1)
2. 在Server Deployments对话框中选择Addto create a new deployment (step-2)
3. 在New Deployment对话框中选择HelloWorld工程并选择Exploded Archive选项
4. 在New Deployment对话框选择Finish来将HelloWorld在Tomcat 5默认的位置中打包为WAR
5. 选择OK完成部署



Figure-10: Three-step deployment process
新HelloWorld WAR部署将出现在ServerManager视图中Tomcat 5节点下.



Figure-11: Servers Manager View depicting deployed HelloWorld web serviceproject
四. 启动Tomcat服务器
五. 使用Web Service Explorer测试Web Service
MyEclipse提供了一个Web Service Explorer来测试Web Service.
1. 在MyEclipse perspective中选择toolbarbutton来执行Web Service Explorer



Figure-15: Web Services Explorer launch button on workbench toolbar

2. 选择WSDL模式(Figure-16)
3. 在活动面板中键入HelloWorldService WSDL文档的URLhttp://localhost:8080/HelloWorld/services/HelloWorldService?WSDL,WebService Explorer将下载自动产生的WSDL文档,该WSDL文档由XFire framework,并产生一系列的操作能够调用service.
4. 在活动面板中选择example操作并在in0域中键入HelloWorld
5. 选择Go按钮来调用在HelloWorldService上的example操作,,结果出现在Status面板上


Figure-16: Web Services Explorer testing HelloWorldService

六. 创建Java Test客户端
XFire提供了一个动态的代理框架,能够读取WSDL文档和创建潜在的消息服务使Java类来执行在Web Service的行为.该部分将为HelloWorld Web Service写一个Java Web Service客户端
6.1增加XFire类库配置
为了使example client能够在HelloWorld工程中运行,需要增加XFire HTTP Client类库到工程的构建路径中.
1. 在Package Explore视图中右击HelloWorld工程选择Build Path>Add Library
2. 选择MyEclipse Libraries
3. 选择XFire HTTP Client Libraries


Figure-17: Choosing the XFire HTTP Client Libraries
4. 选择Finish
6.2创建HelloWorldClient类
执行Java类向导来创建HelloWorldClient类


Figure-18: HelloWorldClient defined in New Java Class Wizard.
代码如下:

Java代码

  1. public static void main(String[] args) ...{
  2. Service srvcModel = new
  3. ObjectServiceFactory().create(IHelloWorldService.class);
  4. XFireProxyFactory factory =
  5. new XFireProxyFactory(XFireFactory.newInstance().getXFire());
  6. String helloWorldURL =
  7. "http://localhost:8080/HelloWorld/services/HelloWorldService";
  8. try ...{
  9. IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL);
  10. String result = srvc.example("hello world");
  11. System.out.print(result);
  12. } catch (MalformedURLException e) ...{
  13. e.printStackTrace();
  14. }
  15. }

public static voidmain(String[] args) ...{

Service srvcModel = new

ObjectServiceFactory().create(IHelloWorldService.class);

XFireProxyFactory factory =

newXFireProxyFactory(XFireFactory.newInstance().getXFire());

String helloWorldURL =

"http://localhost:8080/HelloWorld/services/HelloWorldService";

try ...{

IHelloWorldService srvc =(IHelloWorldService)factory.create(srvcModel, helloWorldURL);

String result = srvc.example("helloworld");

System.out.print(result);

} catch (MalformedURLException e) ...{

e.printStackTrace();

}

}


该段代码定义了创建一个XFire web service proxy的过程,该代理支持POJO IHelloWorldService接口

右键点击Run As>Java Application或者Debug As>JavaApplication来运行或调试该程序

分享到:
评论

相关推荐

    TCABEE 008-2020 轨道交通车站高效空调系统技术标准.docx

    TCABEE 008-2020 轨道交通车站高效空调系统技术标准.docx

    node-v5.12.0-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于阿里云的 ECS 部署 Ghost 博客内含源码以及说明书可以自己运行复现.zip

    基于阿里云的 ECS 部署 Ghost 博客内含源码以及说明书可以自己运行复现.zip

    2023-04-06-项目笔记 - 第一百二十六阶段 - 4.4.2.124全局变量的作用域-124 -2024.05.07

    2023-04-06-项目笔记-第一百二十六阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.124全局变量的作用域_124 - 2024-05-07

    node-v10.4.1-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    66297787762147sf22346mod.apk

    66297787762147sf22346mod.apk

    对k8s的client的封装

    对k8s的client的封装

    node-v7.7.3-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Java学习路线逐步成为资深的Java专家.pdf

    上文对于初学者学习Java具有非常重要的指导作用。以下是对初学者学习Java的具体作用: 明确学习方向: 学习路线为初学者提供了一个清晰的学习方向,使他们能够系统地掌握Java从基础到进阶再到企业级开发的核心知识和技能。这有助于初学者避免在学习过程中迷失方向,减少无效学习的时间。 阶梯式学习: 学习路线按照从易到难的顺序,将Java知识划分为不同的阶段,每个阶段都有明确的学习目标和内容。这种阶梯式的学习方式有助于初学者逐步建立起对Java的深入理解和应用能力,提高学习效率。 理论与实践相结合: 学习路线不仅包含了理论知识的学习,还强调了实践项目的重要性。通过实践项目,初学者可以将所学知识应用到实际开发中,加深对知识的理解和掌握。这种理论与实践相结合的学习方式有助于培养初学者的动手能力和解决问题的能力。 技能拓展与提升: 学习路线不仅涵盖了Java语言的基础和进阶知识,还涉及了Java Web开发、企业级开发、性能优化与分布式系统等高级主题。这些高级主题的学习有助于初学者拓展自己的技能范围,提升在Java领域的竞争力。 激发学习兴趣: 通过不断挑战自己,尝试构建更复杂的项目或系

    2024-2030中国SDS-PAGE蛋白质分析市场现状研究分析与发展前景预测报告.docx

    2024-2030中国SDS-PAGE蛋白质分析市场现状研究分析与发展前景预测报告

    node-v9.0.0-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    遥感图像滤波处理(去除条带噪声、PCA变换、数据融合、图像平滑、图像锐化)

    1.1 实习目的 1) 掌握图像滤波的基本定义及目的。 2) 掌握进行图像的空间域滤波、频率域滤波的基本原理及方法。 3) 掌握傅立叶变换及逆变换的基本原理方法。 4) 掌握主成分变换的基本原理方法。 5) 学习图像融合和图像锐化基本处理。 1.2 实习内容 1) 使用频率域滤波去除spot周期性条带。 2) 使用波段运算计算大气校正结果的NDVI、NDWI、NDBI。 3) 使用L7数据做PCA变换,查看各主成分信息,使用前三波段进行数据压缩。 4) 使用L7和pan做数据融合。 5) 使用IKONOS数据做高斯噪声和椒盐噪声的去除,比较不同滤波方法的差异,不同尺寸的影响。 6) 使用IKONOS数据做图像锐化,分别使用Robert、SOBEL、Laplacian算子和方向滤波进行处理。

    node-v7.10.0-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    JDBC 入门教程内含源码以及说明书可以自己运行复现.zip

    JDBC 入门教程内含源码以及说明书可以自己运行复现.zip

    node-v8.11.3-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Microsoft365-E5-Renew-Plus-with-runtime.rar

    Microsoft365-E5-Renew-Plus-with-runtime.rar

    基于java的个人博客项目,支持文章发布和管理

    一个个人博客项目。适合用于个人或小型团队分享知识和经验。特点是可以提供一个简洁的博客平台,支持文章发布和管理。 数据库文件目录为static-files/my_blog_db.sql; 部署后你可以根据自己需求修改版权文案、logo 图片、备案记录等网站基础信息; My Blog 后台管理系统的默认登陆账号为 admin 默认登陆密码为 123456;

    为工控设备增加温度、时钟显示电路源程序.rar

    单片机学习代码资料

    VB开发的VIN实用的计算器项目+源码

    VB开发的VIN实用的计算器项目+源码. VB开发的VIN实用的计算器项目+源码. VB开发的VIN实用的计算器项目+源码. VB开发的VIN实用的计算器项目+源码. VB开发的VIN实用的计算器项目+源码. VB开发的VIN实用的计算器项目+源码.

    2024年中国超声波凝固和切割装置行业研究报告.docx

    2024年中国超声波凝固和切割装置行业研究报告

Global site tag (gtag.js) - Google Analytics