在 Google AppEngine 上部署 WebService(Java)
最近玩了玩 Google 云,上网找了下如何在 Google 云平台 上部署自己的 WebService,还是没有找到中文资料,不过找到了两份比较好的英文资料:
http://googcloudlabs.appspot.com/codelabexercise5.html
https://developers.google.com/appengine/articles/soap?hl=en
按照里边的例子,把前一阵 防XSS跨站脚本攻击的 WebService 部署到了 Goolge Appengine 云平台上,分享一下经验
原 Tomcat 版 Xss 过滤:http://blog.csdn.net/lxfan/article/details/8162257
部署到 Goolge Appengine 上的 Xss 过滤 WebService 地址:http://xssfilter.wegabrow.com/
注:这里我做了一个域名的映射,具体怎么将域名映射到 Google Appengine,大家可以 Google 一下。
下边说一下如何在 Google AppEngine (以下简称GAE)实现WebService。主要是使用 javax.xml.soap 和 JAX-B 来进行 SOAP 交互。
以下是将 AntiSamy Xss Filter 封装成 GAE WebService的具体步骤(开发环境 eclipse):
1. 新建一个GAE项目,定义 WebService 服务类,使用 JDK 6 自带的注释定义方法即可:
3. 建立WebService需要用到的 Adapter 类、 Handler 类和 Servlet 类:
AntiSamyFilterAdapter:
public class Utils {/** * 读取资源文件 * * @param user * @return */public static String getStringFromResource(String resource) {InputStream inputStream = Utils.class.getResourceAsStream(resource);String result = readStream(inputStream);return result;}/** * 从数据流中读取字符串 * * @param input * @return */public static String readStream(InputStream input) {String output = "";try {BufferedReader inputReader = new BufferedReader(new InputStreamReader(input, "UTF-8"));StringBuffer buffer = new StringBuffer();String text;while ((text = inputReader.readLine()) != null) {buffer.append(text + "/n");}output = buffer.toString();} catch (IOException ioException) {System.err.println("File Error!");}return output;}}
到此就完成了制作WebService的全部工作,发布到 GAE 平台上,运行成功。
项目源码下载地址:
http://download.csdn.net/detail/lxfan/4758624