XML
微信XML消息model定义:
package cn.wx.server;
import org.dom4j.document;
import org.dom4j.documentException;
import org.dom4j.documentHelper;
import org.dom4j.Element;
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
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 {
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);
//返回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;
}
}
额 大体就是这样



