参考文章:http://www.cnblogs.com/zhukunrong/p/3791409.html?utm_source=tuicool&utm_medium=referral
我的问题是由于服务器网站升级协议到TLSv1.2。
PS:JDK1.6不支持TLSv1.2,网上有说可以通过第三方包支持,但是这种方式很难与Axis集成。
所以我只能升级到JDK1.7
另外,我们的老古董程序使用的是Axis1.4框架。
import java.io.IOException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Hashtable;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.axis.components.net.JSSESocketFactory;
public class MyTLSSocketSecureFactory extends JSSESocketFactory {
public MyTLSSocketSecureFactory(Hashtable attributes) {
super(attributes);
// TODO Auto-generated constructor stub
}
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
// TODO Auto-generated method stub
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
// TODO Auto-generated method stub
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
// TODO Auto-generated method stub
}
} };
@Override
public void initFactory() throws IOException {
SSLContext context;
try {
context = SSLContext.getInstance("TLSv1.2");
context.init(null, trustAllCerts, new java.security.SecureRandom());
sslFactory = context.getSocketFactory();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (KeyManagementException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
在调用WebService前使用:
AxisProperties.setProperty("axis.socketSecureFactory", MyTLSSocketSecureFactory.class.getName());
分享到:
相关推荐
Axis1.x的jar文件主要包括axis.jar、commons-discovery.jar、commons-logging.jar等,这些文件需要添加到项目的类路径中。而Axis2.x的依赖更多,包括axis2-*.jar、axiom-*.jar、wsdl4j-*.jar等,还需要根据具体需求...
标题“Axis1.x调用WebService程序”涉及到的是在Java环境中使用Apache Axis1工具来与Web服务进行交互的技术。Apache Axis1是一个开源项目,它提供了一种简单的方式来创建和部署Web服务,同时也支持作为客户端调用...
<Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl.debugParameterAdd(ParameterIncludeImpl...
jquery.flot.axislabels.js
7. **查阅官方文档和社区资源**:如果以上步骤不能解决问题,可以查阅Apache Axis2的官方文档,或者在Apache Axis2的用户论坛、Stack Overflow等社区寻求帮助,看看其他人是否遇到过类似问题并找到了解决方案。...
org.apache.axis2.jar
1. **Axis2服务创建**:它允许用户直接在Eclipse环境中创建新的Axis2服务,通过向导指导用户完成服务定义、接口实现以及部署描述符的配置。 2. **代码生成**:当用户定义了服务接口和实现后,插件可以自动生成相应...
标签:axis2.eclipse.service.plugin-1.5.1-sources.jar,axis2.eclipse.service.plugin,1.5.1,sources,jar包下载,依赖包
1. **Java** - Axis2是基于Java语言开发的,因此与Java环境紧密相连,可以与Java应用程序无缝集成,利用Java的特性进行Web服务开发。 2. **Axis2.jar** - 这是本文档的重点,Axis2的核心库文件,包含了处理Web服务...
【Axis2.X教程】 Axis2 是 Apache 软件基金会开发的一个开源 Web Service 框架,用于构建和部署 SOAP 和 RESTful 服务。它基于 Axis1,提供了更高效、更灵活的服务架构,并且支持多种协议和服务模型。本教程将详细...
eclipse插件 org.apache.axis2.eclipse.codegen.plugin_1.7.4.jar
Axis1是一个开放源码的Web服务框架,用于构建和部署Web服务。在1.4版本中,可能存在某些代码与JDK 1.8的并发特性不兼容,导致在高并发操作中出现问题。这个问题可能出现在服务器处理大量并发请求时,由于不正确的...
Axis 1.x 版本是基于 JAX-RPC 实现的,而 Axis 2.x 则是基于 JAX-WS 标准构建的,这使得 Axis 2.x 在功能和性能上都有了显著提升。Axis 提供了一整套工具,包括代码生成器、部署工具以及客户端调用库,使得开发者...
4. **版本兼容性**:1.6.3版本确保与 Axis2 1.6.x系列库的兼容,这意味着它可以与其他1.6.x版本的Axis2组件协同工作。 `org.apache.axis2.eclipse.service.plugin_1.6.3`则是Apache Axis2的服务发布插件,它使...
1. **Axis2框架**:Apache Axis2是基于Java的Web服务引擎,支持SOAP 1.1/1.2和RESTful服务,提供了服务组件模型,用于构建高性能、可扩展的Web服务。 2. **Eclipse插件**:该插件是专门为Eclipse IDE设计的,能够...
标签:axis2.eclipse.service.plugin-1.5.jar,axis2.eclipse.service.plugin,1.5,jar包下载,依赖包
标签:axis2.eclipse.service.plugin-1.5-sources.jar,axis2.eclipse.service.plugin,1.5,sources,jar包下载,依赖包
**Jetty Axis2.war详解** Jetty是一个轻量级且高效的开源Java Web服务器和Servlet容器,它允许开发者快速地部署和管理Web应用程序。而Axis2则是Apache软件基金会的一个项目,提供了一个强大的Web服务引擎,用于实现...
eclipse 4.9.0 插件org.apache.axis2.eclipse.service.plugin_1.7.8
标题中的"axis.war"和"axis2.war"指的是两个在Java Web服务开发中广泛使用的Web应用程序档案(WAR)文件。WAR文件是Java Servlet容器(如Tomcat、Jetty等)可部署的Web应用程序的标准格式,它们包含了运行Web应用所...