我正在为https Web服务构建REST客户端 . 我的代码在eclipse中工作但在通过JAR执行时失败并出现上述异常 . 以下是我的代码:
DefaultHttpClient httpClient = new DefaultHttpClient();
Credentials credentials = new UsernamePasswordCredentials(LoginName,Password);
httpClient.getCredentialsProvider().setCredentials(org.apache.http.auth.AuthScope.ANY, credentials);
SSLContext ctx = SSLContext.getInstance("TLS");
X509TrustManager tm = new X509TrustManager()
{
public void checkClientTrusted(X509Certificate[] xcs, String string)
{}
public void checkServerTrusted(X509Certificate[] xcs, String string)
{}
public X509Certificate[] getAcceptedIssuers()
{
return null;
}
};
ctx.init(null, new TrustManager[] { tm }, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx);
ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
httpClient.getConnectionManager().getSchemeRegistry().register(new Scheme("https", ssf, 443));
ClientExecutor clientExecutor = new ApacheHttpClient4Executor(httpClient);
ClientRequest request = new ClientRequest(clientURI + tokenURL, clientExecutor);
request.getQueryParameters().add("loginName", LoginName);
request.getQueryParameters().add("operatorId", OperatorId.toString());
ClientResponse<String> response;
try
{
response = request.get(String.class);
if (response.getStatus() != Status.OK.getStatusCode())
{
System.out.println(("Failure: HTTP Code : " + response.getStatus()));
}
token = response.getEntity().toString();
} catch (Exception e)
{
logger.error(("Failed: Exception=" + e.getMessage()) + " " + e);
}
我正在使用ANT构建我的Jar . 我想这个问题必须与JAR冲突有关 . 以下是我正在使用的JAR列表:
公地编解码器1.2.jar
公地httpclient的-3.1.jar
公地IO-1.4.jar
共享记录-1.0.4.jar
HttpClient的-4.0.jar
的HttpCore-4.1.2.jar
Jackson 核心ASL-1.9.9.jar
Jackson JAXRS-1.9.9.jar
Jackson 映射器-ASL-1.9.9.jar
Jackson -XC-1.9.9.jar
Javassist进行-3.8.0.GA.jar
JAXB的API-2.2.3.jar
JAXB的IMPL-2.2.4.jar
JAXRS-API 2.3.5.Final.jar
JBoss的常见核-2.2.14.GA.jar
的jboss-EL-1.0_02.CR4.jar
JBoss的日志记录-SPI-2.0.5.GA.jar
JBoss的事务-API 1.0.1.GA.jar
JBossCache的核心 - 3.2.5.GA.jar
jcip的注解-1.0.jar
抛放-1.3.1.jar
JGroups的-2.6.13.GA.jar
JSR250的API-1.0.jar
log4j的-1.2.15.jar
邮件1.4.4.jar
OAuth的20100527.jar
OAuth的提供商20100527.jar
持久化API-1.0.jar
RestEasy的原子的提供商2.3.5.Final.jar
RestEasy的高速缓存,核心2.3.5.Final.jar
RestEasy的-CDI-2.3.5.Final.jar
RestEasy的-加密2.3.5.Final.jar
RestEasy的-fastinfoset提供商,2.3.5.Final.jar
RestEasy的-吉斯 - 2.3.5.Final.jar
RestEasy的 Jackson 提供商,2.3.4.final.jar
RestEasy的 Jackson 提供商,2.3.5.Final.jar
RestEasy的-JAXB提供商,2.3.5.Final.jar
RestEasy的-JAXRS-2.3.5.Final.jar
RestEasy的-抛放提供商,2.3.5.Final.jar
RestEasy的-JSAPI-2.3.5.Final.jar
RestEasy的链接,2.3.5.Final.jar
RestEasy的多域提供商,2.3.5.Final.jar
RestEasy的-OAuth的2.3.5.Final.jar
RestEasy的 - spring - 2.3.5.Final.jar
RestEasy的-YAML提供商,2.3.5.Final.jar
scannotation-1.0.3.jar