Webservice_axis_dev
- 格式:pdf
- 大小:1.22 MB
- 文档页数:46
WebService测试,开发,部署目录1WEBSERVICE 测试 (4)1.1使用XMLSPY测试接口 (4)1.2用TCPMON测试捕获SOAP数据包 (7)1.3用XMLHTTP发送SOAP数据包 (7)2WEBSERVICE开发 (8)2.1客户端代码开发 (8)2.1.1Wsdl2java命令方式 (8)2.1.1.1预备wsdl2java.bat (8)2.1.1.2在Jbuilder新建空白工程. (8)2.1.1.3导入Axis和Junit的lib. (9)2.1.1.4运行wsdl2java.bat (11)2.1.1.5在Jbuilder中测试代码 (12)2.1.1.6以Ant方式运行WSDL2Java (12)2.1.2完全在Jbuilder中开发客户端代码 (13)2.1.2.1新建客户端工程 (13)2.1.2.2新建Axis Web Services Client Configuration. (14)2.1.2.3将Jbuilder自带的Axis1.2 lib升级为1.4版本 (15)2.1.2.4创建Webservice Client (16)2.1.2.5生成客户端代码 (19)2.1.2.6进行单元测试 (20)2.1.2.7捕获单元测试数据包 (24)2.1.2.8捕获html测试数据包 (30)2.2服务端代码开发 (32)2.2.1基于Axis开发服务端 (32)2.2.1.1新建服务端工程 (32)2.2.1.2新建服务端接口声明(可选). (33)2.2.1.3新建服务端实现类. (34)2.2.1.4通过Jbuilder导出实现类为WebService接口. (36)2.2.1.5启动WebService服务端 (40)2.2.2在Spring中导出bean为WebService接口 (42)3WEBSERVICE手工部署 (42)3.1部署A XIS (42)3.1.1提取Axis的web应用 (42)3.1.2启动Tomcat并检查axis是否正常 (43)3.2发布W EB S ERVICE (43)3.2.1查看现有部署的服务 (43)3.2.2编写部署描述文件axis.wsdd (43)3.2.3复制class文件 (44)3.2.4命令行方式发布WebService (44)3.2.5察看部署的服务 (44)3.2.6测试部署的服务 (44)4附录 (45)4.1相关资源下载 (45)4.2相关参考资料 (45)4.3将WSDL生成文档提供给接口调用者 (45)1WebService 测试不编写代码的情况下,对webservice进行测试,编写代码进行测试的方法.1.1 使用xmlspy测试接口测试webservice接口地址为:/globalweather.asmx?WSDL/Service.asmx?WSDL/Service.asmx/getSupportProvince/Service.asmx?op=getSupportCity在xmlspy中的测试步骤:1.启动XmlSpy,主菜单-->SOAP --> Create new SOAP request.2.选择wsdl文件或者提供wsdl的网址:3.选择要测试的方法4.填写调用参数5.发送请求6.查看服务端返回的结果7.由于wsdl描述的webservice入口和我们要连接的服务器不一定是同一个地址,因此还可以改变连接参数8.因此参考: /products/xmlspy/soap_test_debugger.html这种方式的优点是:门槛低,只要会填参数就可以测试webservice。
缺点是:xmlspy不是免费的,xmlspy文件超大,携带不方便。
无法查看http header.1.2 用tcpmon测试捕获SOAP数据包工具来源,下载地址:/ws/commons/tcpmon/1_0/tcpmon-1.0-bin.zip优点,文件小巧,不只是测试webserice可以用,测试其它http接口也很方便。
缺点,没法设置contenttype,所以会有乱码。
1.3 用xmlhttp发送SOAP数据包优点,简单的html可以存放在各地,可以在预先准备好SAOP数据的情况下,将该测试用例发给工程人员在现场进行测试。
缺点,soap数据要靠自己组装。
2WebService开发2.1 客户端代码开发2.1.1Wsdl2java命令方式2.1.1.1 预备wsdl2java.batwsdl2java.bat的内容为:%JA V A_HOME%/bin/java.exe -classpath "./axis-ant.jar;./axis.jar;./commons-discovery-0.2.jar;./commons-logging-1.0.4.jar;./ja xrpc.jar;./log4j-1.2.8.jar;./saaj.jar;./wsdl4j-1.5.1.jar"org.apache.axis.wsdl.WSDL2Java -v -n -O -1 -D -W -t -a -o E:\mywork\wsdl2javatest\src/globalweather.asmx?WSDL(没有–s –S两个选项, -s用来生成服务端代码,使用-s后,-t无效).-o是原代码输出的地方。
2.1.1.2 在Jbuilder新建空白工程.2.1.1.3 导入Axis和Junit的lib.2.1.1.4 运行wsdl2java.bat2.1.1.5 在Jbuilder中测试代码在下一章节中进行详细描述。
2.1.1.6 以Ant方式运行WSDL2Javawsdl2java.xml的配置为:<?xml version="1.0" encoding="UTF-8"?><project xmlns:xsi="/2001/XMLSchema-instance"default="buildclient" xsi:type="project"><path id="axis.classpath"><fileset dir="./"><include name="**/*.jar" /></fileset></path><taskdef resource="axis-tasks.properties" classpathref="axis.classpath" /><!-- http://10.108.20.207:8080/test/services/V ersion?wsdl --><!-- /Service.asmx?WSDL --> <target name="buildclient"><axis-wsdl2javaurl="/Service.asmx?WSDL"output="E:/mywork/testwebws/classes/ws-gen/src"all="true"debug="true"deployscope="Request"helpergen="true"noimports="false"serverside="false"skeletondeploy="false"testcase="true"timeout="-1"typemappingversion="1.1"verbose="true"noWrapped="true"><!--mappingnamespace="http://10.108.20.207:8080/test/services/V ersion"package="com.test.services.V ersion"/><mapping namespace="/xml-soap" package="org.apache.xml.xml_soap"/ --><classpath refid="axis.classpath"/></axis-wsdl2java></target></project>2.1.2完全在Jbuilder中开发客户端代码2.1.2.1 新建客户端工程.点Finish.2.1.2.2 新建Axis Web Services Client Configuration.2.1.2.3 将Jbuilder自带的Axis1.2 lib升级为1.4版本1.4版本生成的代码和1.2有所不同。
2.1.2.4 创建Webservice Client2.1.2.4.1导入WSDL文件方式一-- 直接填写URL输入url之后,鼠标点到”Opeerations”,系统会自动读取url的内容。
url例子:/globalweather.asmx?WSDL可以看到能够调用的WebService方法:2.1.2.4.2导入WSDL文件方式二–导入WSDL文件2.1.2.4.3直接操作点击感叹号,直接选择2.1.2.5 生成客户端代码2.1.2.6 进行单元测试2.1.2.6.1察看生成好的测试代码.2.1.2.6.2补充测试代码生成的测试代码只是测试框架,需要补充具体的测试代码//TBD就是需要补充代码的地方补充了测试代码之后:2.1.2.6.3运行单元测试2.1.2.6.4观察单元测试结果2.1.2.7 捕获单元测试数据包2.1.2.7.1启动捕获数据的代理服务器双击运行tcpmon.bat使用listener模式,Listen Port 填写8080 Target Hostname为刚才察看到的远程ip TargetPort 为80.点“Add”.察看监控面板。
2.1.2.7.2修改测试代码的目标地址2.1.2.7.3运行单元测试2.1.2.7.4察看监控得到的数据观察http请求的头信息.2.1.2.8 捕获html测试数据包2.2 服务端代码开发2.2.1基于Axis开发服务端2.2.1.1 新建服务端工程.2.2.1.2 新建服务端接口声明(可选).2.2.1.3 新建服务端实现类.填写实现代码2.2.1.4 通过Jbuilder导出实现类为WebService接口. 必须选J2EE 1.3 ,因为要选择1.4的话,必须实现Remote接口创建Axis Server Module.由于目前没有创建WebApp,因此还需要新建Web Module.选择Servlet 2.3 和JSP 1.2。