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;
}
}
|
额 大体就是这样