5. 使用JiBX生成服务(通过JIBX 命令将wsdl 生成 services )

要使用JiBX数据绑定生成和部署服务,请执行以下步骤。

通过在Axis2_HOME / samples / quickstartjibx目录中的控制台上键入以下内容,使用WSDL2Java实用程序生成框架

%AXIS2_HOME%\bin\wsdl2java.bat -uri resources\META-INF\StockQuoteService.wsdl -p samples.quickstart.service.jibx -d jibx -s -ss -sd -ssi -uw -o build\service

否则,只需在Axis2_HOME / samples / quickstartjibx目录中键入“ant generate.service”即可。

选项-d jibx指定JiBX数据绑定。-s开关仅指定同步或阻塞调用。-ss开关创建服务器端代码(框架和相关文件)。-sd开关创建服务描述符(services.xml文件)。-ssi开关为服务框架创建一个接口。-uw开关打开传入和传出服务操作的参数,以创建更自然的编程接口。

运行WSDL2Java后,服务文件应位于build / service。如果直接使用WSDL2Java生成代码,则需要修改生成的框架以实现服务(如果使用“ant generate.service”,则完成的框架将自动复制到生成的框架上)。打开build / service / src / samples / quickstart / service / jibx / StockQuoteServiceSkeleton.java文件并对其进行修改,以将服务的功能添加到生成的方法中,如代码清单8所示。

代码8:定义服务框架文件

package samples.quickstart.service.jibx;

import java.util.HashMap;

public class StockQuoteServiceSkeleton implements StockQuoteServiceSkeletonInterface {
private HashMap map = new HashMap(); public void update(String symbol, Double price) {
map.put(symbol, price);
} public Double getPrice(String symbol) {
Double ret = (Double) map.get(symbol);
if (ret == null) {
ret = new Double(42.0);
}
return ret;
}
}

现在,您可以通过在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.jibx.StockQuoteServiceMessageReceiverInOut"/>
<messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
class="samples.quickstart.service.jibx.StockQuoteServiceMessageReceiverInOnly"/>
</messageReceivers>
<parameter name="ServiceClass">samples.quickstart.service.jibx.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>

注意,消息接受处理器类变了

<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
class="samples.quickstart.service.jibx.StockQuoteServiceMessageReceiverInOut"/>
<messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
class="samples.quickstart.service.jibx.StockQuoteServiceMessageReceiverInOnly"/>

您可以通过查看服务列表来检查以确保服务已正确部署,

http://localhost:8080/axis2/services/listServices

您还可以在以下位置检查自定义WSDL:

http://localhost:8080/axis2/services/StockQuoteService?wsdl

schema

http://localhost:8080/axis2/services/StockQuoteService?xsd

更多学习信息:JiBX code generation integration

 

2.5 Apache Axis2 快速学习手册之JiBx 构建Web Service的更多相关文章

  1. 2.1 Apache Axis2 快速学习手册之 POJO 构建Web Service

    1. 准备:创建一个Maven Web App 项目 这里让我们使用Maven 模板创建一个Web App 项目 1. New------> Maven Project 2. 使用默认配置,点击 ...

  2. 2.2 Apache Axis2 快速学习手册之 AXIOM 构建 Web Service

    和上一篇的POJO 部署相比主要是services.xml 中配置的消息接受处理器类不一样和Java 类中写法不一样. 使用AXIOM构建服务 样例源码路径: C:\Apps\axis2\axis2- ...

  3. 2.3 Apache Axis2 快速学习手册之 ADB 构建Web Service

    使用ADB生成服务(根据ADB 命令将wsdl 文件还原成Java代码) 要使用Axis2数据绑定框架(ADB)生成和部署服务,请执行以下步骤. 通过在Axis2_HOME / samples / q ...

  4. 2.4 Apache Axis2 快速学习手册之XMLBeans 构建Web Service

    4. 使用XMLBeans生成服务(通过xml bean 命令将wsdl 文件生成java 代码) 要使用XMLBeans生成服务,请执行以下步骤. 通过在Axis2_HOME / samples / ...

  5. 2. Apache Axis2 快速学习手册之概览

    这篇博文和大家一起学习下Apache Axis2 官方文档的快速指南篇 英文原文:http://axis.apache.org/axis2/java/core/docs/quickstartguide ...

  6. Eclipse利用Axis2插件构建Web Service并测试

    在学习Web Service的时候,从网上找到前辈的博客http://www.cnblogs.com/hexinlin/p/3358558.html,并依此文的方法按部就班:编写欲发布的java类He ...

  7. Spring学习(七)——开发Web Service的几种方式

    本文作者在学习使用Java开发Web Service(不包括Restful)时,由于不知道Java有这么多框架支持开发Web Service一度陷入迷惘,不知道这些框架各有 什么不同,各有什么优缺点. ...

  8. 【webpack插件使用】在开发中快速掌握并使用Webpack构建web应用程序

    1.webpack-dev-server插件的基本使用 入门程序 const path = require('path'); // 导出一个Webpack的配置对象(通过node中的模块操作,向外暴露 ...

  9. 1. Apache Axis2 下载安装入门

    Apache Axis2 /Java 学习手册   by 星云 0x01 什么是Apache Axis2/Java? Apache Axis2™ 是一个Web Service / SOAP / WSD ...

随机推荐

  1. 洛谷P1134 阶乘问题[数论]

    题目描述 也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如: 12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = 479,001, ...

  2. 14、java中的equals()和toString()方法

    /* 所有对象的父类Object Object中的方法: equals() 对象是否相同的比较方法 toString()对象的字符串表现形式 */ class Person { String name ...

  3. archlinux 安装mysql-workbench

    archlinux packages 官方沒有提供 mysql-workbench的直接安裝包 在aur裏面可以找到, 使用yaourt -S mysql-workbench 這裏有個依賴ctempl ...

  4. Android 5.1 - 状态栏充电标志问题

    Android 5.1 Ubuntu14.04  SourceInsigh 电量已满,插着USB头,观察Settings - Battery,电量为100%,状态为full,但仍有充电图标rust 之 ...

  5. Inno Setup使用上的几个问题

    Inno Setup使用上的几个问题 分类: Install Setup 2013-02-02 15:48 1781人阅读 评论(0) 收藏 举报 Inno Setup使用上的几个问题: [问题一:I ...

  6. 用Dalvik指令集写个java类

    Dalvik指令集 .class public LCalculate;#定义类名 .super Ljava/lang/Object;#定义父类 .method public static main([ ...

  7. 树莓派.安装Samba环境

    适用于树莓派3 树莓派装好系统后, 为了方便传文件到树莓派, 建议使用Samba这类文件夹级别的应用, 比ftp方便多了 如果你想把树莓派变成Nas, Samba也是不可或缺的应用 通过samba服务 ...

  8. centos7下安装docker(8.3容器的常用操作)

    yu我们之前已经学习了如何运行容器docker run,也学习了如何进入容器docker attach和docker exec,下面我们来学习容器的其他操作: stop/start/restart 1 ...

  9. 谈谈MySQL的do语句

    [select在某些场景下的不足] 比如说我们想让MySQL暂停5秒.那么可以这样写 ); +----------+ ) | +----------+ | +----------+ row in se ...

  10. Processing-基础小坑-

    x 坑A:) 新建一个"Walker"项目,Walker.pde,必须在Walker文件夹下... 刚开始以为如果一个文件需要引用另外一个文件中的类,只要把这两个文件放一个文件夹下 ...