通向架构师的道路 第十二天 Axis2 Web Service(三)

一、SOAPIn Axis2

在前两天的教程中,我们学习到了用Axis2如何进行复杂数据、简单数据进行传输。

正如我在前一天教程中所说,在web service的世界里,一切都是基于SOAP的,因此在今天我们将学习Axis2中的SOAP特性。

今天的课程将用3个例子来完成即:

1)客户端与服务端使用SOAP进行通讯

2)服务端将Exception以SOAPFault的形式抛给客户端

3)使用SWA(Soap With Attachment)来进行附件传送

二、客户端与服务端使用SOAP进行通讯

来看下面这个Web Service:

下面是Service端的源码

org.sky.axis2.soap.SoapService

package org.sky.axis2.soap;import org.apache.axiom.om.OMAbstractFactory;import org.apache.axiom.om.OMElement;import org.apache.axiom.om.OMFactory;import org.apache.axiom.om.OMNamespace;import java.util.*;public class SoapService {         public static OMElement requestSoap = null;         public OMElement request(OMElement soapBody) {                   requestSoap = soapBody;                   Iterator it = requestSoap.getChildElements();                   OMElement issuerElement = (OMElement) it.next();                   OMElement serialElement = (OMElement) it.next();                   OMElement revocationDateElement = (OMElement) it.next();                   String issuer = issuerElement.getText();                   String serial = serialElement.getText();                   String revocationDate = revocationDateElement.getText();                   System.out.println("issuer=====" + issuer);                   System.out.println("serial=====" + serial);                   System.out.println("revocationDate=====" + revocationDate);                   OMFactory soapFactory = OMAbstractFactory.getOMFactory();                   OMNamespace omNs = soapFactory.createOMNamespace(                                     "http://soap.axis2.sky.org", "");                   OMElement soapResponse = soapFactory.createOMElement("SoapResponse",                                     omNs);OMElement soapIssuer = soapFactory.createOMElement("Issuer", omNs);                   soapIssuer.setText("issuer: " + issuer);                   soapResponse.addChild(soapIssuer);                   OMElement soapSerial = soapFactory.createOMElement("Serial", omNs);                   soapSerial.setText("serial: " + serial);                   soapResponse.addChild(soapSerial);                   OMElement soapRevokeDate = soapFactory.createOMElement("RevokeDate",                                     omNs);                   soapRevokeDate.setText("RevocationDate: " + revocationDate);                   soapResponse.addChild(soapRevokeDate);                                      return soapResponse;         }}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索import
axis2 webservice、axis2调用webservice、axis2开发webservice、axis2发布webservice、serviceclient axis2,以便于您获取更多的相关知识。

时间: 2024-12-05 02:20:52

通向架构师的道路 第十二天 Axis2 Web Service(三)的相关文章

通向架构师的道路 第二十二天 万能框架spring(四) 使用struts2 下

6. myssh2工程的完整pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&qu

通向架构师的道路 第二十一天 万能框架spring(三)之SSH

一.前言 我们有了Spring+JdbcTemplate和Spring+iBatis并结合maven的基础,搭建一个SSX这样的框架现在就和玩一 样的简单了,今天我们将搭建一个使用Struts1.3,Srping3, Hibernate3的SSH1的开发框架,大家跟着我一步步走,会发觉在程 序跑通后自己再动手搭建一遍这个框架,只需要30分钟. 二.SSH框架 仔细看这个框架,稍微有点不一样了. 1) Spring3是通过一个hibernate template来和hibernate的dao层结合

通向架构师的道路 第二十五天 SSH的单元测试与dbunit的整合(下)

3.4使用框架 我们准备两份测试用数据 test_del_table.xml文件 <?xml version="1.0" encoding="UTF-8"?> <Tables> <table>t_student</table> </Tables> test_insert_table.xml文件 <?xml version="1.0" encoding="UTF-8&quo

通向架构师的道路(第一天)之Apache整合Tomcat

原文转自:  http://blog.csdn.net/lifetragedy/article/details/7698555 一.先从J2EE工程的通用架构说起 这是一个通用的Web即B/S工程的架构,它由: ü   Web Server ü   App Server ü   DB Server 三大部分组成,其中: ²  Web Server 置于企业防火墙外,这个防火墙,大家可以认为是一个CISCO路由器,然后在CISCO路由器上开放了两个端口为:80和443. 80端口:用于正常的htt

通向架构师的道路 第二十七天 IBM网格计算与企业批处理任务架构

一.批处理 我们在一些项目中如:银行.保险.零商业门店系统中的对帐.结帐.核算.日结等操作中经常会碰到一 些"批处理"作业. 这些批处理经常会涉及到一些大数据处理,同时处理一批增.删.改.查等SQL,往往涉及到好 几张表,这边取点数据那边写点数据,运行一些存储过程等. 批处理往往耗时.耗资源,往往还会用到多线程去设计程 序代码,有时处理不好还会碰到内存泄漏.溢出.不够.CPU占用高达99%,服务器被严重堵塞等现象. 笔者曾经经历过 一个批处理的3次优化,该批处理笔者按照数据库连接池的原

通向架构师的道路(第二十七天)IBM网格计算与企业批处理任务架构

一.批处理 我们在一些项目中如:银行.保险.零商业门店系统中的对帐.结帐.核算.日结等操作中经常会碰到一些"批处理"作业. 这些批处理经常会涉及到一些大数据处理,同时处理一批增.删.改.查等SQL,往往涉及到好几张表,这边取点数据那边写点数据,运行一些存储过程等. 批处理往往耗时.耗资源,往往还会用到多线程去设计程序代码,有时处理不好还会碰到内存泄漏.溢出.不够.CPU占用高达99%,服务器被严重堵塞等现象. 笔者曾经经历过一个批处理的3次优化,该批处理笔者按照数据库连接池的原理实现了

通向架构师的道路(第十二天)之Axis2 Web Service(三)

一.SOAPIn Axis2 在前两天的教程中,我们学习到了用Axis2如何进行复杂数据.简单数据进行传输. 正如我在前一天教程中所说,在web service的世界里,一切都是基于SOAP的,因此在今天我们将学习Axis2中的SOAP特性. 今天的课程将用3个例子来完成即: 1)  客户端与服务端使用SOAP进行通讯 2)  服务端将Exception以SOAPFault的形式抛给客户端 3)  使用SWA(Soap With Attachment)来进行附件传送   二.客户端与服务端使用S

通向架构师的道路 第十一天 Axis2 Web Service(二)

一.总结前一天 前一天中我们讲述了如何生成一个Axis2的WebService, 如何布署以及4种不同的客户端, 它们是: 传统式, 非阻塞式, 双工 模式, 双工非阻塞. 并且我们看到了一个Axis2的Web Service的布署描述: <service name="HelloWorld"> <parameter name="ServiceClass">org.sky.axis2.helloworld.HelloWorld</para

通向架构师的道路(第十天)之Axis2 Web Service(一)

一.Axis2简介 1.1介绍Axis2 Axis框架来自 Apache 开放源代码组织,它是基于JAVA语言的最新的 SOAP 规范(SOAP 1.2)和 SOAP withAttachments 规范(来自 Apache Group )的开放源代码实现.有很多流行的开发工具都使用AXIS作为其实现支持Web服务的功能,例如JBuilder以及著名的Eclipse J2EE插件Lomboz.AXIS的最新版本可以从 http://ws.apache.org/axis/index.html下载.