diff --git a/script/startup.sh b/script/startup.sh index cd164eb0..d29d19a9 100644 --- a/script/startup.sh +++ b/script/startup.sh @@ -8,7 +8,7 @@ JAVA_HOME="/usr/local/java" RUNNING_USER=root #App home -APP_HOME="/path/to/java/app" +APP_HOME="/path/to/weixin4j/service" #Main class APP_MAINCLASS=xx.xxx.mainClass.fullName diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/BaseApi.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/BaseApi.java index 00394f22..8a980856 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/BaseApi.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/BaseApi.java @@ -5,6 +5,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import com.foxinmy.weixin4j.http.weixin.WeixinRequestExecutor; +import com.foxinmy.weixin4j.logging.InternalLogger; +import com.foxinmy.weixin4j.logging.InternalLoggerFactory; /** * API基础 @@ -18,6 +20,9 @@ import com.foxinmy.weixin4j.http.weixin.WeixinRequestExecutor; */ public abstract class BaseApi { + protected final InternalLogger logger = InternalLoggerFactory + .getInstance(getClass()); + protected final WeixinRequestExecutor weixinExecutor; protected abstract ResourceBundle weixinBundle(); 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 47edb4eb..c501870f 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 @@ -255,6 +255,8 @@ public class MediaApi extends MpApi { } HttpParams params = weixinExecutor.getExecuteParams(); request.setParams(params); + logger.info("weixin request >> " + request.getMethod() + " " + + request.getURI().toString()); HttpResponse response = weixinExecutor.getExecuteClient().execute( request); byte[] content = IOUtil.toByteArray(response.getBody()); @@ -262,8 +264,12 @@ public class MediaApi extends MpApi { String contentType = headers.getFirst(HttpHeaders.CONTENT_TYPE); String disposition = headers .getFirst(HttpHeaders.CONTENT_DISPOSITION); - if (contentType - .contains(ContentType.APPLICATION_JSON.getMimeType()) + logger.info("weixin response << " + response.getProtocol() + + response.getStatus().toString() + "[" + contentType + "]->" + + disposition); + if (contentType.contains(ContentType.TEXT_PLAIN.getMimeType()) + || contentType.contains(ContentType.APPLICATION_JSON + .getMimeType()) || (disposition != null && disposition.indexOf(".json") > 0)) { JsonResult jsonResult = JSON.parseObject(content, 0, content.length, Consts.UTF_8.newDecoder(), diff --git a/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/MediaTest.java b/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/MediaTest.java index 5681b239..1c9bd28b 100644 --- a/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/MediaTest.java +++ b/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/MediaTest.java @@ -47,7 +47,7 @@ public class MediaTest extends TokenTest { File file = new File("/Users/jy/Downloads/weixin4j.png"); MediaUploadResult mediaId = mediaApi.uploadMedia(false, new FileInputStream(file), file.getName()); - // zloeIROuS3YJFZwugGNM5oGBolqJmU_8FKTUmJwTFbSjfky904S9OPly5Wq0BRn2 + // fbyQZL96sK9evnTgDx21jPZgWAnw6YPgslNzcqLFp0lqPCD-XipoPfkwFU1OM9J_ Assert.assertNotNull(mediaId); System.err.println(mediaId); } @@ -56,7 +56,7 @@ public class MediaTest extends TokenTest { public void download1() throws WeixinException, IOException { MediaDownloadResult content = mediaApi .downloadMedia( - "BmzcrM2jaJXZCjBqxLwyC03kh5pge3CbrBqXP4XbYBCeKr7xz-rHuwPf4vYLVdL1", + "fbyQZL96sK9evnTgDx21jPZgWAnw6YPgslNzcqLFp0lqPCD-XipoPfkwFU1OM9J_", false); Assert.assertTrue(content != null); System.err.println(content); 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 b11a367e..97a177f5 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 @@ -216,6 +216,8 @@ public class MediaApi extends QyApi { } HttpParams params = weixinExecutor.getExecuteParams(); request.setParams(params); + logger.info("weixin request >> " + request.getMethod() + " " + + request.getURI().toString()); HttpResponse response = weixinExecutor.getExecuteClient().execute( request); byte[] content = IOUtil.toByteArray(response.getBody()); @@ -223,8 +225,12 @@ public class MediaApi extends QyApi { String contentType = headers.getFirst(HttpHeaders.CONTENT_TYPE); String disposition = headers .getFirst(HttpHeaders.CONTENT_DISPOSITION); - if (contentType - .contains(ContentType.APPLICATION_JSON.getMimeType()) + logger.info("weixin response << " + response.getProtocol() + + response.getStatus().toString() + "[" + contentType + + "]->" + disposition); + if (contentType.contains(ContentType.TEXT_PLAIN.getMimeType()) + || contentType.contains(ContentType.APPLICATION_JSON + .getMimeType()) || (disposition != null && disposition.indexOf(".json") > 0)) { JsonResult jsonResult = JSON.parseObject(content, 0, content.length, Consts.UTF_8.newDecoder(),