当前位置:文档之家› eclipse创建webservice的两种方法

eclipse创建webservice的两种方法

在eclipse 中创建webservice项目方法一:使用xfire支持1.创建Dynamic Web Project 项目:2.将编译路径改为项目/web-INF/classes;3.将META-INF 文件夹移动到src下面,并在META-INF 中创建xfire文件夹,文件夹内放入services.xml文件;4.添加xfire支持的jar包:5.编写web.xml:7.编写services.xml可以存在多个service;8.访问http://localhost:port/projectName/services/url-pattern?wsdl(蓝色字体均为相应的内容);方法二:使用Axis2支持1.1Axis2发行包Axis2以多个发行包发行。

你需要哪个视你所需决定。

1.1.1标准二进制发行包如果你正在开发服务和应用程序,你需要Axis2标准二进制发行包。

这个发行包包括所有必要的*.jar文件,以及很多便于开发用的脚本。

它具有以下结构。

Axis2标准二进制发行包目录的结构binaxis2.bataxis2.shaxis2server.bataxis2server.shjava2wsdl.batjava2wsdl.shwsdl2java.batwsdl2java.shsetenv.shlibactivation-1.1.jar...XmlSchema.jarrepositorymodulesmodules.listaddressing-1.1.mar...servicesservices.listversion.aar...samples...webapp...confaxis2.xmlLICENSE.txtREADME.txtNOTICE.txtINSTALL.txtrelease-notes.htmlbin目录包括一些有用的脚本。

它们包括axis2.bat(或者axis2.sh),这个文件可以让你在不手工添加Axis2 jar文件到类路径的情况下方便的执行Java命令;java2wsdl.bat(和.sh)和wsdl2java.bat(和.sh),它可以让你轻易的从一个WSDL文件生成Java代码,反之亦然;axis2server.bat(和sh),一个简易Web服务器,它可以让你早自己的应用程序中搭建Axis2的功能来发送接收消息。

如所希望的,lib目录包含了所有必需的.jar文件。

服务和模块放在repository目录。

Axis2提供了一个WS-Addrssing的标准模块实现,你可以添加任何其它必要的模块到repository/modules目录,例如Rampart。

Conf目录包括axis2.xml文件,它是全局部署描述。

最后,示例目录包括了所有随Axis2一起发行的示例代码。

1.1.2WAR发行包Axis2的WAR发行包中包含了axis2.war文件。

这是个Axis2服务端按照一个J2EE应用程序的发布。

它具有代码列表2所示结构。

Axis2的W AR的目录结构axis2-webMETA-INFWEB-INFclassesconfaxis2.xmllibactivation.jar...xmlSchema.jarmodulesmodules.listaddressing.mar...soapmonitor.marservicesservices.listaservice.aar...version.aarweb.xml从顶上开始,axis2-web是一组JSP页面,它们组成了Axis2管理员应用,通过这个应用,你可以执行任何需要的行动,例如添加服务,启动或者停止服务。

WEB-INF目录代表了实际的Axis2应用程序,包括所有的*.jar文件,任何添加的模块,甚至已经部署的服务自己。

Classes目录包含了任何Axis2本身需要的类或者属性文件,例如log4j.properties。

任何由系统处理的实际的服务位于services目录,它们以axis卷或*.aar文件的形式存在。

这个文件包含了与这个服务相关的所有类文件,以及控制任何额外需求的service.xml文件,例如消息收发者的定义。

所有这些最主要的文件是axis2.xml,它控制了应用程序如何处理接收到的消息。

它定义了消息接收者和传输接收者,以及定义传输发送者和决定哪个模块是活跃的。

它也定义了阶段的顺序,以及在每个阶段中执行的handler。

你可以控制通过使用Web 应用程序来控制所有这些信息,但是如果你重启Axis2应用程序,这些变化就丢失了,服务器会重新应用axis2.xml中的定义。

1.1.3源码发行包Axis2也提供了第三种发行包,源码发行包,该发行包可以让你自己生成这个.war文件。

1.1.4文档发行包Axis2文档发行包目录结构文档发行包包括所有的Axis2文档,它包含xdocs和javadocs。

Axis2文档发行包目录结构docsjavadocsxdocsLICENSE.txtREADME.txtrelease-notes.htmljavadocs目录包括所有的标准Axis2 API文档,在xdocs目录还有其它文档。

1.2下载AXIS2下载AXIS2的地址在:/dist/ws/axis2/1_4_1/。

因为我准备将Axis2 部署到Tomcat下来应用Axis2,所以只需要Axis2的W AR发行包即可。

其他包可根据需要进行下载。

1.3下载AXIS2的eclipse插件下载AXIS2的工具插件,在:/dist/ws/axis2/tools/1_4_1/ 。

下载AXIS2的eclipse代码生成插件:axis2-eclipse-codegen-wizard.zip;下载AXIS2的eclipse服务打包插件:axis2-eclipse-service-archiver-wizard.zip,如下图所示:2.安装部署AXIS22.1部署AXIS2到Tomcat我选择使用Tomcat 6.0.18。

下载Axis2的W AR发行包axis2-1.4.1-war.zip 之后,将其中的axis2.war解压出来,再将axis2.war解压到Tomcat的webapps目录下。

如下两图所示:部署成功后,启动Tomcat,可在http://localhost:port/axis2/访问Axis2的页面,如图:在上面的页面中,点击“Services”可看到当前已部署的服务。

2.2安装AXIS2的eclipse插件我使用的是eclipse3.2。

将下载的AXIS2的eclipse插件:axis2-eclipse-codegen-wizard.zip与axis2-eclipse-service-archiver-wizard.zip解压到eclipse安装目录下的,如下图所示。

安装好这两个插件后,启动eclipse,在“新建—其他”的窗口中,会有AXIS2 Code Generator与AXIS2 Service Archiver两项。

如下图:3.编写Web Service程序用Axis2构造一个Web Service程序时,并不需要我们太多关注有关Web Service的接口、标准、规范等内容,只要关注想要实现的业务逻辑就行。

至于生成WSDL文件、构建Web Service的包等这些事,全部交给Axis2来完成。

Axis2可以将一个简单的类处理为需要的文件;3.1创建服务程序先在eclipse下创建一个web工程(web project)。

如图:然后创建一个名为Tms2MisService的Java文件。

3.2打包服务在服务程序完成之后,可用Axis2 Service Archiver来打包服务,生成aar包。

选中当前服务程序所在的工程文件,在“新建—其他”中,选择“Axis2 Service Archiver”。

点击“下一步”之后,再选择服务程序的class文件所在的目录。

点击“下一步”之后,选择跳过WSDL文件。

点击“下一步”之后,再添加服务程序需要用到的库文件,如下图:在本文的示例中,用到的一些库(*.jar)文件,我准备将其部署到webapps\axis2\WEB-INF\lib下,因此在这里不需要加入任何库文件。

点击“下一步”之后,再选择自动生成service.xml文件,如下图:点击“下一步”,在填入服务程序的类名(包含包名)后,点击“Load”,即可找出该服务程序的全部方法,如下图:点击“下一步”,指定输出服务包的存放位置后,如下图:点击“完成”,即可生成服务包:tms2mis.aar3.3部署服务将打包的服务程序复制到Tomcat的webapps\axis2\WEB-INF\services目录下,将用到的一些*.jar文件,复制到webapps\axis2\WEB-INF\lib下,即可完成部署。

如下图:部署完成后,启动Tomcat,访问http://localhost/axis2/services/listServices能看到已部署的全部服务。

访问http://localhost/axis2/services/tms2mis?wsdl能看到服务对应的WSDL文件。

相关主题