diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/SimpleHttpClient.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/SimpleHttpClient.java index 264ed782..108d2bf1 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/SimpleHttpClient.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/SimpleHttpClient.java @@ -164,7 +164,9 @@ public class SimpleHttpClient implements HttpClient { if (os != null) { os.close(); } - is.close(); + if (is != null) { + is.close(); + } } } HttpResponse response = new HttpResponse(); diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/XmlResult.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/XmlResult.java index fa173a5b..59070d69 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/XmlResult.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/XmlResult.java @@ -5,6 +5,7 @@ import java.io.Serializable; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; @@ -17,6 +18,7 @@ import com.alibaba.fastjson.annotation.JSONField; * @since JDK 1.7 * @see */ +@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class XmlResult implements Serializable { diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/xml/XmlStream.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/xml/XmlStream.java index ec4bc5a4..27d2ac49 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/xml/XmlStream.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/xml/XmlStream.java @@ -77,14 +77,16 @@ public final class XmlStream { Source source = new StreamSource(content); XmlRootElement rootElement = clazz .getAnnotation(XmlRootElement.class); - if (rootElement == null) { + if (rootElement == null || rootElement.name().equals( + XmlRootElement.class.getMethod("name") + .getDefaultValue().toString())) { JAXBElement jaxbElement = unmarshaller.unmarshal(source, clazz); return jaxbElement.getValue(); } else { return (T) unmarshaller.unmarshal(source); } - } catch (JAXBException e) { + } catch (Exception e) { throw new IllegalArgumentException(e); } finally { if (content != null) { @@ -253,7 +255,10 @@ public final class XmlStream { try { XmlRootElement rootElement = clazz .getAnnotation(XmlRootElement.class); - if (rootElement == null) { + if (rootElement == null + || rootElement.name().equals( + XmlRootElement.class.getMethod("name") + .getDefaultValue().toString())) { marshaller.marshal(new JAXBElement(new QName( ROOT_ELEMENT_XML), clazz, t), os); } else { 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 fea32b92..fa366615 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 @@ -135,7 +135,7 @@ public class MediaApi extends MpApi { fileName)), new FormBodyPart("type", new StringBody(mediaType, Consts.UTF_8))); } catch (UnsupportedEncodingException e) { - ; // ignore + throw new WeixinException(e); // ignore } } else { String file_upload_uri = getRequestUri("file_upload_uri"); @@ -386,8 +386,8 @@ public class MediaApi extends MpApi { public MediaCounter countMaterialMedia() throws WeixinException { Token token = tokenHolder.getToken(); String material_media_count_uri = getRequestUri("material_media_count_uri"); - WeixinResponse response = weixinClient.get(String.format(material_media_count_uri, - token.getAccessToken())); + WeixinResponse response = weixinClient.get(String.format( + material_media_count_uri, token.getAccessToken())); return response.getAsObject(new TypeReference() { }); diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/model/User.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/model/User.java index 78aafad6..17ff4b5d 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/model/User.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/model/User.java @@ -186,6 +186,11 @@ public class User implements Serializable { this.unionid = unionid; } + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public boolean equals(Object obj) { if (obj instanceof User) { diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/JsPayNotify.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/JsPayNotify.java index aa5b9f4c..759b98ee 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/JsPayNotify.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/JsPayNotify.java @@ -1,6 +1,9 @@ package com.foxinmy.weixin4j.mp.payment; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; @@ -13,6 +16,8 @@ import com.alibaba.fastjson.annotation.JSONField; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class JsPayNotify extends PayBaseInfo { private static final long serialVersionUID = -4659030958445259803L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/MicroPayPackage.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/MicroPayPackage.java index 4013a21c..43333e1a 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/MicroPayPackage.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/MicroPayPackage.java @@ -2,6 +2,8 @@ package com.foxinmy.weixin4j.mp.payment; import java.util.Date; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -18,7 +20,8 @@ import com.foxinmy.weixin4j.util.RandomUtil; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class MicroPayPackage extends PayPackage { private static final long serialVersionUID = 8944928173669656177L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayBaseInfo.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayBaseInfo.java index 00f843c1..3d3f22e4 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayBaseInfo.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayBaseInfo.java @@ -2,7 +2,10 @@ package com.foxinmy.weixin4j.mp.payment; import java.io.Serializable; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.type.SignType; @@ -16,6 +19,8 @@ import com.foxinmy.weixin4j.mp.type.SignType; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PayBaseInfo implements Serializable { private static final long serialVersionUID = 1843024880782466990L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayPackage.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayPackage.java index 4306f8d7..80623386 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayPackage.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayPackage.java @@ -3,7 +3,10 @@ package com.foxinmy.weixin4j.mp.payment; import java.io.Serializable; import java.util.Date; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.util.DateUtil; @@ -17,6 +20,8 @@ import com.foxinmy.weixin4j.util.DateUtil; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PayPackage implements Serializable { private static final long serialVersionUID = 3450161267802545790L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayRequest.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayRequest.java index 2e8ac9fd..c5ecee69 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayRequest.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/PayRequest.java @@ -1,11 +1,16 @@ package com.foxinmy.weixin4j.mp.payment; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.util.DateUtil; import com.foxinmy.weixin4j.util.RandomUtil; +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PayRequest extends PayBaseInfo { private static final long serialVersionUID = -453746488398523883L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponDetail.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponDetail.java index e9a4e2e0..19f7981e 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponDetail.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponDetail.java @@ -2,7 +2,10 @@ package com.foxinmy.weixin4j.mp.payment.coupon; import java.util.Date; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.payment.v3.ApiResult; @@ -21,6 +24,8 @@ import com.foxinmy.weixin4j.util.StringUtil; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class CouponDetail extends ApiResult { private static final long serialVersionUID = -311265355895457070L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponResult.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponResult.java index 7ed8dfd9..c1b289cb 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponResult.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponResult.java @@ -1,6 +1,9 @@ package com.foxinmy.weixin4j.mp.payment.coupon; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.payment.v3.ApiResult; @@ -14,6 +17,8 @@ import com.foxinmy.weixin4j.mp.payment.v3.ApiResult; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class CouponResult extends ApiResult { private static final long serialVersionUID = -1996967923720149124L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponStock.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponStock.java index 0db2456b..31ecf7aa 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponStock.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/coupon/CouponStock.java @@ -2,7 +2,10 @@ package com.foxinmy.weixin4j.mp.payment.coupon; import java.util.Date; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.payment.v3.ApiResult; @@ -19,6 +22,8 @@ import com.foxinmy.weixin4j.util.DateUtil; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class CouponStock extends ApiResult { private static final long serialVersionUID = -8627202879200080499L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/ApiResult.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/ApiResult.java index 17dda0f5..df7c7a43 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/ApiResult.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/ApiResult.java @@ -5,6 +5,7 @@ import java.io.Serializable; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.type.SignType; @@ -19,6 +20,7 @@ import com.foxinmy.weixin4j.util.StringUtil; * @since JDK 1.7 * @see */ +@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class ApiResult implements Serializable { diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/JsPayRequestV2.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/JsPayRequestV2.java index ca7ca5d4..935ed80a 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/JsPayRequestV2.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/JsPayRequestV2.java @@ -2,6 +2,10 @@ package com.foxinmy.weixin4j.mp.payment.v2; import java.beans.Transient; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.model.WeixinMpAccount; import com.foxinmy.weixin4j.mp.payment.PayRequest; @@ -23,6 +27,8 @@ import com.foxinmy.weixin4j.util.MapUtil; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class JsPayRequestV2 extends PayRequest { private static final long serialVersionUID = -5972173459255255197L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/NativePayNotifyV2.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/NativePayNotifyV2.java index 408a64fc..158a54e0 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/NativePayNotifyV2.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/NativePayNotifyV2.java @@ -1,6 +1,9 @@ package com.foxinmy.weixin4j.mp.payment.v2; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.foxinmy.weixin4j.mp.payment.JsPayNotify; @@ -13,6 +16,8 @@ import com.foxinmy.weixin4j.mp.payment.JsPayNotify; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class NativePayNotifyV2 extends JsPayNotify { private static final long serialVersionUID = 1868431159301749988L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/NativePayResponseV2.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/NativePayResponseV2.java index 12188c0e..3819c815 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/NativePayResponseV2.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/NativePayResponseV2.java @@ -1,5 +1,7 @@ package com.foxinmy.weixin4j.mp.payment.v2; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -14,7 +16,8 @@ import com.foxinmy.weixin4j.mp.model.WeixinMpAccount; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class NativePayResponseV2 extends JsPayRequestV2 { private static final long serialVersionUID = 6119895998783333012L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/Order.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/Order.java index a2ecd570..280eb845 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/Order.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/Order.java @@ -2,6 +2,10 @@ package com.foxinmy.weixin4j.mp.payment.v2; import java.util.Date; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.type.CurrencyType; import com.foxinmy.weixin4j.mp.type.TradeState; @@ -16,6 +20,8 @@ import com.foxinmy.weixin4j.util.DateUtil; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class Order extends ApiResult { private static final long serialVersionUID = 4543552984506609920L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayFeedback.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayFeedback.java index 65caa26c..eec7603f 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayFeedback.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayFeedback.java @@ -1,5 +1,7 @@ package com.foxinmy.weixin4j.mp.payment.v2; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -14,7 +16,8 @@ import com.foxinmy.weixin4j.mp.payment.PayBaseInfo; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PayFeedback extends PayBaseInfo { private static final long serialVersionUID = 7230049346213966310L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayPackageV2.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayPackageV2.java index 12dee987..42be3957 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayPackageV2.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayPackageV2.java @@ -2,7 +2,10 @@ package com.foxinmy.weixin4j.mp.payment.v2; import java.util.Date; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.payment.PayPackage; @@ -17,6 +20,8 @@ import com.foxinmy.weixin4j.util.DateUtil; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PayPackageV2 extends PayPackage { private static final long serialVersionUID = 5557542103637795834L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayWarn.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayWarn.java index a0ddfb2b..f25fb35c 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayWarn.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/PayWarn.java @@ -1,5 +1,7 @@ package com.foxinmy.weixin4j.mp.payment.v2; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -14,7 +16,8 @@ import com.foxinmy.weixin4j.mp.payment.PayBaseInfo; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PayWarn extends PayBaseInfo { private static final long serialVersionUID = 2334592957844332640L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/RefundRecord.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/RefundRecord.java index 4555b3fb..741bea74 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/RefundRecord.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/RefundRecord.java @@ -19,7 +19,7 @@ import com.alibaba.fastjson.annotation.JSONField; * @since JDK 1.7 * @see com.foxinmy.weixin4j.mp.payment.v2.RefundDetail */ -@XmlRootElement(name = "xml") +@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class RefundRecord extends ApiResult { diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/RefundResult.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/RefundResult.java index 8f1fadc3..5ec8eaf0 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/RefundResult.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v2/RefundResult.java @@ -16,7 +16,7 @@ import com.alibaba.fastjson.annotation.JSONField; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class RefundResult extends RefundDetail { diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/ApiResult.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/ApiResult.java index 4e4dc483..346b9a9b 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/ApiResult.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/ApiResult.java @@ -3,6 +3,7 @@ package com.foxinmy.weixin4j.mp.payment.v3; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.http.weixin.XmlResult; @@ -17,6 +18,7 @@ import com.foxinmy.weixin4j.util.StringUtil; * @since JDK 1.7 * @see */ +@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class ApiResult extends XmlResult { @@ -121,8 +123,8 @@ public class ApiResult extends XmlResult { return recall; } - public String setRecall() { - return recall; + public void setRecall(String recall) { + this.recall = recall; } @JSONField(deserialize = false, serialize = false) diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/MPPayment.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/MPPayment.java index a5675e99..f06d232b 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/MPPayment.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/MPPayment.java @@ -2,7 +2,10 @@ package com.foxinmy.weixin4j.mp.payment.v3; import java.io.Serializable; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.mp.type.MPPaymentCheckNameType; @@ -17,6 +20,8 @@ import com.foxinmy.weixin4j.util.DateUtil; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class MPPayment implements Serializable { private static final long serialVersionUID = 3734639674346425312L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/MPPaymentResult.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/MPPaymentResult.java index 807662e0..9d542d4c 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/MPPaymentResult.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/MPPaymentResult.java @@ -1,6 +1,9 @@ package com.foxinmy.weixin4j.mp.payment.v3; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; @@ -13,6 +16,8 @@ import com.alibaba.fastjson.annotation.JSONField; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class MPPaymentResult extends ApiResult { private static final long serialVersionUID = 1110472826089211646L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/NativePayNotifyV3.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/NativePayNotifyV3.java index f7064127..3405be65 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/NativePayNotifyV3.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/NativePayNotifyV3.java @@ -1,5 +1,7 @@ package com.foxinmy.weixin4j.mp.payment.v3; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -12,7 +14,8 @@ import javax.xml.bind.annotation.XmlRootElement; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class NativePayNotifyV3 extends ApiResult { private static final long serialVersionUID = 4515471400239795492L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/NativePayResponseV3.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/NativePayResponseV3.java index 648d4c5b..0442dda9 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/NativePayResponseV3.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/NativePayResponseV3.java @@ -1,5 +1,7 @@ package com.foxinmy.weixin4j.mp.payment.v3; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; @@ -18,7 +20,8 @@ import com.foxinmy.weixin4j.util.RandomUtil; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class NativePayResponseV3 extends ApiResult { private static final long serialVersionUID = 6119895998783333012L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/Order.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/Order.java index 1faa1203..177cbc4d 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/Order.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/Order.java @@ -26,7 +26,7 @@ import com.foxinmy.weixin4j.util.StringUtil; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Order extends ApiResult { diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayPackageV3.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayPackageV3.java index c83a7db3..ea5f63b5 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayPackageV3.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayPackageV3.java @@ -2,6 +2,8 @@ package com.foxinmy.weixin4j.mp.payment.v3; import java.util.Date; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -20,7 +22,8 @@ import com.foxinmy.weixin4j.util.RandomUtil; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PayPackageV3 extends PayPackage { private static final long serialVersionUID = 8944928173669656177L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayRequestV3.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayRequestV3.java index 3d93904f..3b43962c 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayRequestV3.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayRequestV3.java @@ -1,5 +1,9 @@ package com.foxinmy.weixin4j.mp.payment.v3; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + import com.foxinmy.weixin4j.exception.PayException; import com.foxinmy.weixin4j.mp.payment.PayRequest; @@ -20,6 +24,8 @@ import com.foxinmy.weixin4j.mp.payment.PayRequest; * @since JDK 1.7 * @see com.foxinmy.weixin4j.mp.payment.v3.PrePay */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PayRequestV3 extends PayRequest { private static final long serialVersionUID = -5972173459255255197L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PrePay.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PrePay.java index 858f02cd..9d84bc2c 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PrePay.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PrePay.java @@ -1,5 +1,7 @@ package com.foxinmy.weixin4j.mp.payment.v3; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -14,7 +16,8 @@ import com.foxinmy.weixin4j.mp.type.TradeType; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class PrePay extends ApiResult { private static final long serialVersionUID = -8430005768959715444L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/Redpacket.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/Redpacket.java index 623ee8eb..975f7852 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/Redpacket.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/Redpacket.java @@ -2,7 +2,10 @@ package com.foxinmy.weixin4j.mp.payment.v3; import java.io.Serializable; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.util.DateUtil; @@ -17,6 +20,8 @@ import com.foxinmy.weixin4j.util.DateUtil; * @see 红包简介 */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class Redpacket implements Serializable { private static final long serialVersionUID = -7021352305575714281L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RedpacketSendResult.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RedpacketSendResult.java index d62321e5..34a31773 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RedpacketSendResult.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RedpacketSendResult.java @@ -1,6 +1,9 @@ package com.foxinmy.weixin4j.mp.payment.v3; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.http.weixin.XmlResult; @@ -14,6 +17,8 @@ import com.foxinmy.weixin4j.http.weixin.XmlResult; * @since JDK 1.7 * @see */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) public class RedpacketSendResult extends XmlResult { private static final long serialVersionUID = 5611847899634131711L; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RefundRecord.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RefundRecord.java index 10a2e920..23bfa50f 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RefundRecord.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RefundRecord.java @@ -19,7 +19,7 @@ import com.foxinmy.weixin4j.mp.type.CurrencyType; * @date 2014年11月1日 * @since JDK 1.7 */ -@XmlRootElement(name = "xml") +@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class RefundRecord extends ApiResult { diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RefundResult.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RefundResult.java index 4c312b25..00c01bdd 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RefundResult.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/RefundResult.java @@ -16,7 +16,7 @@ import com.alibaba.fastjson.annotation.JSONField; * @since JDK 1.7 * @see */ -@XmlRootElement(name = "xml") +@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class RefundResult extends RefundDetail { diff --git a/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/MassTest.java b/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/MassTest.java index f836fec1..80c84b8f 100644 --- a/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/MassTest.java +++ b/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/MassTest.java @@ -98,7 +98,7 @@ public class MassTest extends TokenTest { public void previewMass() throws WeixinException { JsonResult result = massApi.previewMassNews( "oyFLst1bqtuTcxK-ojF8hOGtLQao", new Text("test")); - Assert.assertEquals("0", result.getCode()); + Assert.assertEquals(0, result.getCode()); } @Test diff --git a/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/XmlstreamTest.java b/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/XmlstreamTest.java index 3f75032e..64fa1658 100644 --- a/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/XmlstreamTest.java +++ b/weixin4j-mp/src/test/java/com/foxinmy/weixin4j/mp/test/XmlstreamTest.java @@ -101,8 +101,9 @@ public class XmlstreamTest { public static void main(String[] args) throws Exception { // map2xml(); // xml2map(); - // xml2order(); + xml2order(); // xml2refundRecordV2(); - xml2refundRecordV3(); + // xml2refundRecordV3(); + // object2xmlWithoutRootElement(); } }