我正在为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
杰克逊核-ASL-1.9.9.jar
杰克逊 - JAXRS-1.9.9.jar
杰克逊映射器-ASL-1.9.9.jar
杰克逊-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的杰克逊提供商-2.3.4.final.jar
RestEasy的杰克逊提供商-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的 - 弹簧 - 2.3.5.Final.jar
RestEasy的-YAML提供商-2.3.5.Final.jar
scannotation-1.0.3.jar