WebService的测试程序开发
CXF 中包含了一个 Maven 插件 cxf-codegen-plugin,能够将 Wsdl 文件动态生成 webservice 本地类。下面针对Apace cxf 进行介绍如何配置,以及webservice中的几种常见安全验证方式。
Apache CXF简介
Apache CXF = Celtix + XFire。Apache CXF 是一个开源的 Services 框架,CXF 利用 Frontend 编程 API 来构建和开发 Web Services , 支持 SOAP, XML/HTTP, RESTful HTTP, 和 CORBA ,并且可以在多种协议上运行,如HTTP, JMS 和 JBI.
将WSDL文件转化为Java代码
CXF 中包含了一个 Maven 插件 cxf-codegen-plugin,能够将 Wsdl 文件动态生成 webservice 本地类。 具体方法:在eclipse中建立maven项目,然后将pom中增加配置如下,然后运行mvn run,mvn install, mvn test等,即可生成代码。
详细的pom.xml配置文件见最下方附注。
Maven 配置
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>http://172.0.0.1:8080/myService.wsdl</wsdl>
</wsdlOption>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/myService.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
使用上述maven插件,代码会自动生成客户端,其名称类似于class ServiceName_ServicePort_Client
,不过自动生成的客户端代码比较繁琐,不便于维护,建议自己重新建立自己的测试用例。copy艳超的代码如下: