Java Axis2开发WebService与Silverlight调用教程
4星 · 超过85%的资源 需积分: 3 64 浏览量
更新于2024-09-12
收藏 511KB DOCX 举报
"这篇文章主要介绍了如何使用axis2开发WebService,并在Silverlight客户端进行调用的总结。作者在尝试使用Hessian发布服务时遇到问题,转而使用axis2,分享了整个过程。"
在Java世界中, Axis2是一个流行的Web服务框架,它允许开发者创建和部署Web服务。本教程首先讲解如何安装和配置Axis2,然后讲述如何开发Web服务,最后讨论在Silverlight环境中如何调用这些服务。
### 安装和配置Axis2
1. **下载Axis2** - 可以从Apache官方网站下载最新版本的Axis2,例如axis2-1.6.0-bin.zip和axis2-1.6.0-war.zip。前一个包含所有必要的JAR文件,后者用于在Web服务器上部署服务。
2. **部署到Tomcat** - 将axis2.war文件复制到Tomcat的webapps目录下,然后启动Tomcat。
3. **验证安装** - 访问`http://localhost:8080/axis2/`,如果看到Axis2的欢迎界面,表明安装成功。
### 配置环境
虽然在描述中提到了配置classpath,但这个步骤可能是可选的,特别是如果你已经在系统路径中设置了JAVA_HOME,并且能够正常运行Java程序。如果需要,可以在系统变量CLASSPATH中添加Axis2的bin目录。
### 使用MyEclipse10开发Axis2 Web服务
1. **安装插件** - 下载并安装axis2-eclipse-codegen-wizard.zip和axis2-eclipse-service-archiver-wizard.zip,将解压后的JAR文件放入MyEclipse的dropins目录。
2. **创建Web服务** - 利用MyEclipse的Axis2插件,可以方便地创建和生成Web服务的代码。
3. **部署服务** - 通过MyEclipse的工具,将Web服务部署到Tomcat或其它支持的Web容器。
### Silverlight客户端调用Axis2 Web服务
1. **生成代理类** - 在Silverlight项目中,使用工具(如WSDL.exe或Visual Studio的Add Service Reference功能)生成与Axis2服务对应的代理类。
2. **编写调用代码** - 使用生成的代理类,通过异步方法调用Web服务,处理返回的数据。
3. **处理跨域问题** - Silverlight有跨域限制,可能需要在Axis2服务端配置CORS(跨源资源共享)或者使用JSONP(JSON with Padding)来允许Silverlight进行跨域通信。
### 关键技术点
- **SOAP协议** - Axis2基于SOAP(简单对象访问协议)标准,它是Web服务交互的常用协议,提供消息交换的规范。
- **WSDL** - Web服务描述语言,定义了服务接口、消息格式以及如何调用服务,是生成代理类的基础。
- **Silverlight的异步编程模型** - 调用Web服务通常采用异步方式,以避免阻塞UI线程。
- **CORS配置** - 为了使Silverlight能跨域调用Web服务,服务端需要配置允许特定来源的请求。
总结,这篇文章除了介绍axis2的安装和使用,还涵盖了在Silverlight环境中调用Web服务的基本流程,对于初学者来说,是一份实用的参考资料。通过学习,开发者可以了解如何在Java和Silverlight之间建立通信桥梁,实现分布式系统的组件交互。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-01-09 上传
2011-09-08 上传
2009-01-01 上传
2012-10-03 上传
tim_wangxb
- 粉丝: 0
- 资源: 10
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析