3.3.1.4 验证安装
写一个简单的java程序来验证是否已安装成功: Public class hello{
Pubilc static static void main(String args[]){ System.out.println(“Hello”);
} }
将程序保存为文件名为hello.java的文件。
打开命令提示符窗口,进入到hello.java所在目录,键入下面的命令: Javac hello.java Java hello
此时若打印出来hello则安装成功,若没有打印出这句话,仔细检查以上配置是否正确。
3.3.2 下载配置cxf
3.3.2.1 打开下载地址
地址:(略)
3.3.2.2 下载cxf
版本:apache-cxf-2.4.0.zip
3.3.2.3 解压缩
解压缩到一个目录,我的目录是:G:\\apache-cxf-2.4.0
3.3.2.4 配置环境变量
配置环境变量%CXF_HOME%=G:\\apache-cxf-2.4.0(以我的目录为例)并在PATH后加上:%CXF_HOME%\\bin
3.3.2.5 验证安装
打开cmd,进入G:\\apache-cxf-2.4.0\\bin目录,运行wsdl2java命令可成功。 注:Win7下转换目录需要输入/d参数,如cd /d g:\\apache-cxf-2.4.0\\bin
3.3.3 使用wsdl2java工具
Wsdl2java –d G:\\src –client -d 生成文件存放到哪里 -client 生成客户端类
3.3.4 测试代码编写
A、到eclipse中建立一个工程
B、将上一章节3中使用wsdl2java工具生成的代码拷贝到工程目录中,或直接用工具生成代码到工程中。
C、下载需要的jar包,导入到工程中。 包下载地址:(略)
方法:运行wsdl2java工具自动生成的client(此时服务需要处于可访问状态,可通过访问wsdl验证是否可访问),按照错误提示导入需要的包,直到client可运行成功,说明需要的包已经导入完全。
其中一个提示没有告诉具体的错误原因:No method error:com.sun.cml.bind.api.JAXBRIContext.Instance。需要下载jaxb-impl-2.1.13.jar(即最新的包),若没有最新的,2.1.8也可以,但是早期版本不支持,比如2.0.1就不可以。
我导入的包是下面12个(工程右键选择Properties-Java Build Path-Add External JARS或者直接导入到工程相应目录下——工程名 \\WebContent\\WEB-INF\\lib):
Axis2-jws-api-1.4.1.jar Axis2-saaj-1.2.jar Axis2-saaj-api-1.3.jar Commons-logging-1.1.1.jar Jaxb-api-2.1.jar Jaxb-impl-2.1.8.jar Jaxb-xjc-2.1.7.jar Jaxws-api-2.1.1-1.jar Jaxws-rt-2.1.4.jar
Ow2-bundles-externals-jaxb2-1.0.9.jar Streambuffer-0.8.jar Wstx-asl-3.1.1.jar
D、编辑修改client代码,进行接口测试。(使用Junit即可)
3.4 Dynamic Client
Cxf也提供了一个不需要显性的生成java stub,参考网址:(略)
Wsdl2java静态方式调用和动态方式调用的区别:如果自己用java调用,那就自己生成stub,然后来调用;如果用Dynamic的话,其实也是Cxf帮你后台生成而已。
3.4.1 导入相应的包
需要导入的包如下14个: Commons-logging-1.1.1.jar Cxf-bundle-2.1.3.jar
Geronimo-activation_1.1_spec-1.0.2.jar Geronimo-annotation_1.0_spec-1.1.1.jar Geronimo-javamail_1.4_spec-1.5.jar Geronimo-stax-api_1.0_spec-1.0.1.jar Jaxb-api-2.1.jar Jaxb-impl-2.1.8.jar Jaxb-xjc-2.1.8.jar Neethi-2.0.4.jar Wsdl4j-1.6.2.jar Wstx-asl-3.2.7.jar Xml-resolver-1.2.jar xmlSchema-1.4.2.jar 注:
JDK版本1.5 TOMCAT版本5.X
上述条件必须有,否则会在客户端提示包错误。
还有要特别注意在JDK(公供程序出问题时参考(本示例未做该项处理))
\\%JAVA_HOME%\\jre\\lib\\endorsed 目录或者 %tomcat_home%\\common\\endorsed 目录下必须要用到两个包:
Jaxb-api-2.1.jar Jaxws-api-2.1.jar 否则会提示错误:(错误提示内容略)。
3.4.2 编写测试代码
Package dynamicSample;
Import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; Import org.apache.cxf.endpoint.Client; Public class SampleTest{
Public static void main(String[] args) throws Exception{
SampleTest test = new SampleTest(); Test.testClient(); }
public void testClient() throws Exception{
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); //Client client = dcf.createClient(“HelloWorldService.wsdl”); org.apache.cxf.endpoint.Client client = dcf.createClient(“http://localhost:8089/HelloWorldServiceComponent/HelloWorldService?wsdl”);
Object[] res = client.invoke(“sayHello”,”tianXX”);
System.out.println(“Response:”+res[0]); } }
4、工具soapUI方式
下面以测试服务HelloWorldService为例,详细说明使用工具soapUI进行WebService功能测试的操作步骤。
4.1 将WebService导入工程
A、单击‘File’->‘New soapUIProject’,如下图:
B、在弹出的对话框中输入待测试的ws信息,然后点击[OK]到下一步: Project Name:HelloWorldService Inital WSDL/WADL:
http://192.168.197.69:8089/HelloWorldServiceComponent/HelloWorldService?wsdl Create Requests:选中 Create TestSuite:选中 Relative Paths:选中
C、保存project
4.2 创建初始的TestSuit和TestCase
A、生成初始的测试用例
选择One TestCase for each Operation:每个接口创建一个用例
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库WebService 功能测试 - 图文(2)在线全文阅读。
相关推荐: