JavaFX – WebServices


JavaFX provides API to perform asynchronous HTTP request and also utilize RESTful webservices. It also provides parsers for XML and JSON data formats.

Related Posts:

HttpRequest class provides way to specify a location (HTTP URL) and transfer data via InputStream and OutputStream.


def httpRequest = HttpRequest {
    
    location: "http://news.google.com/?output=rss"
    method: HttpRequest.GET
    
    onInput: function(in: java.io.InputStream) {
        try {
            // Read the content from this InputStream
            // Pass the InputStream to parser 
        finally {
            in.close();
        }
    }
}
httpRequest.start();

The InputStream obtained from HttpRequest can be parsed using PullParser API. It can parse both XML and JSON data type.


def parser = PullParser {
    
    documentType: PullParser.XML
    input: <InputStream obtained from HttpRequest>
    
    onEvent: function(event: Event) {
        // Handle events triggered for each node
        // and retrieve the data
    }
}
parser.parse();

Now we can utilize these APIs to enhance the existing Image Viewer sample so as to retrieve the photos dynamically from Flickr. Source code for PhotoPullParser.fx and Photo.fx are copied directly from InterestingPhotos sample.

For Applet mode, click on above image

For standalone mode

There are many samples at JavaFX Samples website which uses HttpRequest and PullParser APIs. You can refer to those source code for more information.

<!–

–>

Deployment:

Advertisements

About Rakesh Menon
-

13 Responses to JavaFX – WebServices

  1. banita says:

    hi
    i have created a javafx widget which uses rss feed and show the news,
    now i want to use it in our website or i want to be embedded with my website.. can you please tell me the procedure in detail how to run widget from my website, please rply

  2. Rakesh Menon says:

    @banita You can refer to this tutorial
    http://javafx.com/docs/tutorials/deployment/ I have also uploaded the html and jnlp files for reference

  3. Mohammed Sanaulla says:

    Cool sample!!!!!

  4. Maximilian Stempfhuber says:

    Could you please check the availability of the Image Viewer sample? I’m getting an error message and an exception:
    java.io.IOException: Cannot find cached resource for URL: http://blogs.sun.com/rakeshmenonp/resource/WebServices/JavaFX_Flickr_Image_Viewer.jar
    also starting in standalone mode doesn’t work here. But still you can download the and locally save the jar. Don’t know what happens here.

  5. Maximilian Stempfhuber says:

    Follow up:
    Java Web Start shows an encapsulated exception:
    java.io.IOException: Not in GZIP format
    at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
    at java.util.zip.GZIPInputStream.<init>(Unknown Source)
    at java.util.zip.GZIPInputStream.<init>(Unknown Source)
    at com.sun.deploy.net.HttpDownloadHelper.download(Unknown Source)
    at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source)

  6. Rakesh Menon says:

    @Maximilian Stempfhuber I’m not sure about exact reason, it may be due to network outage. Anyway I have updated the sample to use JavaFX 1.2 runtime.

  7. leonardo gomez says:

    Por favor me mandan una erl de sun en español gracias soy novato en lo ke respecta a todo esto de la programacion y me gustaria leer sus blogs y participar y capacitarme. Gracias

  8. Rakesh Menon says:

    @leonardo gomez Sorry, I’m not aware of any site. For now http://translate.google.com/# may be best bet for technical articles.

  9. Dmitry Anosov says:

    I’m trying to run this application in eclipse, but i get the following error:
    C:\MyWebProjects\WebServices\src\carousel\Carousel.fx:152: cannot find symbol
    symbol : function enqueue()
    location: class javafx.io.http.HttpRequest
    request.enqueue();
    What could that be?

  10. Rakesh Menon says:

    @Dmitry Anosov Thanks for pointing out. I have not updated the sample source to JavaFX 1.2. The name of method is changed from enqueue() to start(). I’ll update the source. You may also refer to sample in doc – http://java.sun.com/javafx/1.2/docs/api/javafx.io.http/javafx.io.http.HttpRequest.html

  11. Rakesh Menon says:

    @Dmitry Anosov I have putback the latest source to http://code.google.com/p/javafxdemos/source/browse/#hg/Carousel/src/carousel

  12. Dmitry Anosov says:

    Тhanks for your reply, Rakesh. I just couldn’t think of any reason for that error.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: