下面是是用JAVA来实现的在微信公众号中接入的智能机器人,选用的是图灵机器人提供的免费API
需要准备的资源:
-
SAE注册账号,顺便将开发的依赖包下载下来,以免造成本地编译调试通过,上传服务器显示异常的情图灵机器人注册账号,会发给你一个API key
- 图灵机器人注册账号,会发给你一个API key(图灵机器人官网http://www.tuling123.com)
- 微信公众平台注册账号,申请成为开发者(需要认证时间)
所有代码已经上传Github
https://github.com/v-wee/wechat.git
包结构
类结构
其中
demo.entity中ReceiveXmlEntity.java主要用来对应微信平台发来的XML信息做封装。
demo.process中FormatXmlProcess,用来封装返回给微信平台的XML信息。
demo.process中ReceiveXmlProcess,用来将用户发起请求时,将微信平台的XML信息封装成ReceiveXmlEntity
demo.process中TulingApiProcess,调用图灵机器人接口
demo.process中WechatProcess,封装XML为对象,调用图灵接口,返回XML在此类中顺序执行
demo.process中WechatServlet,微信公众平台中对应的服务地址,SAE程序响应servlet
web.xml内容如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>WechatServlet</servlet-name>
<servlet-class>demo.servlet.WechatServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WechatServlet</servlet-name>
<url-pattern>/wechat.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
在SAE的部署方面,SAE要求上传war包,可以用myeclipse的导出为war包功能,就可以部署到SAE上了