




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WebService环境搭建 作者:icer 2012-3-1记axis2创建web service(一)axis2 是新一代的web service开发工具,它会让你的web service开发变得轻松,快捷。下面让我们以一个实际的例子来体验一下。1. 首先,工欲善其事,必先利其器。就让我们先做好一些必备的准备工作吧。Axis2 1.6.1 二进制包和war包下载地址分别是: /apache-mirror/axis/axis2/java/core/1.6.1/axis2-1.6.1-bin.zip/apache-mirror/axis/axis2/java/core/1.6.1/axis2-1.6.1-war.zipTomcat 7.0.26下载地址:/apache-mirror/tomcat/tomcat-7/v7.0.26/bin/apache-tomcat-7.0.26-windows-x86.zipEclipse jee版本下载地址:/eclipse/technology/epp/downloads/release/indigo/SR2/eclipse-jee-indigo-SR2-win32.zip2.把下载后的war放入tomcat的webapps目录里,然后启动tomcat,这样war包就会自动解压为目录axis2;启动tomcat,在浏览器中输入http:/localhost:8080/axis2/,如果一切正常你会看到下面的画面。3,就开始准备一下axis2的eclispe的插件了。axis2的eclispe插件分为2个,一个是帮助我们生成aar文件的,另一个是帮我们用wsdl文件生成stub代码的。PS:axis21.6.1版本插件与eclipse各版本都不兼容,目前无法直接集成。下面介绍一种非常规的集成方式(可能会有版本问题)1.6.1版本eclipse插件下载地址是/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.1/axis2-eclipse-service-plugin-1.6.1.zip/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.1/axis2-eclipse-codegen-plugin-1.6.1.zip1.3.0版本eclipse插件下载地址是/dist/ws/axis2/tools/1_3/axis2-eclipse-codegen-wizard.zip/dist/ws/axis2/tools/1_3/axis2-eclipse-service-archiver-wizard.zipAdd 1.3.0插件到pluginsAdd 1.6.1插件到dropins重启eclipse,出现2个,用第二个应该就是1.6.1版本的了。这样准备工作就都做好了,接下来就是正式开发了。 axis2创建web service(二)工具都已经准备齐全了。我们来动手做一个小例子来小试牛刀!这一节我们先利用axis2来发布一个web service 的服务,然后在下一节我们做一客户端来调用这个服务。我们的服务很简单的,就是输入一个字符串,然后打印出一段字符串。代码很简单,主要是测试用。package com.sinosoft.service;public class SimpleServer /* * 简单的测试方法 * */ public String simpleMethod(String name) return name + Say this is a Simple method -; 主要的过程就是如何利用axis2的eclispe插件来发布这个服务啦。1.在eclispe 的package Explorer 中点击右键,在菜单中选择New otherAxis2 Service Archiver。(PS:下面的为1.6.1版本)2.然后点击next进入了类选择页面,在这个页面中的ClassFile Location选择框中选择类所在的文件夹。(这里填写的主要是经过编译后的java类,即java.class文件所存放位置的根目录,比如E:workspaceForEclipseMyservicebin,Myservice是我的项目名,可以根据创建的是web project项目,还是java project项目实际情况填写。写这个路径是为了下面操作,来寻找java类)3.点击next之后进入了选择 wsdl文件,这里我们选择skip wsdl。4. 点击next之后,进入的是选择jar文件的页面,这里我们没有外部的jar,所以点击next直接跳过这个页面。5.点击next之后,进入的是选择xml页面,这里我们选择的是自动生成xml,也就是勾选Generate the service xml automatically这一项6.点击next之后,进入的是生成xml文件的页面,在service name 里填写这个服务所起的名字,这里我起名为Myservice,然后在class name 中填写要发布的类,这里一定要写全路径,写好后就可以点击load 按钮,如果一切ok的话,你会看到如下画面7.点击next 后,进入的是输出artiver文件的页面,先要在output Filelocation 中选择要输出的路径,在output File Name中输入artiver文件的名称。我起的名字是Myservice。8.点击finish ,如果看到如下的画面,恭喜你,服务发布成功啦。9.接下来,我们就可以把这个aar文件放入tomcat中发布,首先把生成的aar文件拷贝到tomcat目录中的axis2项目的service目录中位置如图。10.接下来启动tomcat,在地址栏中输入http:/localhost:8080/axis2,你会看到axis2的欢迎画11.点击Service连接,你会看到发布的服务列表。这里面就能看到我们发布的Myservice。12.点击我们的服务simpleServer的连接,我们会看到。至此,服务发布成功。axis2创建web service(三)这节我们就来写一个客户端来调用一下这个服务。主要关注一下如何用elispe的axis2的插件来生成stub代码;首先在eclipse中创建一个新的空项目simpleClient。1.在eclispe 的package Explorer 中点击右键,在菜单中选择新建otherAxis2 Code Generator2.点击next,进入下一个页面,选择从wsdl文件来产生java文件。3. 点击next,然后选择wsdl文件,注意此处要填写上一节我们创建的服务4.点击next,进入设置页面,这里我们就用默认的设置。(Codegen option选择custom,Port Name选择simpleServerHttpEmdpoint)5.点击next,选择输出文件的路径。(这里据说点击finish,MyEclipse6.5会报错,An error ocurred while completing process-java.lang.reflect.InvocationTargetException,解决办法是:1.关闭 Eclipse2.copy %AXIS2_HOME%lib 下的backport-util-concurrent-3.1.jar 和 geronimo-stax-api_1.0_spec-1.0.1.jar复制到 MyEclipse 6.5eclipsepluginsAxis2_Codegen_Wizard_1.3.0lib 文件夹下。3.注册此 jar 包: 修改MyEclipse 6.5eclipsepluginsAxis2_Codegen_Wizard_1.3.0plugin.xml 文件在 內加入下面的字串 到plugin.xml文件中,保存后重新启动Eclipse即可。)6.点击finish,如果看到这个页面,恭喜你已经生成代码成功。7.在package Explorer中刷新一下项目,然后你发现出现多出一些新的文件。并且项目报错,著名的小红叉一个接一个的(报错,是因为没有引用jar包,最直接的方法是把axis2-1.6.1lib目录下所有的jar包都引用到项目中)这是因为没有axis2的类包。我们可以在下载的axis2-1.4.1-bin中找到lib包,把其中的jar都加入我们的工程中。然后重新编译一下工程,这时我们发现个别文件还是有几个小红叉。这个是因为这个插件有个小bug。生成的代码没有实现序列化方法。我们可以自己来加上,在小红叉上点一下,弹出一个小菜单,选择Add unimplemented methods .8.让我们来调用一下服务吧。/* * 调用发布的服务 * author Administrator * */public class SimpleClient public static void main(String args) throws Exception /初始化桩文件SimpleServerStub stub = new SimpleServerStub();/初始化SimpleMethod方法SimpleMethod request = new SimpleMethod();/调用simpleMethod的setName方法request.setName(zt);System.out.println(stub.simpleMethod(request).get_return();如果一切正常,你就会看到结果log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AxisOperation).log4j:WARN Please initialize the log4j system properly.ztSay this is a Simple method -调用服务成功。这是个简单的例子,下节我们再做一个复杂一点的例子,来更好的学习axis2axis2创建web service(四)上节我们做了一个简单的例子,调用的服务里的方法只是简单返回一个字符串,这次我们要做一个复杂点的例子,调用服务里的方法返回一个java Bean对象。1. 首先做一个简单的java bean ,代码如下public class Persion / 姓名 private String name; / 年龄 private int age; public String getName() return name; public void setName(String name) = name; public int getAge() return age; public void setAge(int age) this.age = age; 2.做一个服务,里面只发布一个方面,这个方法返回这个bean。/* * 简单的测试方法 * */ public Persion testMethod(String name, int age) Persion persion = new Persion(); persion.setName(name); persion.setAge(age); return persion; 3.按照第二节的做法,把这个服务发布出来。4.同样按照第三节的方法,用这个wsdl来生成stub代码。5.然后我们开始做一个方法来调用一下这个服务。public class BeanClient public static void main(String args) throws Exception / 初始化桩文件 BeanServerStub stub = new BeanServerStub(); / 初始化TestMethod方法 TestMethod request = new TestMethod(); / 设置bean的属性值 request.setName(delta ); request.setAge(20); System.out.println(The name is:+stub.testMethod(request).get_return().getName(); System.out.println(The age is:+stub.testMethod(r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐厅节日促销活动方案
- 车展创意活动方案
- 自制故事盒活动方案
- 焊工考试题及答案
- 贵州选调考试题及答案
- 高中电气考试题及答案
- 幼儿园教学教案设计:比高矮比长短测量概念启蒙
- 企业资产追踪及使用记录标准化模板
- 服装知识考试题及答案
- 那一次我真感动八年级作文(8篇)
- T-CACM 1560.1-2023 中医养生保健服务(非医疗)技术操作规范推拿
- 护理美学-第三章 护士审美修养
- 篮球教学活动设计方案
- (高清版)JTG 5211-2024 农村公路技术状况评定标准
- 人教精通版6年级上下册重点单词和句型默写
- 大学生生涯发展展示 (修改版)
- DB32T4062-2021城市轨道交通工程质量验收统一标准
- (正式版)JBT 14897-2024 起重磁铁安全技术规范
- 三D打印公开课
- 西方节日-英文介绍
- 动车组列车员(长)(职业通用)全套教学课件
评论
0/150
提交评论