diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/Pay3Api.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/Pay3Api.java index 1d26b31a..ac650d41 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/Pay3Api.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/Pay3Api.java @@ -344,7 +344,7 @@ public class Pay3Api { writer.newLine(); } } catch (IOException e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException(e); } finally { try { if (reader != null) { diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/exception/WeixinException.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/exception/WeixinException.java index 1ad6c619..084c6e34 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/exception/WeixinException.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/exception/WeixinException.java @@ -1,7 +1,5 @@ package com.foxinmy.weixin4j.exception; -import java.io.IOException; - import com.foxinmy.weixin4j.util.StringUtil; /** @@ -34,8 +32,8 @@ public class WeixinException extends Exception { super(e); } - public WeixinException(String msg, IOException ex) { - super(msg, ex); + public WeixinException(String message, Throwable cause) { + super(message, cause); } public String getErrorCode() { diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java index 9dbcb9cc..a540ea2e 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java @@ -20,6 +20,7 @@ import com.foxinmy.weixin4j.http.entity.FormUrlEntity; import com.foxinmy.weixin4j.http.entity.HttpEntity; import com.foxinmy.weixin4j.http.entity.StringEntity; import com.foxinmy.weixin4j.http.factory.HttpClientFactory; +import com.foxinmy.weixin4j.http.factory.SimpleHttpClientFactory; import com.foxinmy.weixin4j.model.Consts; import com.foxinmy.weixin4j.util.StringUtil; import com.foxinmy.weixin4j.util.WeixinErrorUtil; @@ -44,6 +45,7 @@ public class WeixinRequestExecutor { } public WeixinRequestExecutor(HttpParams params) { + HttpClientFactory.setDefaultFactory(new SimpleHttpClientFactory()); this.httpClient = HttpClientFactory.getInstance(); this.params = params; } diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinSSLRequestExecutor.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinSSLRequestExecutor.java index 07fba7c2..98be4304 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinSSLRequestExecutor.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinSSLRequestExecutor.java @@ -1,7 +1,9 @@ package com.foxinmy.weixin4j.http.weixin; import java.io.InputStream; +import java.security.KeyManagementException; import java.security.KeyStore; +import java.security.NoSuchAlgorithmException; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; @@ -34,7 +36,7 @@ public class WeixinSSLRequestExecutor extends WeixinRequestExecutor { sslContext.init(kmf.getKeyManagers(), null, new java.security.SecureRandom()); } catch (Exception e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException("Key load error", e); } params.setSSLContext(sslContext); } diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/FileTokenStorager.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/FileTokenStorager.java index 92575c49..d2aef8aa 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/FileTokenStorager.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/FileTokenStorager.java @@ -43,7 +43,7 @@ public class FileTokenStorager implements TokenStorager { } return null; } catch (IOException e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException(e); } } @@ -55,7 +55,7 @@ public class FileTokenStorager implements TokenStorager { new FileOutputStream(new File(String.format("%s/%s.xml", cachePath, cacheKey)))); } catch (IOException e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException(e); } } } diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java index 283c93f3..2f1a8e87 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java @@ -272,7 +272,7 @@ public class MediaApi extends MpApi { file.getAbsolutePath())); } } catch (IOException e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException(e); } finally { try { if (os != null) { @@ -346,7 +346,7 @@ public class MediaApi extends MpApi { return new MediaDownloadResult(content, ContentType.create(contentType), fileName); } catch (IOException e) { - throw new WeixinException("I/O Error on getBody"); + throw new WeixinException("I/O Error on getBody", e); } catch (HttpClientException e) { throw new WeixinException(e); } diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/Pay2Api.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/Pay2Api.java index ae0d19cc..d47e1c39 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/Pay2Api.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/Pay2Api.java @@ -238,7 +238,7 @@ public class Pay2Api extends MpApi { } catch (WeixinException e) { throw e; } catch (Exception e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException(e); } finally { if (ca != null) { try { @@ -389,7 +389,7 @@ public class Pay2Api extends MpApi { writer.newLine(); } } catch (IOException e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException(e); } finally { try { if (reader != null) { diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/QrApi.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/QrApi.java index 64032cb7..fc511269 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/QrApi.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/QrApi.java @@ -95,7 +95,7 @@ public class QrApi extends MpApi { os = new FileOutputStream(file); os.write(qrResult.getContent()); } catch (IOException e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException(e); } finally { try { if (os != null) { diff --git a/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/TokenTest.java b/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/TokenTest.java index f63896e0..ce934c88 100644 --- a/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/TokenTest.java +++ b/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/TokenTest.java @@ -6,7 +6,6 @@ import org.junit.Test; import com.foxinmy.weixin4j.exception.WeixinException; import com.foxinmy.weixin4j.model.WeixinAccount; -import com.foxinmy.weixin4j.mp.api.MenuApi; import com.foxinmy.weixin4j.mp.token.WeixinTokenCreator; import com.foxinmy.weixin4j.token.FileTokenStorager; import com.foxinmy.weixin4j.token.TokenHolder; diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java index c8f9c4d0..8f6b5d11 100644 --- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java @@ -200,7 +200,7 @@ public class MediaApi extends QyApi { file.getAbsolutePath())); } } catch (IOException e) { - throw new WeixinException(e.getMessage()); + throw new WeixinException(e); } finally { try { if (os != null) { @@ -272,7 +272,7 @@ public class MediaApi extends QyApi { return new MediaDownloadResult(content, ContentType.create(contentType), fileName); } catch (IOException e) { - throw new WeixinException("I/O Error on getBody"); + throw new WeixinException("I/O Error on getBody", e); } catch (HttpClientException e) { throw new WeixinException(e); }