2.3 Apache Axis2 快速学习手册之 ADB 构建Web Service
使用ADB生成服务(根据ADB 命令将wsdl 文件还原成Java代码)
要使用Axis2数据绑定框架(ADB)生成和部署服务,请执行以下步骤。
通过在Axis2_HOME / samples / quickstartadb目录中键入以下内容,使用WSDL2Java实用程序生成框架:
- (Windows)
- %AXIS2_HOME%\bin\wsdl2java.bat -uri resources\META-INF\StockQuoteService.wsdl -p samples.quickstart.service.adb -d adb -s -ss -sd -ssi -o build\service
- (Linux)
- $AXIS2_HOME/bin/wsdl2java.sh -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.adb -d adb -s -ss -sd -ssi -o build/service
否则,只需在Axis2_HOME / samples / quickstartadb目录中键入ant generate.service即可。
选项-d adb指定轴数据绑定(ADB)。-s开关仅指定同步或阻塞调用。-ss开关创建服务器端代码(框架和相关文件)。-sd开关创建服务描述符(services.xml文件)。-ssi开关为服务框架创建一个接口。现在,服务文件应位于构建/服务中。
如果您直接使用WSDL2Java生成代码,接下来您必须修改生成的框架以实现服务(如果您使用“ant generate.service”,则完成的框架将自动复制到生成的框架上)。
打开build / service / src / samples / quickstart / adb / service / StockQuoteServiceSkeleton.java文件并对其进行修改,以将服务的功能添加到生成的方法中; 如代码清单6所示。
代码6:定义 Web Service 文件
- package samples.quickstart.service.adb;
- import samples.quickstart.service.adb.xsd.GetPriceResponse;
- import samples.quickstart.service.adb.xsd.Update;
- import samples.quickstart.service.adb.xsd.GetPrice;
- import java.util.HashMap;
- public class StockQuoteServiceSkeleton implements StockQuoteServiceSkeletonInterface {
- private static HashMap map;
- static{ map = new HashMap(); }
- public void update(Update param0) {
- map.put(param0.getSymbol(), new Double(param0.getPrice()));
- }
- public GetPriceResponse getPrice(GetPrice param1) {
- Double price = (Double) map.get(param1.getSymbol());
- double ret = 42;
- if(price != null){
- ret = price.doubleValue();
- }
- GetPriceResponse res =
- new GetPriceResponse();
- res.set_return(ret);
- return res;
- }
- }
现在,您可以通过在build / service目录中键入以下命令来构建项目:
- ant jar.server
如果一切顺利,您应该在窗口中看到BUILD SUCCESSFUL消息,并在build / service / build / lib目录中看到StockQuoteService.aar文件。将此文件复制到servlet引擎的webapps / axis2 / WEB-INF / services目录。
services.xml 配置如下:
- <service name="StockQuoteService" scope="application">
- <messageReceivers>
- <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
- class="samples.quickstart.service.adb.StockQuoteServiceMessageReceiverInOut"/>
- <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
- class="samples.quickstart.service.adb.StockQuoteServiceMessageReceiverInOnly"/>
- </messageReceivers>
- <parameter name="ServiceClass">samples.quickstart.service.adb.StockQuoteServiceSkeleton
- </parameter>
- <operation name="update" mep="http://www.w3.org/ns/wsdl/in-only">
- <actionMapping>urn:update</actionMapping>
- </operation>
- <operation name="getPrice" mep="http://www.w3.org/ns/wsdl/in-out">
- <actionMapping>urn:getPrice</actionMapping>
- <outputActionMapping>http://quickstart.samples/StockQuoteServicePortType/getPriceResponse</outputActionMapping>
- </operation>
- </service>
值得注意的是这种方式使用的消息处理器类是,这是和其他方法不同的地方
- <messageReceivers>
- <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
- class="samples.quickstart.service.adb.StockQuoteServiceMessageReceiverInOut"/>
- <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
- class="samples.quickstart.service.adb.StockQuoteServiceMessageReceiverInOnly"/>
- </messageReceivers>
您可以通过查看服务列表来检查以确保服务已正确部署,
- http://localhost:8080/axis2/services/listServices
您还可以在以下位置检查自定义WSDL:
- http://localhost:8080/axis2/services/StockQuoteService?wsdl
the schema
- http://localhost:8080/axis2/services/StockQuoteService?xsd
2.3 Apache Axis2 快速学习手册之 ADB 构建Web Service的更多相关文章
- 2.1 Apache Axis2 快速学习手册之 POJO 构建Web Service
1. 准备:创建一个Maven Web App 项目 这里让我们使用Maven 模板创建一个Web App 项目 1. New------> Maven Project 2. 使用默认配置,点击 ...
- 2.2 Apache Axis2 快速学习手册之 AXIOM 构建 Web Service
和上一篇的POJO 部署相比主要是services.xml 中配置的消息接受处理器类不一样和Java 类中写法不一样. 使用AXIOM构建服务 样例源码路径: C:\Apps\axis2\axis2- ...
- 2.5 Apache Axis2 快速学习手册之JiBx 构建Web Service
5. 使用JiBX生成服务(通过JIBX 命令将wsdl 生成 services ) 要使用JiBX数据绑定生成和部署服务,请执行以下步骤. 通过在Axis2_HOME / samples / qui ...
- 2.4 Apache Axis2 快速学习手册之XMLBeans 构建Web Service
4. 使用XMLBeans生成服务(通过xml bean 命令将wsdl 文件生成java 代码) 要使用XMLBeans生成服务,请执行以下步骤. 通过在Axis2_HOME / samples / ...
- 2. Apache Axis2 快速学习手册之概览
这篇博文和大家一起学习下Apache Axis2 官方文档的快速指南篇 英文原文:http://axis.apache.org/axis2/java/core/docs/quickstartguide ...
- Eclipse利用Axis2插件构建Web Service并测试
在学习Web Service的时候,从网上找到前辈的博客http://www.cnblogs.com/hexinlin/p/3358558.html,并依此文的方法按部就班:编写欲发布的java类He ...
- Spring学习(七)——开发Web Service的几种方式
本文作者在学习使用Java开发Web Service(不包括Restful)时,由于不知道Java有这么多框架支持开发Web Service一度陷入迷惘,不知道这些框架各有 什么不同,各有什么优缺点. ...
- 【webpack插件使用】在开发中快速掌握并使用Webpack构建web应用程序
1.webpack-dev-server插件的基本使用 入门程序 const path = require('path'); // 导出一个Webpack的配置对象(通过node中的模块操作,向外暴露 ...
- 1. Apache Axis2 下载安装入门
Apache Axis2 /Java 学习手册 by 星云 0x01 什么是Apache Axis2/Java? Apache Axis2™ 是一个Web Service / SOAP / WSD ...
随机推荐
- 〖Android〗依据资源信息,Mock Android资源
#!/bin/bash - #=============================================================================== # # F ...
- Linux之压缩与解压缩
一.解压缩: tar –xvf file.tar //解压 tar包 tar -xzvf file.tar.gz //解压tar.gz tar -xjvf file.tar.bz2 //解压 tar. ...
- 错误提示:通过 Web 服务器的身份验证的用户无权打开文件系统上的文件
//win7中iis配置好了可是网页打不开,为什么.? //错误提示:通过 Web 服务器的身份验证的用户无权打开文件系统上的文件 //解决办法1.右键单击你的网站根目录文件夹,如wwwroot文件夹 ...
- Java Web自定义MVC框架详解 (转)
转自:http://blog.csdn.net/jackfrued/article/details/42774459 最近给学生讲Java Web,希望他们能够在学完这部分内容后自己实现一个MVC框架 ...
- 使用Docker运行Java Web应用
前言 Tomcat是目前比较流行的Web应用服务器,深受Java爱好者的喜爱.通常J2EE应用的产出物是一个war包,这篇文章将为你介绍如何使用Docker运行Tomcat+war包的Java Web ...
- windows下Oracle Tuxedo编译应用前需要配置的相关环境变量
rem (c) BEA Systems, Inc. All Rights Reserved. rem Copyright (c) BEA Systems, Inc. rem All Rights Re ...
- linux下的文本编辑器VI的使用命令
1. 移动光标 H #移到屏幕的左上角 M #移到屏幕的中间行开头 L #移到屏幕的最后一行 [ #移到文件开始位置 (双击) ] #移到文件结束位置(双击) :n #移到文件的第n行 Ctrl + ...
- EntityFramework 5.0 CodeFirst 教程02-删除和修改/架构改变异常的处理
-----------------------------------------------------目录--------------------------------------------- ...
- iOS中coreData的用法
// // ViewController.m // coredatademo002 // // Created by ganchaobo on 13-6-29. // Copyright (c) 20 ...
- OC中instancetype与id的区别
1.在ARC环境下: instancetype用来在编译期确定实例的类型,而使用id的话,编译器不检查类型, 运行时检查类型. 2.在MRC环境下: instancetype和id一样,不做具体类型检 ...