WebService 操作文档
1:开发环境(CXF2.3.0+Spring3.0.1+weblogic9.2)
所需架包:
asm-3.3.1.jar
commons-codec-1.7.jar
commons-collections-3.2.1.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
cxf-2.3.1.jar
geronimo-servlet_3.0_spec-1.0.jar
jetty-continuation-8.1.12.v20130726.jar
jetty-http-8.1.12.v20130726.jar
jetty-io-8.1.12.v20130726.jar
jetty-security-8.1.12.v20130726.jar
jetty-server-8.1.12.v20130726.jar
jetty-util-8.1.12.v20130726.jar
neethi-3.0.2.jar
stax2-api-3.1.1.jar
woodstox-core-asl-4.2.0.jar
wsdl4j-1.6.3.jar
xmlschema-core-2.0.3.jar
spring.jar
第一步,在 web.xml 中配置 CXF
另外设置启动监听器初始化 Spring 配置文件
第 二 步 , 新 建 一 个 接 口 定 义 方 法 口 需 要 用
@WebService
新 建 一 个 类 实 现 该 接 口 , 使 用 @WebService(endpointInterface =
"com.crfchina.p2p.webService.infacses.IMinaServerImpRuleHandler",
serviceName = "MinaServerImpRuleHandlerImpl")来声明该类
在 spring 配置文件 webServiceapplicationContext.xml 中配置写好的 Service
其中需要导入 CXF 的配置,其中的注入对象是在本项目中其他 spring 配置文件
中声明的对象。
至此服务端开发完成。
接下来将项目部署在 weblogic9.2 上,启动异常!
所以在部署之前,对我们的 weblogic 以及实现类代码稍作修改
在实现类中设置系统变量:
在 我 们 weblogic 的
下
加
入
wstx-asl-3.2.2.jar
另
外
在
这个启动程序中设置
set PRE_CLASSPATH=F:\CXF\geronimo-ws-metadata_2.0_spec-1.1.3.jar
set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH%
以上配置完成之后可以发布项目
通过游览器访问 http://192.168.11.66:7001/crf_webp2p_back/hello/IService?wsdl
出 现 以 下 图 为 发 布
成 功
webService
其中/hello 为在 web.xml 配置 Servlet 的的 value
IService 为在 spring 配置文件中 address="/IService"
CXF 客户端生成
客户端所需架包:
commons-logging-1.1.1.jar
cxf-2.3.1.jar
geronimo-activation_1.1_spec-1.1.jar
geronimo-annotation_1.0_spec-1.1.1.jar
geronimo-javamail_1.4_spec-1.7.1.jar
jaxb-api-2.2.1.jar
jaxb-impl-2.2.1.1.jar
neethi-2.0.4.jar
spring-aop-3.0.5.RELEASE.jar
spring-asm-3.0.5.RELEASE.jar
spring-beans-3.0.5.RELEASE.jar
spring-context-3.0.5.RELEASE.jar
spring-core-3.0.5.RELEASE.jar
spring-expression-3.0.5.RELEASE.jar
stax2-api-3.0.2.jar
woodstox-core-asl-4.0.8.jar
wsdl4j-1.6.2.jar
wss4j-1.5.10.jar
xalan-2.7.1.jar
xmlbeans-2.4.0.jar
XmlSchema-1.4.7.jar
xmlsec-1.4.4.jar
在环境变量 path 中配置 CXF 的安装目录下的 bin 目录,根据 wsdl 地址
在 dos 窗口下找到将要生成客户端的位置,根据 wsdl2java 空格后面跟 wsdl
地址回车即可生成客户端代码,其中有几个构造函数会出现错误,点击错误提
示直接可以解决。
生成后的代码
然后可以利用其中的动态代理对象调用接口中的方法。具体操作见图