diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml
index 9ca30e14..2d215697 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml
@@ -297,6 +297,42 @@
40074
news消息不支持指定为高保密消息
+
+ 40077
+ 不合法的预授权码
+
+
+ 40078
+ 不合法的临时授权码
+
+
+ 40079
+ 不合法的授权信息
+
+
+ 40080
+ 不合法的suitesecret
+
+
+ 40082
+ 不合法的suitetoken
+
+
+ 40083
+ 不合法的suiteid
+
+
+ 40084
+ 不合法的永久授权码
+
+
+ 40085
+ 不合法的suiteticket
+
+
+ 40086
+ 不合法的第三方应用appid
+
40117
分组名字不合法
diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java
index c42c904d..eb7a19c0 100644
--- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java
+++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java
@@ -31,6 +31,7 @@ import com.foxinmy.weixin4j.interceptor.WeixinMessageInterceptor;
import com.foxinmy.weixin4j.request.WeixinMessage;
import com.foxinmy.weixin4j.request.WeixinRequest;
import com.foxinmy.weixin4j.response.BlankResponse;
+import com.foxinmy.weixin4j.response.SingleResponse;
import com.foxinmy.weixin4j.response.WeixinResponse;
import com.foxinmy.weixin4j.type.AccountType;
import com.foxinmy.weixin4j.util.ClassUtil;
@@ -137,9 +138,12 @@ public class WeixinMessageDispatcher {
}
WeixinException dispatchException = null;
try {
- WeixinResponse response = handlerExecutor.getMessageHandler()
+ SingleResponse response = handlerExecutor.getMessageHandler()
.doHandle(request, message, cruxMessage.getNodeNames());
- handlerExecutor.applyPostHandle(request, response, message);
+ if (response instanceof WeixinResponse) {
+ handlerExecutor.applyPostHandle(request,
+ (WeixinResponse) response, message);
+ }
context.write(response);
} catch (WeixinException e) {
dispatchException = e;
diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/DebugMessageHandler.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/DebugMessageHandler.java
index ddb00240..8b64cb7a 100644
--- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/DebugMessageHandler.java
+++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/DebugMessageHandler.java
@@ -33,9 +33,9 @@ public class DebugMessageHandler implements WeixinMessageHandler {
@Override
public WeixinResponse doHandle(WeixinRequest request, Object message,
Set nodeNames) throws WeixinException {
- String content = message == null ? content = request
- .getOriginalContent().replaceAll("\\!\\[CDATA\\[", "")
- .replaceAll("\\]\\]", "") : message.toString();
+ String content = message == null ? request.getOriginalContent()
+ .replaceAll("\\!\\[CDATA\\[", "").replaceAll("\\]\\]", "")
+ : message.toString();
return new TextResponse(content);
}
}
diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/WeixinMessageHandler.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/WeixinMessageHandler.java
index dac049f1..32359c4d 100644
--- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/WeixinMessageHandler.java
+++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/WeixinMessageHandler.java
@@ -4,7 +4,7 @@ import java.util.Set;
import com.foxinmy.weixin4j.exception.WeixinException;
import com.foxinmy.weixin4j.request.WeixinRequest;
-import com.foxinmy.weixin4j.response.WeixinResponse;
+import com.foxinmy.weixin4j.response.SingleResponse;
/**
* 微信消息处理器
@@ -42,6 +42,6 @@ public interface WeixinMessageHandler {
* 节点名称集合
* @return 回复内容
*/
- public WeixinResponse doHandle(WeixinRequest request, Object message,
+ public SingleResponse doHandle(WeixinRequest request, Object message,
Set nodeNames) throws WeixinException;
}
diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java
index c1981a4c..c0191cc0 100644
--- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java
+++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java
@@ -325,5 +325,5 @@ public final class WeixinServerBootstrap {
return this;
}
- public final static String VERSION = "1.0.3";
+ public final static String VERSION = "1.0.4";
}
\ No newline at end of file