CXF契约优先开发方式之客户端实现(client)
来源:互联网 发布:pro怎么卸载软件 编辑:程序博客网 时间:2024/05/05 09:13
IDE:springsource jdk:1.7 CXF:2.7.8 maven:3.1.1
代码下载路径:http://download.csdn.net/detail/liuxigiant/6937077
简介
本实例是基于CXF框架实现的WebService客户端,使用maven生成客户端代码和管理依赖,集成spring框架配置客户端。
客户端实现的方式CXF官网上给出了很多参照,本实例就是参照官网上其中一种方式实现的。
官网地址:http://cxf.apache.org/docs/writing-a-service-with-spring.html 本实例参照的是:Create a Client (More Manual Way)
本例子是客户端的实现,上篇文章“CXF契约优先开发方式”作为服务器端(http://blog.csdn.net/liuxigiant/article/details/18043903)
本例子会写的比较概括,详细可参考CXF官网和“CXF契约优先开发方式”文章
实现步骤
1、获取服务器端的WSDL文件(本例子是客户端,可以直接使用服务器端编写的WSDL文件)
2、新建一个maven项目,配置pom文件
pom文件主要配置生成客户端代码(根据WSDL文件生成代码)的插件和管理依赖(本例子涉及到spring和cxf的jar包)。
3、编写spring配置文件beans.xml(本例子将该文件放在类路径下)
该文件的配置参考是参考官网配置的,需要修改服务定义类和服务器地址
4、编写客户端访问程序
新建类Client.java,新建main方法,获取spring配置的client类,编写访问服务的实现代码。
5、运行
启动服务器端,运行main方法,控制台能正确打印,服务调用成功
异常问题
运行的时候抛了个异常,异常信息如下:
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Could not find conduit initiator for address: http://localhost:8080/policy/insureService and transport: http://schemas.xmlsoap.org/soap/http
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:157)
at com.sun.proxy.$Proxy36.insure(Unknown Source)
at policy_client.Client.main(Client.java:22)
Caused by: java.lang.RuntimeException: Could not find conduit initiator for address: http://localhost:8080/policy/insureService and transport: http://schemas.xmlsoap.org/soap/http
上网查询了下说下spring 配置文件里面需要添加以下配置项,最后调试时候发现下面的配置项可以不要(那么客户端的配置比服务器端就可以去掉以下配置)。
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
最终找到的错误是配置address的时候,填写的路径的前面多了个空格。。。。。。。。
- CXF契约优先开发方式之客户端实现(client)
- CXF契约优先开发方式
- CXF Spring 基于契约优先开发
- Webservice_23_SOAP的基于契约优先开发用户管理_实现客户端
- CXF开发服务端(Server)和客户端(Client)
- CXF中的契约优先开发及隐式声明头信息
- restlet2.1 学习笔记(五)使用契约优先方式
- webservice 完整 实现方式 服务端 客户端 (cxf)
- webservice基于契约优先开发
- 【笔记】WebService开发客户端 cxf方式
- 契约优先方式编写wsdl + 隐式Header
- 服务契约(双工契约的服务器与客户端实现案例)
- soap基于契约优先WSDL的开发
- Webservice_21_SOAP的基于契约优先开发用户管理_实现Wsdl
- Webservice_25_SOAP的基于契约优先开发用户管理_实现Jsp页面功能
- webservice24--基于契约优先开发用户管理小功能--实现wsdl
- 第二章(契约 实现一个双向契约的客户端部分)
- CXF开发WebService客户端请求服务端的方式
- 前台技术--web页面通过JS显示当前日期
- 在Java内部类中使用外部类的成员方法以及成员变量
- IOS开发-iOS的UDID废用以及UUID配合keychain的替换方案实现
- 01背包,Bone Collector
- 正则表达式(1) step by step
- CXF契约优先开发方式之客户端实现(client)
- delphi 7 连接 MySql
- IntentFilter
- 指针函数与函数指针的区别
- install archlinux
- Spring AOP 详解
- ios屏幕旋转
- Android压缩图片到100K以下并保持不失真的高效方法
- IOS开发-设置APP自动更新