本次项目要通过https方式,调用外部的web service,所以在cxf的配置文件里进行配置如下:

<http:conduit name="*.http-conduit">
<http:tlsClientParameters disableCNCheck="true"
secureSocketProtocol="SSL">
<!-- 对方的证书 -->
<sec:trustManagers>
<sec:keyStore type="JKS" password="changeit"
file="/opt/inoc/wfm/certificates/remedy.keystore" />
</sec:trustManagers>
<!-- 己方的证书 -->
<sec:keyManagers keyPassword="changeit">
<sec:keyStore type="JKS" password="changeit"
file="/opt/inoc/wfm/certificates/wfm.keystore" />
</sec:keyManagers>
<sec:cipherSuitesFilter>
<sec:include>.*_EXPORT_.*</sec:include>
<sec:include>.*_EXPORT1024_.*</sec:include>
<sec:include>.*_WITH_DES_.*</sec:include>
<sec:include>.*_WITH_NULL_.*</sec:include>
<sec:exclude>.*_DH_anon_.*</sec:exclude>
</sec:cipherSuitesFilter>
</http:tlsClientParameters>
</http:conduit>

结果发现影响了系统原有的web service客户端的功能

查看日志,异常信息如下:

2012-05-07 15:34:59,407 ERROR [STDERR] javax.xml.ws.soap.SOAPFaultException: Could not send Message.
2012-05-07 15:34:59,408 ERROR [STDERR] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:138)
2012-05-07 15:34:59,409 ERROR [STDERR] at $Proxy146.invoke(Unknown Source)
2012-05-07 15:34:59,409 ERROR [STDERR] at com.huawei.nsm.framework.service.engine.impl.WsInvoker.invoke(WsInvoker.java:104)
2012-05-07 15:34:59,410 ERROR [STDERR] at com.huawei.nsm.framework.service.engine.ServiceEngine.invoke(ServiceEngine.java:69)
2012-05-07 15:34:59,411 ERROR [STDERR] at com.huawei.nsm.framework.service.ServiceAccessor.invoke(ServiceAccessor.java:49)
2012-05-07 15:34:59,412 ERROR [STDERR] at com.huawei.wfm.workforce.task.sch.service.calculatepriority.CalculatePriorityService.calculate(CalculatePriorityService.java:57)
2012-05-07 15:34:59,412 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-05-07 15:34:59,413 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
2012-05-07 15:34:59,414 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2012-05-07 15:34:59,415 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
2012-05-07 15:34:59,415 ERROR [STDERR] at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
2012-05-07 15:34:59,416 ERROR [STDERR] at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:162)
2012-05-07 15:34:59,417 ERROR [STDERR] at com.huawei.nsm.framework.utils.ClassUtil.invokeMethod(ClassUtil.java:45)
2012-05-07 15:34:59,418 ERROR [STDERR] at com.huawei.nsm.datasource.service.impl.DatasourceSaveServiceImpl.initSchedulePriority(DatasourceSaveServiceImpl.java:917)
2012-05-07 15:34:59,419 ERROR [STDERR] at com.huawei.nsm.workflow.service.AfterTicketSubmitedAsyncService$AfterTicketSubmitedAsyncRunnable.initSchedulePriority(AfterTicketSubmitedAsyncService.java:267)
2012-05-07 15:34:59,419 ERROR [STDERR] at com.huawei.nsm.workflow.service.AfterTicketSubmitedAsyncService$AfterTicketSubmitedAsyncRunnable.run(AfterTicketSubmitedAsyncService.java:183)
2012-05-07 15:34:59,420 ERROR [STDERR] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
2012-05-07 15:34:59,421 ERROR [STDERR] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
2012-05-07 15:34:59,422 ERROR [STDERR] at java.lang.Thread.run(Thread.java:662)

2012-05-07 15:34:59,422 ERROR [STDERR] Caused by: org.apache.cxf.interceptor.Fault: Could not send Message.
2012-05-07 15:34:59,423 ERROR [STDERR] at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:48)
2012-05-07 15:34:59,424 ERROR [STDERR] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:226)
2012-05-07 15:34:59,425 ERROR [STDERR] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:449)
2012-05-07 15:34:59,426 ERROR [STDERR] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
2012-05-07 15:34:59,426 ERROR [STDERR] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:231)
2012-05-07 15:34:59,427 ERROR [STDERR] at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
2012-05-07 15:34:59,428 ERROR [STDERR] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:117)
2012-05-07 15:34:59,428 ERROR [STDERR] ... 18 more

2012-05-07 15:34:59,429 ERROR [STDERR] Caused by: java.io.IOException: Illegal Protocol http for HTTPS URLConnection Factory.
2012-05-07 15:34:59,430 ERROR [STDERR] at org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:126)
2012-05-07 15:34:59,431 ERROR [STDERR] at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:484)
2012-05-07 15:34:59,431 ERROR [STDERR] at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
2012-05-07 15:34:59,432 ERROR [STDERR] ... 24 more

