XML
微信XML消息model定义:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
package cn.wx.server; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; /** * @title cn.wx.serverXMLMsg.java * @todo TODO * @author lpe234 * @time 2014年5月21日下午2:13:27 */ public class XMLMsg { //普通消息基本变量 String ToUserName; String FromUserName; String CreateTime; String MsgType; String Content; String MsgId; //事件推送变量 String Event; //自定义菜单项 String EventKey; public String getEventKey() { return EventKey; } public void setEventKey(String eventKey) { EventKey = eventKey; } public XMLMsg(String str) throws DocumentException { Document doc = DocumentHelper.parseText(str); Element root = doc.getRootElement(); this .ToUserName = root.elementText( "ToUserName" ); this .FromUserName = root.elementText( "FromUserName" ); this .CreateTime = root.elementText( "CreateTime" ); this .MsgType = root.elementText( "MsgType" ); this .Content = root.elementText( "Content" ); this .MsgId = root.elementText( "MsgId" ); this .Event = root.elementText( "Event" ); this .EventKey = root.elementText( "EventKey" ); } public String getEvent() { return Event; } public void setEvent(String event) { Event = event; } public String getToUserName() { return ToUserName; } public void setToUserName(String toUserName) { ToUserName = toUserName; } public String getFromUserName() { return FromUserName; } public void setFromUserName(String fromUserName) { FromUserName = fromUserName; } public String getCreateTime() { return CreateTime; } public void setCreateTime(String createTime) { CreateTime = createTime; } public String getMsgType() { return MsgType; } public void setMsgType(String msgType) { MsgType = msgType; } public String getContent() { return Content; } public void setContent(String content) { Content = content; } public String getMsgId() { return MsgId; } public void setMsgId(String msgId) { MsgId = msgId; } } |
JSON
这里我们使用json-lib,注意一下需要以下几个jar包的支持:
- json-lib-2.4-jdk15.jar
- commons-logging-1.1.3.jar
- ezmorph-1.0.6.jar
- commons-lang-2.4.jar
- commons-collections.jar
- commons-beanutils-1.8.0.jar
以下是简单的AccessToken类,返回String类型的access_token
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
package cn.wx.server; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import net.sf.json.JSONObject; public class AccessToken { / * * * 根据注册信息,获得的参数,提交get请求,获得accessTkoen * @author lpe234 * @time 2014 - 5 - 21 00 : 52 : 15 * / String appID = "XXXXXXXXXXXXXX" ; String appsecret = "XXXXXXXXXXXXXXXXX" ; / / 微信服务号或者申请测试账号的订阅号才有。。。 String preUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s" ; String tempUrl = String. format (preUrl, appID, appsecret); / * * 测试 * public static void main(String[] args) { * AccessToken as = new AccessToken(); * System.out.println(as.get()); * } * / / / 返回String类型access_token public String get() { String temp = null; temp = getJSON(); JSONObject j = JSONObject.fromObject(temp); temp = j.getString( "access_token" ); / / System.out.println(temp); return temp; } / / 获取wx服务器返回JSON数据,private内部调用 private String getJSON() { String temp = null; try { URL url = new URL(tempUrl); URLConnection conn = url.openConnection(); InputStreamReader isr = new InputStreamReader(conn.getInputStream()); BufferedReader br = new BufferedReader(isr); temp = br.readLine(); } catch (MalformedURLException e) { / / TODO Auto - generated catch block e.printStackTrace(); } catch (IOException e) { / / TODO Auto - generated catch block e.printStackTrace(); } / / System.out.println(temp); return temp; } } |
额 大体就是这样