当前位置: 首页 > 工具软件 > weixin-robot > 使用案例 >

java微信机器人_GitHub - linux-china/weixin-robot-java: 微信公共平台机器人Java SDK

陆文博
2023-12-01

Weixin robot Java

微信公共平台自动回复机器人的Java SDK,你可以使用SDK简单快速构建微信机器人。

微信Robot Java借鉴了url rewrite的思想,url rewrite是根据url进行路由,而微信Robot则是根据消息类型和内容进行路由。

整理的流程如下:

WexinRobotServlet负责认证和微信消息接收

接收后进行XML解析,构建出 WeixinMessage对象,并注入到request的attribute中,名字为wxMsg

根据配置的路由参数,对微信消息进行匹配

根据匹配的结果进行URL路由转发

最后由处理的组件完成xml格式反馈的输出

如何使用

首先我们要在pom.xml中添加:

org.mvnsearch.wx

wx-robot-sdk

1.0.0

接下来就是修改web.xml添加Servlet负责接收微信公共平台发过来的消息:

WexinRobotServlet

org.mvnsearch.wx.servlet.WexinRobotServlet

token

yourTokenHere

confFile

/WEB-INF/weixin-router.xml

WexinRobotServlet

/servlet/weixinrobot

其中token是指你在微信公共平台上的token,这里和其一致。接下来我们还需要设置servlet mapping,添加url-pattern,

然后将最终的url,如上述配置的 http://www.foobar.com/servlet/weixinrobot 作为微信公共平台接口配置中的URL。

接下来是在WEB-INF目录下创建一个weixin-router.xml的文件,完成信息的路由。

接收到的消息如何路由到指定的组件处理,如Struts的Controller等,这里我们需要创建一个router文件,这里还是根据

消息的类型和内容进行转发,内容如下:

text

[\d]{11}

/weixin2.wx

text

/weixin.wx

上述的例子就是如果内容是手机号,交与/weixin2.wx这个URL处理。当然我们设置了一个默认的选项,如果text类型的消息没有任何

匹配,则由/weixin.wx处理。

收到微信消息后,要给出消息反馈。微信公共平台的消息反馈是一个xml格式的数据,在Java的系统中,我们使用jspx输出接口,样例如下:

${wxMsg.sender}

${wxMsg.receiver}

${wxMsg.createdTime}

text

${content}

0

编码

在代码中获取解析好的微信消息 WeixinMessage wxMsg = (WeixinMessage)request.getAttribute("wxMsg");

FAQ

如何调试: 由于微信服务器只能通知互联网IP和80端口,开发时你可以在你家中的ADSL拨号路由器上设置一下80转发,

然后微信服务器的消息通知就可以路由到你的笔记本上,方便你测试和开发。查看你的互联网Ip请访问 http://ip.mvnsearch.org

参考样例清访问robot-demo Maven module

 类似资料: