1.ngrok內網映射問題:
首先這個工具是外國人寫的,服務器也在國外.但是tunnel部屬在國內,支持ngrok絕大多數功能.
http://www.tunnel.mobi/
命令行中使用方法
在CMD命令中先切換到ngrok所在的位置再進行如下操作
方法一:ngrok 8080(該方法已被和諧掉了)
方法二:ngrok -config ngrok.cfg -subdomain example 8080
說明:
example-自己任意設置;
8080-tomcat的端口號;
但是用微信調試工具調試的時候卻總是得不到相應,本地的tomcat服務器也沒有任何log
可能是內網映射或其他問題.
分步排查.
於是先將應用部署到ACE上,確保應用穩定運行后再回頭解決內網映射問題.
2.亂碼問題
這次亂碼全是????問號的數量和漢字一樣多
一種可能的起因是:將utf-8的字符流以iso-8859-1的方式轉換成了字節流.
但是有很多地方可能產生這個問題.
經過排查,發現兩處可能引起這個問題的地方:
1.XStream xstream = new XStream(new DomDriver("utf-8"));
public static String textMessageToXml(TextMessage textMessage){ XStream xstream = new XStream(new DomDriver("utf-8")); xstream.alias("xml", textMessage.getClass()); String str = xstream.toXML(textMessage); return str; }
2.response.setContentType("text/xml,charset=utf-8");
兩句話全都加上,終於不再亂碼了.
//----------------------------------------
關於xstream:這次用它從po生成xml文件,最初是這么用的
XStream xstream = new XStream();
這樣實例化的化需要依賴其他包.但是最開始我這樣做在ace上面竟然也能運行,看來ace的環境和本地不太一樣.