求助:开启开发者模式后,推送消息转发多客服失败,按照文档格式返回xml响应没起作用
发消息测试,微信里显示说公众号无法提供服务。
官方文档里只说要返回如下格式的消息,也没说怎么返回。
<xml>
<ToUserName><![CDATA[touser]]></ToUserName>
<FromUserName><![CDATA[fromuser]]></FromUserName>
<CreateTime>1399197672</CreateTime>
<MsgType><![CDATA[transfer_customer_service]]></MsgType>
</xml>
response返回流或者字符串都不行,代码如下:
Document document = DocumentHelper.createDocument();
Element rootElement = document.addElement("xml");
Element e1 = rootElement.addElement("ToUserName");
e1.addCDATA(touser);
Element e2 = rootElement.addElement("FromUserName");
e2.addCDATA(fromuser);
Element e3 = rootElement.addElement("CreateTime");
e3.setText(CreateTime+"");
Element e4 = rootElement.addElement("MsgType");
e4.addCDATA(MsgType);
/*
System.out.println(document.asXML());
ControllerUtil.printOutData(response, document.asXML(), false);
*/
response.setContentType("text/xml;charset=utf-8");
response.setHeader("cache-control", "no-cache");
XMLWriter w = null;
try {
w = new XMLWriter(response.getWriter());
w.write(document);
}catch(Exception e) {
e.printStackTrace();
}finally{
try {
w.flush();
w.close();
} catch (IOException e) {
e.printStackTrace();
}
}
控制台打印出来是这样的...但因为是响应微信那边,微信也没返回结果,好似也没有相关的调试工具接口。
<xml>
<ToUserName><![CDATA[微信号]]></ToUserName>
<FromUserName><![CDATA[微信号]]></FromUserName>
<CreateTime>1399197672</CreateTime>
<MsgType><![CDATA[transfer_customer_service]]>
</MsgType>
</xml>
结果就是没起到作用,推送的消息接收了,返回xml数据也没报错,但就是没有正常转发,微信还说无法提供正常服务...