原来系统原有的web service客户端,走的http协议,但是配置文件里配置了

<http:conduit name="*.http-conduit">

以上配置会对所有的cxf客户端都生效,所以报异常

将这段配置改成:

<http:conduit name="https://10.78.8.172:443/.*">

仅针对目标https地址的web service客户端进行配置,对原有的web service客户端就不会造成影响了

总结:

1、<http:conduit>标签是对cxf的客户端,即<jaxws:client>产生影响,对<jaxws:endpoint>没有影响

2、<http:conduit name="*.http-conduit">会对所有的cxf客户端都生效,可以通过name属性,来指定生效范围

cxf配置http:conduit相关推荐

  1. CXF配置,ant文件说明及运行,运行cxf中带的项目

    安装CXF时需要Tomcat,ant,并设置以下环境变量: JAVA_HOME:        C:\Program Files (x86)\Java\jdk1.6.0_25 CXF_HOME:    ...

  2. WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单

    现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了这样的业务要求,需要在.net开发的客户端系统中访问java开发的web系统,这样的业务需求自然需要通过WebService ...

  3. spring+cxf 开发webService(主要是记录遇到spring bean注入不进来的解决方法)

    这里不介绍原理,只是记录自己spring+cxf的开发过程和遇到的问题 场景:第三方公司需要调用我们的业务系统,以xml报文的形式传递数据,之后我们解析报文存储到我们数据库生成业务单据: WebSer ...

  4. idea启动webservice_idea使用springboot的webservice基于cxf

    SpringBoot整合CXF实例: 服务端构建 org.apache.cxf cxf-spring-boot-starter-jaxws 3.2.5 /*** 作者信息实体 *@authoroKon ...

  5. WebService学习笔记---CXF入门

    2019独角兽企业重金招聘Python工程师标准>>> 一.准备 软件环境: JDK1.8, Eclipse JEE 4.4, Maven-3.2.5, Spring-4, CXF- ...

  6. java cxf 双向通讯_CXF 在spring boot 2 发布多个服务

    0. 问题来源 之前配置cxf服务端都是在spring 3以下,后来使用spring mvc 还都是基于xml的配置文件模式,在springboot模式下,实现起来更为简单了.此次记录下spring ...

  7. SpringBoot2 整合 CXF 服务端和客户端

    文章目录 一.CXF服务端 1. 导入依赖 2. 创建service接口 3. 接口实现类 4. cxf配置类 5. 查看wsdl结果 二.CXF客户端 2.1. 客户端 2.2. 断点调试 2.3. ...

  8. [转] WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单

    以下文章来自   http://www.blogjava.net/jacally/articles/186655.html 现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了 ...

  9. Spring集成CXF发布WebService并在客户端调用

    Spring集成CXF发布WebService 1.导入jar包 因为官方下载的包里面有其他版本的sprring包,全导入会产生版本冲突,所以去掉spring的部分,然后在项目根目录下新建了一个CXF ...

  10. 使用 CXF 开发 SOAP 服务

    转自其它网页,用来记下学习. 今天我们将视角集中在 REST 上,它是继 SOAP 以后,另一种广泛使用的 Web 服务.与 SOAP 不同,REST 并没有 WSDL 的概念,也没有叫做" ...

最新文章

  1. Spring基于注解的AOP配置
  2. EXPRESS.JS再出发
  3. ddm模型公式_简单判断目前行情——从股利贴现模型切入
  4. Python HTMLCalendar类| 带实例的formatyear()方法
  5. 选课 topsort
  6. virtio-fs: A Shared File System for Virtual Machines
  7. 超多种类的报表模板,填上数据就能用,全拿走!
  8. 初级程序员软考重难点知识整理(持续更新)
  9. 深入浅出之WPF基础教程
  10. 四阶段法——城市交通需求预测
  11. springboot 接入 cachecloud redis 实践
  12. macbook 查看本机ip地址
  13. Word 用宏命令实现锁定页眉页脚的两种方式
  14. 【那些年学过的计算机基础】--计算机发展史(图片版)
  15. 被修饰成单栋的倾斜摄影处理思路
  16. PAT 甲级 A1010 Radix (25 分)
  17. ESP8266开发之旅 阿里云生活物联网平台篇② 使用云智能App,配置自己的App,无需开发
  18. 视频编解码-----理论基础(3)
  19. 【RST笔记6】scheduler
  20. 贪心算法之圣诞老人的礼物

热门文章

  1. wangEditor 粘贴从 word 复制的带图片内容的最佳实践
  2. 百度在线语音合成API接口简单应用
  3. linux修改内核logo,Linux内核开发-修改开机Logo
  4. 人生苦短,你一定要成为你自已想成为的那个人
  5. 怒怼|扎克伯格到底是个怎样的人
  6. 华为OJ——将真分数分解为埃及分数
  7. 史上最怪异的几大数据中心事故
  8. Pure DNS 可能是迄今最不稳定的DNS
  9. 实践篇(4):Apache jena SPARQL endpoint及推理
  10. 基本数学概念——数列