exlipce mar 创建一个rest风格的webService项目(axis2)
跨平台发布web Service 一般使用axis2,如果不跨平台则使用apache CXF创建web Service较好,下面我将一次介绍通过axis2创建和发布web service的详细 由于截图之前有网友反映不能查看,所以本文全用文字描述,未知之处,请留言或指出。 详细以及注意事项如下: 第一种发布方式:通过axis2.war发布Webservice(实质是通过axis2工具将webService生成**.aar文件): 一、下载(1)axis2-1.6.3-bin.zip(解压文件,作为与eclipse配置的文件) ? ? ? ? ?网址:http://axis.apache.org/axis2/java/core/download.cgi ? ? ? ? ? ? ? ? (2)axis2-eclipse-codegen-plugin-1.6.2.zip、axis2-eclipse-service-plugin-1.6.2.zip(解压2文件后把 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??org.apache.axis2.eclipse.codegen.plugin_1.6.2.jar和org.apache.axis2.eclipse.service.plugin_1.6.2.jar ? ? ? ? ? ? ? ? 放到eclipse的安装目录,E:eclipsedropins文件夹下) 网址:http://axis.apache.org/axis2/java/core/tools/index.html 二、将eclipse与axis2-1.6.3-bin插件集成 (1)在Eclipse的菜单栏中,Window --> Preferences --> Web Services--> Axis2?Perferences, ? ? ? ? ? ? 在Axis2 runtime location中选择Axis2解压缩包的位置,设置好后,点"OK"即行。 三、下载axis2.war(该包放在tomcat---->webapps下),这是核心 四、开始创建项目 在eclipse中新建一个Dynamic web project项目,接口名字尽量简单和规范(接口名规范,非常有用!)
五、生成.aar文件到tomcat的webappsaxis2WEB_INFservices下 (1)wordspace工作区下,单击右键,新建other---->选择Axis2 Wizards ---->Axis2 Service Archiver ---->next (2)到Service Archiver时,注意class File Location 只能选择到buildclasses目录(如F:eclipse_marWebServiceTestbuildclasses) (3)继续next,直到Server Archiver ?Generate the Service XML file? 在service name 和 Class name 后面输入对应的名字。注意:Service name是指发布成功后访问的名称 ?如http://localhost:8080/axis2/services/ITestService?wsdl红色字体,而Class name则必须填入接口的全路径! ? ? ? ? ?如:com.interfaces.ITestService ,点击Load 加载成功后即可看到本窗口中的接口中的方法和参数类型!表名已经加载成功! ? (4)下一步,将看到:OUtput file location 和 Output file name ,选择导出路径,一般就导出放在 tomcatwebappsaxis2WEB-INFservices下 这样方便马上测试,而name可以任意取(只要符合命名规范即可) 点击finish,则生成.aar文件成功!(5)start--tomcat--访问刚刚发布的webService,在地址栏输入http://localhost:8080/axis2/services/ITestService?wsdl,即可看见生成的wsdl文件 注意:以上的方式是发布到axis2.war包中,当然我们也可以把生成.aar文件copy到实际应用中; ? ? ? ? ?同时,也可以使用eclipse的create?webservice功能发布我们的webservice,选择axis2生成我们的, ? ? ? ? ?这样就会部署到我们的应用中了。 以上开发环境: windows 7 64位 +tomcat 7 64位+jdk1.6 32位 +eclipse mar(最新版本)+axis2.war最新版+axis2.1.6.3.bin最新版+axis2两个插件 可能不同版本使用会有差异。 第二种发布方式:是通过生成wsdl文件后,将该项目生成war包,放在tomcat,webapps下 一、新建一个Dynamic web Project工程 注意:需要选择版本是Dynamic web ?module ?version 为2.5,否则在生成wsdl文件时会报错误! 二、在该工程src目录下新建com.test.interfaces和com.test.implement包 interfaces中存放接口类-----》ITestService.java :方法testService,参数String 和int,返回值类型String implement中存放实现类---->ITestServiceImpl.java? 三、完成二以后 点中ITestServiceImpl.java?,单击右键-----》选择web Services----->选择create web Service,然后选择对应的实现类 ? ? ? ?注意:(1)web service type ?选择是 Bottom up java Bean Web Service ? ? ? ? ? ? ? ? ? ? (2)service implementation 一定是当前项目下的当前实现类全路径!如果有其它项目打开,那么需要仔细核对是否为当前项目的实现类 ? ? ?点击next,进入下一步 四、选择wsdl文件 点击下拉箭头,选择当前(单击右键的类名)想要生成的wsdl文件 五、点击finish即可 六、发布webService 在发布之前,需要先检查该文件是否能正确使用! 步骤:1、找到刚刚生成的wsdl文件,相对项目目录为/WebContent/wsdl/ITestAxis2Impl.wsdl ? ? 2、点击右键--》点击web services---->选择Test with web service Explorer ? ?3、选择实现类ITestAxis2Impl,在对应的String 和 int 类型(由于我的接口中是两个参数String 和int类型)中输入值,点击Go ? ?4、执行3步骤后,在页面的status状态栏中将会出现调用接口方法后的执行结果,如果有返回应该有的结果,那么web Service创建成功! ? ? ? ? 开始发布web Service,点击项目名,然后右键export---->输入web---》选择WAR file ------>下一步,选择需要打包的项目名和war包的生成路径(一般直接选择tomcat/webapps目录,也可以选择其他目录) 七、执行以上步骤后,发布就已成功。 八、测试刚刚发布的webService 新建一个java Project(注意:此处不是Dynamic web Project),新建lib文件夹用于存放6个架包 ? ? ? ? axis.jar、commons-discovery-0.2.jar、commons-logging.jar、jaxrpc.jar、saaj.jar、wsdl4j.jar(这6个架包可以从刚刚生成的web Service中复制,相对目录:/WebContent/WEB-INF/lib) 在src下新建TestAxis2.java文件,代码如下: package com.test; 测试成功后,eclipse控制台会打印接口返回值。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |