Hello guys,

I'm developing an application that GWT call Flex using
ExternalInterface.
To Upload image file to GWT server side(hosted mode) from Flex
application, I call Flex function FileReference.upload().
But it doesn't work.
Despite the fact that GWT server send "Http status 200" in GWT hosted
mode log, but ioerror or no event occur in Flex side.
(The image file is uploaded fine.)

I created a Simple Example that same trouble occur. Below is related
files:

Flex mxml code:
--------------------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
layout="absolute" xmlns:local="*">

        <local:FileUploadController id="controller"/>
        <mx:ControlBar horizontalAlign="right">
                <mx:Button id="startUpload" label="Upload..."
click="controller.startUpload();" />
        </mx:ControlBar>
</mx:Application>


Flex AS code:
--------------------------------------------------------------------------------

package
{
        import flash.events.Event;
        import flash.events.IOErrorEvent;
        import flash.net.FileReference;
        import flash.net.URLRequest;
        import flash.net.URLRequestMethod;

        import mx.controls.Alert;
        import mx.core.IMXMLObject;

        public class FileUploadController
        {

                private static var _fileReference:FileReference = new 
FileReference
();

                public function startUpload():void
                {
                        _fileReference.addEventListener(Event.SELECT, 
selectHandler);
                        _fileReference.addEventListener(Event.COMPLETE, 
completeHandler);
                        _fileReference.addEventListener(IOErrorEvent.IO_ERROR,
ioErrorHandler);

                        _fileReference.browse();
                }

                public function selectHandler(event:Event):void
                {
                        var urlRequest:URLRequest = new URLRequest();
                        urlRequest.url = 
"http://localhost:8080/SimpleGwt/myservlet";;
                        urlRequest.method = URLRequestMethod.POST;
                        _fileReference.upload(urlRequest);
                }

                public function completeHandler(event:Event):void
                {
                        Alert.show("progressHandler: " + event);
                }

                public function ioErrorHandler(event:Event):void
                {
                        Alert.show("ioErrorHandler: " + event);
                }

        }
}


GWT servlet code:
--------------------------------------------------------------------------------

package simplegwt.server;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet {

        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse
resp)
                        throws ServletException, IOException {

                // image save code here

                PrintWriter writer = resp.getWriter();
                writer.write("success");
                writer.close();
        }

}


web.xml code:
--------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd";>

<web-app>

  <!-- Servlets -->
  <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>simplegwt.server.MyServlet</servlet-class>
  </servlet>

  <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/SimpleGwt/myservlet</url-pattern>
  </servlet-mapping>

  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>SimpleGwt.html</welcome-file>
  </welcome-file-list>

</web-app>


Any help will be appreciated
Thank you

Katigaki
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to