1.安装eclips教程e
需要安装eclipse v3.3或者以上版本,而且满足javaee开发。如果没有去http://www.eclipse.org下载javaee开发版本的eclipse ide(比如:eclipse-jee-helios-sr1-win32.zip)。解压到路径c:eclipse.然后在桌面创建快捷方式。并创建默认工作空间c:workspace.运行eclipse并转到javaee开发透视图下:
eclipse的bug提示:在eclipse3.3.1中有一个严重的bug:当在可视化环境下编辑wsdl文件时eclipse会提示outofmemoryerror错误。若修复这个bug,请按照下面方式修改文件:c:eclipseeclipse.ini:
2.安装axis2
接下来,去http://ws.apache.org/axis2下载”standard binary distribution”(比如:axis2-1.5.4-bin.zip).解压到c:axis。切换到目录c:axisbin下运行axis2server.bat将启动axis服务器。你将看到如下画面:
这说明在axis服务上已经存在了一个名称为”version”的web service。单击”version”连接你将看到它的wsdl文件:
3.在eclipse上安装axis2插件
去http://ws.apache.org/axis2/tools/index.html下载代码生成插件(code generator 比如:axis2-eclipse-codegen-plugin-1.5.4.zip)。把它解压到c:eclipseplugins文件夹下面。重启eclipse如果需要。检验是否安装成功,选择菜单”file|new|other”看是否有”axis2 code generator”选项:
4.web service的wsdl文件
假如你想创建一个在第一章描述的web service:
上面定义了schema和port type。下面我们来定义binding和port:
实际上,在soap 的binding中,你可以指定更详细的信息:
5.rpc类型的web service (版本一)
如果创建的web service是rpc类型的,那么wsdl文件应该是这样的:
因为rpc类型web service不是实践中最好的选择。建议使用文档类型(document style)的版本
6.以可视化方式创建wsdl
以手写方式创建wsdl文件容易出错误。幸运的是,在eclipse中可以在可视化方式下进行wsdl的创建。首先,在eclipse中创建一个名称为simpleservice的java工程:
在创建工程的过程中,保证对于源代码和类文件使用不同的文件夹。然后继续完成工程的创建。接下来,右键单击工程并选择菜单”new|other”,然后选择”web services|wsdl”:
如果你没有看到这个选项,说明你没有安装javaee版本的eclipse。如果正常工作,单击”next”并输入simpleservice.wsdl作为文件名:
单击”next”,接着安装下图图示输入:
单击”finish”,你将会得到如下画面:
这是wsdl的代码文件表现形式。如果要进行可视化编辑,单击编辑器窗口底部的”design”标签。你看到:
双击endpoint将其改为http://localhost:8080/axis2/services/simpleservice:
双击operation将其改为”concat”:
现在,input part 是一个
单击其他地方窗口会消失。为了编辑schema 定义(比如:在这里是指
如果要想可视化(图形化)方式编辑,单击编辑器底部的”design”标签,你将会看到:
双击”in”把其改为”s1”:
右键单击(concattype)选择”add element”并把名字设置为”s2”:
默认情况下元素类型被设置为string(比如:元素s1,s2)。如果要更改元素类型,双击其类型会出现一个下拉列表选择框可以选择合适的元素类型:
如果你想让s2在s1之前显示,可以把其选中拖放在s1前面:
现在,还是保持s1在s2之前显示。接下来右键单击
现在已近完成了对
如上图所示,concatresponse是一个包含了
然而,在接口设计的时候,response是一个简单类型的元素,而不是一个复杂类型元素:
那么如何更改concatresponse的类型呢?右键单击选择”set type|browse”:
选择”string”:
成功更改后,concatresponse会变成下图所示:
好了,现在让我们查看一下整个schema,单击左上角的图标:
你将看到:
看起来不错吧?o(∩_∩)o~。现在,保存下文件吧!
7.验证wsdl 文件
为保证wsdl文件遵守各种web service标准,接下来我们对其进行验证。验证操作非常简单:右键单击simpleservice.wsdl文件选择”validate”. 如果有任何错误,会在问题窗口显示。比如,这里我引入了一个错误在simpleservice.wsdl文件中:
8.生成一个service stub
接下来,为了实现这个web service,需要生成一个 “service stub”(见下图)。当一个请求消息到来时,service stub 会把xml元素
以上对原理进行了简单的介绍,接下来我们进行实践操作。在eclipse中选择菜单”file|new|other” 并选择”axis2 code generator”(见下图).默认是从wsdl文件生成java代码。默认选择正是我们所要选择的:
单击”next”(见下图).单击”browse”定位到simpleservice.wsdl文件:
单击”next”(见下图).像下面一样设置每个选项:
当然,这只是默认的映射方式。在上面的对话框中可以自定义java包结构。但是对于我们来说默认的映射也比较合理。接下来单击”next”并输入以下信息:
单击”finish”.邮件单击工程文件夹选择”refresh”.然后你将看到以下一些生成的文件:
java 源代码文件会提示很多错误,这是因为这些源代码会引用到axis2的jar文件但是目前这些文件不在build path中。所以,打开build path 对话框并单击”add jars”按钮:
选择工程中”lib”文件夹下的所有的jar 文件:
这时,所有的提示错误都会消失掉。o(∩_∩)o~
9.实现web service
要实现web service,需要更改simpleserviceskeleton.java文件,这个文件即service skeleton:
concatrequest类和concatresponse类从哪里得来的呢?它们是由axis2 code generator生成的:
10.部署web service
在axis2服务器中,部署web service,只需要按照下图进行文件的拷贝就可以了:
现在,通过运行:c:axisbinaxis2server.bat文件启动axis2服务器。你应该看到服务器已经获得了simpleservice :
打开浏览器,在地址栏输入http://localhost:8080 你将看到simpleservice:
若要查看simpleservice的wsdl文件,只需要单击”simpleservice” 链接即可:
11.通过客户stub创建一个客户端
若访问一个web service, 需要使用axis2的代码生成工具生成一个”client stub”(客户 stub).当访问web service中的一个方法时,stub 会把你程序中的java 对象数据转化为适当的格式(xml格式的soap),并在soap中创建请求消息,然后通过internet使用适当的传输协议 (http)把其(soap)发送到正确的endpoint(端点).当有响应到来时,stub把xml格式的消息再转化为java对象数据,并将其返回给你。
按照以下步骤生成客户stub。运行axis2 code generator 向导直到看到下图所示的步骤。这次选中生成客户端代码(generate client side code):
然后选择把生成的代码输出到simpleservice 工程。
单击”finish”并刷新工程。你将看到一些新生成的java 类文件:
在上图的类文件中,simpleservicestub.java 是客户stub。这就好比你模仿他人访问你的自己的web service一样,他人不可能把客户端代码和web service的实现代码混在一起。因此,把客户端代码放到单独的包中,比如com.ttdev.ss.client.
接下来,在com.ttdev.ss.client包中创建simpleclient.java类文件:
运行它,会获得如下输出:
12.卸载web service
如果要卸载web service。只需要把simpleservice文件夹删除即可:
即使在axis2 服务器运行的时候,删除文件夹操作一样正常工作。服务器会提示文件夹被删除和service被成功卸载。
如果把删除的service文件夹复原。axis2 服务器会立刻重新部署:
这就是所谓的”hot deployment””(热部署)。
13.本章总结
tomcat承载了一个或者多个web application。axis 服务器可以作为一个web application安装到tomcat中。axis可以承载一个或者多个web service。
普遍情况下,输入消息和输出消息是以soap消息传送的。一个soap消息总是一个
创建一个web service,首先要创建一个wsdl文件用来描述web service的接口。通常通过工具来创建wsdl文件,比如用eclipse。使用axis code generator向导通过wsdl文件生成服务器端stub。然后在service skeleton中填充自定义代码。服务器端stub 的作用是把请求消息中的xml元素转化为java对象数据,然后调用skeleton并把java 数据对象以xml元素返回,然后封装到相应消息(response message)中。
部署一个web service,拷贝类文件和services.xml文件到axis2 服务器中要符合特定的文件结构。如果要卸载一个web service只要删除相应的web service 文件夹即可。axis2 服务器支持热部署。这意味着,可以在服务器运行中,部署和卸载web service。
部署的web service的端点(endpoint)是:http://localhost:8080/axis2/services/%3cname-of-your-service>.
访问一个web service,在相应的wsdl文件上运行axis code generator向导生成一个客户端stub。然后在自己的代码中创建一个client stub的实例,把其当作一个web service进行调用。客户端 stub将把java 数据对象转化为xml 元素,并以正确的格式创建请求消息,然后通过适当的传输协议把请求消息发送到正确的端点(endpoint),并把相应消息中的xml元素转化为java 数据对象返回
忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载勇者秘境oppo版 安卓版v1.0.5
下载忍者必须死3一加版 最新版v1.0.138v2.0.72
下载绝世仙王官方正版 最新安卓版v1.0.49
下载Goat Simulator 3手机版 安卓版v1.0.8.2
Goat Simulator 3手机版是一个非常有趣的模拟游
Goat Simulator 3国际服 安卓版v1.0.8.2
Goat Simulator 3国际版是一个非常有趣的山羊模
烟花燃放模拟器中文版 2025最新版v1.0
烟花燃放模拟器是款仿真的烟花绽放模拟器类型单机小游戏,全方位
我的世界动漫世界 手机版v友y整合
我的世界动漫世界模组整合包是一款加入了动漫元素的素材整合包,
我的世界贝爷生存整合包 最新版v隔壁老王
我的世界MITE贝爷生存整合包是一款根据原版MC制作的魔改整