基于Tomcat5.0和Axis2开发Web Service代码详解

1.HelloWorld做了些什么?

HelloWorld功能非常简单,在客户端输入你的姓名,本例中为ZJ。参数传递到服务器端后,经过处理将返回name+"HelloWorld!",本例中为ZJ HelloWorld!

2.服务器端文件HelloWorld.java

HelloWorld.java

package sample;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
public class HelloWorld {
   //读取client端getSayHelloOMElement()方法传递的参数in。
    public OMElement sayHello(OMElement in){
     //将in转换为String。
        String name=in.getText();
        String info=name+"HelloWorld!";
     //创建response SOAP包。
        OMFactory fac=OMAbstractFactory.getOMFactory();
     // OMNamespace指定此SOAP文档名称空间。
        OMNamespace omNs=fac.createOMNamespace("http://helloworld.com/","hw");
     //创建元素sayHello,并指定其在omNs指代的名称空间中。
        OMElement resp=fac.createOMElement("sayHelloResponse",omNs);
     //指定元素的文本内容。
        resp.setText(info);
        return resp;
    }
}

3.services.xml部署文件

services.xml

<?xml version="1.0" encoding="UTF-8"?>
//下面定义服务名
<service name="HelloWorld">
<description>
  This is a sample Web Service.
</description>
// ServiceClass指定Java Class的位置,即实现服务的类。
<parameter name="ServiceClass" locked="false">sample.HelloWorld</parameter>
// operation 与Java Class中方法名对应。
<operation name="sayHello">
// messageReceiver看下文注解。
  <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
</service>

注解:消息交换模式。

目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。本例使用In-Out模式。

时间: 2025-01-30 10:59:54

基于Tomcat5.0和Axis2开发Web Service代码详解的相关文章

基于Tomcat5.0和Axis2开发Web Service应用实例

1.工作环境 Eclipse 3.1.2+Lomboz+jdk1.5+ apache-tomcat-5.0.18+AXIS2:1.0(war版本和bin版本) 在http://ws.apache.org/axis2/download/1_0/download.cgi页面下,下载AXIS2的Binary Distribution url: http://apache.justdn.org/ws/axis2/1_0/axis2-std-1.0-bin.zip和war Distribution url

基于WAS CE和Axis2开发Web Service应用

引言 近年来,随着Web Service技术迅速发展,基于Web Service开发的应用被使用的越来越广泛.Web Service良好的封装性及跨平台能力为应用程序集成.B2B集成等应用场景提供可行的解决方案.本文将介绍如何使用WAS CE(WebSphere Application Server Community Edition)和Apache Axis2开发.部署及测试一个简单的Web Service应用-网上花店. 1.应用及运行环境介绍 1.1 WAS CE简介 WebSphere

使用Axis2的底层API开发Web Service

1.使用Axis2的底层API开发Web Service Server端 1.1创建一个WebService(取名为MyService) 在MyService中有两个operations,如下所示. public void ping(OMElement element){}//IN-ONLY模式.仅仅接收OMElement,并对 其处理. public OMElement echo(OMElement element){}//IN_OUT模式.接收OMElemen,并返回 OMElement.

使用Axis开发Web Service程序

说道Web Service的程序开发,八个月前我加班调试公司和中国电信的商务领航系统的接口的时候,用的就是Web Service,Web Service有很多优点,使用Web Service可以在不同编程语言间实现数据交换,而我那时对Web Service也不熟,就由同事帮我生成了一大堆Web Service的框架代码,我则只单独开发业务代码. 这次的另外一个项目也要用Web Service了,不过人手也少了,没有人帮做Web Service了,只好自己动手. 好在开发前,有个同事先给我们不熟悉

ubuntu下安装 gSOAP 用于C/C++开发web service服务端与客户端

昨天在ubuntu下进行安装gSOAP,费了很多时间,没成功,今天又来找了大量教程资料,终于一次成功,这里写下自己的安装步骤和方法,供大家参考. 首先下载gsoap,我下载的是gsoap-2.8.1.zip 用unzip gsoap-2.8.1.zip命令解压缩,会解压生成gsoap-2.8文件夹. cd gsoap-2.8   在安装之前需要先安装一些编译工具.     安装编译工具: $sudo apt-get install build-essential 为了成功编译gSOAP,您需要安

cxf spring集合中开发Web Service遇见的java.util.Date无缺省函数问题

问题描述 cxf spring集合中开发Web Service遇见的java.util.Date无缺省函数问题 在domain中有User类public class User {          private String userName;private String userPassword;private String mobile;private String email;private String nickname;private String region;private ja

《Android 网络开发与应用实战详解》——2.3节Android系统架构

2.3 Android系统架构 Android 网络开发与应用实战详解 在本节内容中,将进一步分解Android应用程序,详细剖析Android应用程序的核心构成部分,为读者学习本书后面知识打下基础. 2.3.1 Android体系结构介绍 Android作为一个移动设备的平台,其软件层次结构包括操作系统(OS).中间件(MiddleWare)和应用程序(Application).根据Android的软件框图,其软件层次结构自下而上分为以下4层. (1)操作系统层(OS). (2)各种库(Lib

java+echarts开发流程详细说明详解

echarts官方文档: http://echarts.baidu.com/doc/doc.html#简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值域漫游

基于原生ajax与封装的ajax使用方法(详解)

当我们不会写后端接口来测试ajax时,我们可以使用node环境来模拟一个后端接口. 1.模拟后端接口可参考网站整站开发小例子,在打开命令窗口并转到所在项目文件夹下在命令行中输入npm install express --save,安装express中间件. 2.把当中的app.js的内容换成 var express=require('express'); //var path=require('path'); var app=express(); //app.set('view',path.jo