`
rain.xie
  • 浏览: 36099 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

web service 采用https 的问题

    博客分类:
  • java
阅读更多
最近一个项目,接口包含了web service接口,想想很简单的(以前都没有使用ssl,没想到ssl会遇到一些麻烦),就是调用别人的web service,开始用了xfire来做,通过wsdl很快生成了代码,写好测试类,运行,错误出现了javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 这样的异常,初步判断是ssl的问题。找了xfire的文档,发现,如果要使用https的连接,需要相应的处理。于是在代码前加入
ProtocolSocketFactory easy = new EasySSLProtocolSocketFactory();
		Protocol protocol = new Protocol("https", easy, 80);
		Protocol.registerProtocol("https", protocol);

再运行刚才的错误消失了,又出现了新的问题org.codehaus.xfire.fault.XFireFault: No Deserializer found to deserialize a 'urn:pronto.creditReserveAPI.ver1:ns2:in0' using encoding style 'null'.不知道什么原因,google的大半天也没有解决(用axis调通后怀疑xfire生成的问题,不知道那位大侠遇到过如此问题,不吝指教),最后没有办法,决定换axis试试,生成代码也很顺利,同样遇到https的问题,这次的解决办法是参考了http://wwwww.iteye.com/blog/94854的文章(在此谢谢了,帮了个大忙)(从ie导出证书,并在程序设置System.setProperty("javax.net.ssl.trustStore","D:/test/urltest/crt");或者在运行java时加入参数:-Djavax.net.ssl.trustStore=D:/test/urltest/crt. ),配置了客户端证书,然后测试,终于测试顺利通过。后话,在axis中出现PKIX path building failed的错误的时候,不知道还有没有别的办法进行处理,有时间再研究这个问题了。btw:(O'Reilly 的java security 第2版,里面的接口已经过时了,但是原理讲的很清楚)
分享到:
评论
3 楼 LeisureDev 2010-05-21  
从ie导出证书,配置了客户端证书,这个能解决.关键是能不能不用客户端配证书,就能连上web service呢?
2 楼 snowolf 2008-07-03  
正好工作中要用到,今天花了半天终于解决了spring+axis的问题接下来就是安全ssl问题了,呵呵,先谢过!~
1 楼 StevenYu 2007-12-12  
Rain哥是越来越强了

相关推荐

    J2EE Web Service

    Web服务技术之所以能够实现这一点,是因为它们采用了一种平台无关的通信方式,这意味着通信的媒介并不依赖于特定的编程语言、操作系统或硬件配置。 ### J2EE Web Service与基本配置文件(BP)1.0 J2EE Web Service...

    嵌入式Web Service

    1. **通信协议**:嵌入式Web Service通常采用轻量级协议如HTTP、HTTPS、CoAP等,以适应低带宽、高延迟的网络环境。 2. **消息格式**:XML和JSON是常用的数据交换格式,其中JSON因更小的体积和更高的解析效率而受到...

    web service reference

    ### Web Service Reference详解 #### 一、Web Service简介 **Web Service**是一种支持软件间通信的网络服务形式,它提供了一种标准化的方式使得一个应用程序可以通过HTTP等网络协议调用另一个应用程序的功能,就像...

    delphi web service接口实例

    - **安全性**:为了保护Web Service,可以使用HTTPS、身份验证和授权机制。 - **性能优化**:可以通过缓存、压缩传输数据、减少XML解析等方法提升Web Service性能。 - **版本控制**:为了不影响旧客户端,可以...

    实战 Web Service 压缩传输

    然而,在实际应用中,Web Service 的数据传输效率往往受到诸多因素的影响,尤其是当传输大量数据时,其效率问题更加突出。本文将围绕“实战 Web Service 压缩传输”这一主题,深入探讨如何通过不同的技术手段和策略...

    典型的Web Service结构

    无论Web Service是使用何种工具和技术开发的,只要采用SOAP协议并通过HTTP进行通信,其基本结构和工作流程都是相似的。 #### 二、典型结构详解 **1. 客户端与WSDL文档** - **WSDL文档**:Web Service Description...

    Web Service Web Service

    ### Web Service与智慧型多重代理人手写行动通讯系统 #### 一、研究背景与动机 随着互联网技术的发展,人们越来越依赖于随时随地的信息获取与交流。3G(第三代行动通讯系统)的到来更是加速了移动互联网的发展趋势...

    Web Service的创建、发布、和添加Web Service的引用

    Web服务是一种基于网络的软件应用程序接口,它允许不同的系统之间进行数据...随着技术的发展,Web服务现在更多地采用RESTful API的方式,但基本原理和过程依然相似。学习和掌握这些技能将使你在IT行业中更具竞争力。

    Web Service学习报告

    - **云服务**:云平台广泛采用了 Web Service 技术来提供 API 接口,供开发者调用。 #### 七、总结 通过上述内容,我们可以清晰地了解到 Web Service 在 IT 行业中的重要作用以及其实现方式。无论是从理论层面还是...

    C#天气预报 Web service

    在这个案例中,我们可能使用的是RESTful API,因为它是现代Web开发中广泛采用的标准,特别适合于提供数据给HTML客户端。 C#是微软开发的一种面向对象的编程语言,与.NET框架紧密结合,非常适合用于创建Web服务。在...

    web service 发布 测试

    Web Service主要采用SOAP(Simple Object Access Protocol)作为数据传输格式,并通过HTTP协议进行通信,以实现跨语言、跨平台的互操作性。在本教程中,我们将详细介绍如何在Visual Studio(VS)和IIS(Internet ...

    基于web service的分布式协同cad系统框架.pdf

    综上所述,基于Web Service的分布式协同CAD系统框架通过使用Web Service技术,结合服务器与客户端的协作,实现了设计操作的集中处理和客户端间协同工作,提高了系统的协同效率和操作体验。同时,系统通过有效减少...

    家园Web Service.rar

    项目可能使用常见的关系型数据库如MySQL、SQL Server或Oracle,也可能采用NoSQL数据库如MongoDB,用于支持Web Service的查询和数据操作功能。数据库设计应遵循规范化原则,确保数据的一致性和效率。同时,为了保证...

    天气预报web service

    综上所述,“天气预报Web服务”项目涵盖了Web Service的基本原理、API调用流程、客户端开发以及安全与性能优化等多个方面,对于学习和实践Web Service技术的开发者来说,是一个宝贵的实战案例。

    什么是Web Service

    ### 什么是Web Service Web Service是一种技术,它允许不同的应用...通过采用XML、SOAP和WSDL等标准,Web Service使得不同平台和编程语言编写的应用程序能够轻松地相互通信,大大提高了软件系统的灵活性和可扩展性。

    C#Web+Service开发详解

    - 安全性是Web Service的重要考虑因素,可以采用HTTPS提供安全的HTTP连接,或者使用WS-Security标准来实现消息级别的安全。 7. **Web Service与其他技术的集成** - ADO.NET用于与数据库交互,可以将Web Service与...

    Web Service远程调用技术

    Web Service 的优点是跨编程语言和跨操作系统平台,即服务端程序采用 Java 编写,客户端程序则可以采用其他编程语言编写,反之亦然。跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。Web ...

    JAVA 调用Web Service的方法

    调用Web Service时,可能遇到网络问题、数据格式错误等异常,需要适当地捕获和处理,如`SOAPFaultException`。 8. **测试Web Service**: 可以使用SOAPUI工具对Web Service进行功能测试,验证其正确性和性能。 9...

Global site tag (gtag.js) - Google Analytics