DISQUS

DISQUS Hello! CuppaDev is using DISQUS, a powerful comment system, to manage its comments. Learn more.

Community Page

Jump to original thread »
Author

Running into OpenLaszlo Limitations

Started by James Urquhart · 9 months ago

One of the things that got me interested in OpenLaszlo was its pretty cool databinding features, which meant i could take in data from any standard XML document (be it a web page, xmlrpc, or even SOAP) and prototype a little interface around it very quickly, as i previously mentioned in ... Continue reading »

6 comments

  • Henry,

    Thanks very much for the suggestion. It seems to work rather nicely. :)

    Regards,

    James
  • There is a single magic query arg named "lzpostbody", which if you set it, will be sent as the literal POST body, without form-encoding or anything.

    In an upcoming release, this will be accessed via a new API on dataset called setPostBody().
  • Here's an example code on how to post an XML dataset as a String to a server. Hope that helps...





    a
    b
    cc








    var xmlString = canvas.datasets['theData'].serialize();
    datasetForSending.setQueryParam("xml", xmlString);
    datasetForSending.setQueryType("POST");
    datasetForSending.doRequest();
  • Hi James,
    I tried the setQueryParam() in LZ 3.3.3 and 4.0.10 to post data and it doesn't work ! I also tried the setPostBody() in LZ 4.0.10 and it also failed! You seem to have made it work... could you post an example?

    FYI, here is my dataset…

    <dataset name="dsSendData" src="$once{'http://localhost:8080/cocoon/devHeryk/metadata/sendMeta/' + LzBrowser.getInitArg('getMeta') + '.xml'}" request="false" type="http"/>

    and my 2 attempts with setQueryParam()…

    <method name="sendData" args="action">
    var dp =canvas.datasets.meta.getPointer();
    var d =canvas.datasets.dsSendData;
    dp.selectChild();
    var sRequest = dp.serialize();
    d.setQueryParam("lzpostbody",sRequest);
    d.setQueryType("POST");
    d.doRequest();
    </method>


    and setPostBody()…

    <method name="sendData" args="action">
    var dp =canvas.datasets.meta.getPointer();
    var d =canvas.datasets.dsSendData;
    dp.selectChild();
    var sRequest = dp.serialize();
    d.setPostBody(sRequest);
    d.setQueryType("POST");
    d.doRequest();
    </method>


    Thanks
    Héryk
  • Héryk,

    I've not played about with OpenLaszlo for months, but i'll see what i can recall.

    If you take a look at one of my other posts, specifically http://www.cuppadev.co.uk/2007/08/08/openlaszlo-version-of-the-previous-flex-example/ , then i eventually figured out that the "lzpostbody" parameter was the key.

    The code i ended up with is http://www.cuppadev.co.uk/assets/2007/8/8/manage_test.txt .

    Keep in mine though that if you are running your app in SOLO mode, then in all likelihood your POST data will automagically be escaped. My solution to that snag here -> http://www.cuppadev.co.uk/2007/08/09/openlaszlo-xml-workaround/ .

    Good luck. :)
  • Stuck between a rock and a hard place

    Thanks for the rapid response!!! 
    This is a major drawback in the usability of OpenLaszlo in designing XML driven applications. I spent several weeks learning and designing a Laszlo XML driven FGDC metadata editor... and let’s just say that I’m very disappointed with this outcome! Isn’t Laszlo’s strength supposed to be XML driven applications??!!!! Dop!

    I’ll follow your suggestion and try to implement a solution on the server side (Apache Cocoon http://cocoon.apache.org/) to decode Laszlo's xml Post.

    I posted my question on the Laszlo forum here: http://forum.openlaszlo.org/showthread.php?p=37241#post37241

    I hope this will be fixed in a near future!
    Cheers
    Héryk

Add New Comment

Returning? Login