diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java index 8ed9e567..d50bd899 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java @@ -381,6 +381,8 @@ public class WxMpXmlMessage { public static WxMpXmlMessage fromXml(String xml) { try { + // 操蛋的微信,模板消息推送成功的消息是MsgID,其他消息推送过来是MsgId + xml = xml.replaceAll("", "").replaceAll("", ""); return XmlTransformer.fromXml(WxMpXmlMessage.class, xml); } catch (JAXBException e) { throw new RuntimeException(e); @@ -389,8 +391,8 @@ public class WxMpXmlMessage { public static WxMpXmlMessage fromXml(InputStream is) { try { - return XmlTransformer.fromXml(WxMpXmlMessage.class, is); - } catch (JAXBException e) { + return fromXml(IOUtils.toString(is, "UTF-8")); + } catch (IOException e) { throw new RuntimeException(e); } }