从Flex中的Webservice通过Post方法获取XML

时间:2009-06-03 14:09:41

标签: flex flash actionscript service

我在java中创建了一个servlet,在调用

时会给我一个xml响应
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {      
        response.setContentType("text/xml; charset=utf-8");                                                      // Set the servlet's response type to XML.
        PrintWriter out = null;

        try {
            out = response.getWriter();

            XMLOutputFactory of = XMLOutputFactory.newInstance();

            XMLStreamWriter writer = of.createXMLStreamWriter(out);

            writer.writeStartDocument();
            writer.writeStartElement("Test");
            for(int i = 1; i <= 100; i++) {
                writer.writeStartElement("TheNumber");
                writer.writeAttribute("number", "" + i);
                writer.writeAttribute("value", "" + Math.pow(2, i));
                writer.writeEndElement();
            }
            writer.writeEndElement();
            writer.close();

            out.close();
        } catch (Exception ex) {

        }
}

现在我想在flex中获取这个xml,有人可以给我一个提示吗?我尝试了mx:WebService和mx:HttpService,但它们都没有用。

提前致谢

塞巴斯蒂安

2 个答案:

答案 0 :(得分:0)

直接的URLLoader也适合你。

答案 1 :(得分:0)

由于您已经使用HttpService解决了您的问题,现在是时候开始使用Flex远程处理与他们的Granite数据服务或BlazeDS,除非您有一些主要原因,你不能。解析XML并使用XML进行数据传输是一种禁忌,糟糕的性能,如果你能避免它,通常是一个坏主意。

http://www.graniteds.org/

http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/