没有合适的资源?快使用搜索试试~ 我知道了~
首页Axis2(WebService)教程:应用场景与实例讲解
Axis2(WebService)教程:应用场景与实例讲解
0 下载量 112 浏览量
更新于2023-11-24
收藏 874KB DOC 举报
rvice 进行结合,并能够有效地传输和管理数据。第三个项目是一个在 SOA 环境中使用 Axis2 的示例项目。本系列课程的目标是使学员能够熟练掌握 Axis2 的基本用法,并能够在实际项目中将 Axis2 应用到实际场景中。适用人群为Webservice开发人员,以及对Axis2感兴趣的初学者。对于已经熟悉Webservice与SOAP的开发人员来说,本课程将会是一个很好的温故知新的机会。通过本课程的学习,学员能够快速掌握Axis2的使用,并能够利用Axis2完成各种复杂的应用需求。 附件:Axis2(WebService)经典教程.doc 总结: 《Axis2(WebService)经典教程.doc》是一份适合Webservice开发人员的教程文件,其中详细介绍了目前比较流行的WebService引擎Axis2的核心功能及其应用场景。该教程站在初学者角度介绍了Axis2的常用功能,包括多种方式编写和发布WebService、JAX-RPC、JAX-WS、复杂类型传输、WebService会话管理、Axis2模块等。教程共分为两部分,第一部分为Axis2基础知识讲解,第二部分提供了三个项目以使学员理解并掌握如何将Axis2应用于不同的场景。通过学习本教程,Webservice开发人员能够快速掌握Axis2的使用,并能够利用Axis2完成各种复杂的应用需求。
资源详情
资源推荐
public static void main(String[] args) throws Exception
{
SimpleServiceStub stub = new SimpleServiceStub();
SimpleServiceStub.GetGreeting gg = new SimpleServiceStub.GetGreeting();
gg.setName("比尔");
System.out.println( stub.getGreeting(gg).get_return());
System.out.println(stub.getPrice().get_return());
}
}
上面的代码大大简化了调用 WebService 的步骤,并使代码更加简洁。但要注意的是,wsdl2java.bat 命令生成的
Stub 类将 WebService 方法的参数都封装在了相应的类中,类名为方法名,例如,getGreeting 方法的参数都封装在
了 GetGreeting 类中,要想调用 getGreeting 方法,必须先创建 GetGreeting 类的对象实例。
五、使用 C#调用 WebService
从理论上说,WebService 可以被任何支持 SOAP 协议的语言调用。在 Visual Studio 中使用 C#调用 WebService
是在所有语言中最容易实现的(VB.net 的调用方法类似,也同样很简单)。
新建一个 Visual Studio 工程,并在引用 Web 服务的对话框中输入如下的 URL,并输入 Web 引用名为
“WebService”:
http://localhost:8080/axis2/services/SimpleService?wsdl
然后引用 Web 服务的对话框就会显示该 WebService 中的所有的方法,如图 5 所示。
图 5
在完成上面的工作后,只需要如下三行 C#代码就可以调用 getGreeting 和 getPrice 方法,并显示这两个方法的返
回值:
WebService.SimpleService simpleService = new WSC.WebService.SimpleService();
MessageBox.Show( simpleService.getGreeting("比尔"));
MessageBox.Show(simpleService.getPrice().@return.ToString());
在.net 解析 WSDL 文件时直接将 getGreeting 方法的参数映射为 String 类型,因此,可以直接进行传值。
从上面的调用过程可以看出,添加 Web 引用的过程就相当于在 Java 中调用 wsdl2java.bat 自动生成 stub 类的过
程。只是在调用 stub 类时与 C#有一定的区别,但从总体上来说,都大大简化了调用 WebService 的过程。
2):复合类型数据的传递
在实际的应用中,不仅需要使用 WebService 来传递简单类型的数据,有时也需要传递更复杂的数据,这些数据可以被
称为复合类型的数据。数组与类(接口)是比较常用的复合类型。在 Axis2 中可以直接使用将 WebService 方法的参
数或返回值类型声明成数组或类(接口)。但要注意,在定义数组类型时只能使用一维数组,如果想传递多维数组,可
以使用分隔符进行分隔,如下面的代码所示:
String[] strArray = new String[]{ "自行车,飞机,火箭","中国,美国,德国", "超人,蜘蛛侠,钢铁侠" } ;
上面的代码可以看作是一个 3*3 的二维数组。
在传递类的对象实例时,除了直接将数组类型声明成相应的类或接口,也可以将对象实例进行序列化,也就是说,将
一个对象实例转换成字节数组进行传递,然后接收方再进行反序列化,还原这个对象实例。
下面的示例代码演示了如何传递数组与类(接口)类型的数据,并演示如何使用字节数组上传图像。本示例的客户端
代码使用 Java 和 C#编写。要完成这个例子需要如下几步:
一、实现服务端代码
ComplexTypeService 是一个 WebService 类,该类的代码如下:
import java.io.FileOutputStream;
import data.DataForm;
public class ComplexTypeService
{
// 上传图像,imageByte 参数表示上传图像文件的字节,
// length 参数表示图像文件的字节长度(该参数值可能小于 imageByte 的数组长度)
public boolean uploadImageWithByte(byte[] imageByte, int length)
{
FileOutputStream fos = null;
剩余43页未读,继续阅读
小小哭包
- 粉丝: 1933
- 资源: 4069
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功