[Laszlo-user] R: Change in the way lzpostbody works in 3.2?

James Howe openlaszlo at wingspread.imap-mail.com
Tue Mar 28 11:03:17 EST 2006


In my simple test case, my servlet wasn't actually returning any XML.   
I've modified it to return some XML and the error message disappeared.  I  
don't believe the request is using GET instead of POST, however, since  
when I write out the request method, the value is 'POST' not 'GET'.   
However, the lzpostbody is being returned as a parameter whose name is  
some portion of the XML being sent to the server.

For example, if the dataset is defined like this:

     <dataset name="ds">
     	<foo><bar/></foo>
     </dataset>

The XML is passed as the parameter named '<ds><foo><bar/></foo></ds>' with  
no value for the parameter.  If the dataset looks like this:

     <dataset name="ds">
     	<foo><bar id="1234"/></foo>
     </dataset>

The XML is passed as the parameter named '<ds><foo><bar ' with a value of  
'id="1234/></foo></ds>'.  I imagine more complicated XML would generate  
stranger parameters.

On Tue, 28 Mar 2006 09:21:04 -0500, Henry Minsky <henry.minsky at gmail.com>  
wrote:

> Can you send me a zip file or attachment which contains the exact XML  
> data your back-end app is returning?
>
>
> On 3/28/06, luca.rasconi at alice.it <luca.rasconi at alice.it> wrote:
>>
>>
>> but why when i run the application below i have this messages
>> ERROR: data conversion error for
>> http://10.172.69.155:8080/my-laszlo-webapp/command?lzpostbody=%CdsNAN.000000%CfooNAN.000000%Cbar
>> NaNdNAN%22NAN.000000NAN.000000%CNAN.000000fooNAN.000000%CNAN.000000dsNAN.000000:
>> Parsing XML: only whitespace content allowed before start tag and not n
>> (position: START_DOCUMENT seen n... @1:1)
>>
>>
>> ???
>>
>> seems use GET instead POST
>>
>>
>> -----Messaggio originale-----
>> Da: laszlo-user-bounces at openlaszlo.org per conto di James Howe
>> Inviato: mar 28/03/2006 0.00
>> A: Henry Minsky
>> Cc: laszlo-user at openlaszlo.org
>> Oggetto: Re: [Laszlo-user] Change in the way lzpostbody works in 3.2?
>>
>> My application is running in proxied mode.
>>
>>
>> On Mon, 27 Mar 2006 16:35:20 -0500, Henry Minsky  
>> <henry.minsky at gmail.com>
>> wrote:
>>
>> > I've seen a couple of reports about the lzpostbody behavior and the
>> > 3.2release. I am looking at it now.  Note that lzpostbody is only
>> > supported for proxied data requests, it is not supported for SOLO data
>> > requests at this
>> > time (this was true in previous releases also, it's not a regression).
>> >
>> >
>> >
>> > On 3/27/06, James Howe <openlaszlo at wingspread.imap-mail.com> wrote:
>> >>
>> >> I'm trying to get my application to work under 3.2 and I've run into  
>> a
>> >> problem with submitting information to my back end server via POST.
>> >> Take
>> >> this program, for example:
>> >>
>> >> <canvas debug="true">
>> >>      <dataset name="ds">
>> >>         <foo><bar id="25030"/></foo>
>> >>      </dataset>
>> >>      <dataset name="updater" type="http"/>
>> >>         <view>
>> >>                 <button onclick="doit()">Push Me
>> >>                         <method name="doit">
>> >>                                 var pointer = ds.getPointer();
>> >>                                 updater.setSrc("
>> http://localhost/test/foo
>> >> ");
>> >>                                 updater.setHeader("Content-Type",
>> >> "application/xml");
>> >>                                 updater.setQueryType("POST");
>> >>                                 updater.setQueryParam("lzpostbody",
>> >> pointer.serialize());
>> >>                                 updater.doRequest();
>> >>                         </method>
>> >>                 </button>
>> >>         </view>
>> >> </canvas>
>> >>
>> >> I have a simple servlet which writes information to a log file based  
>> on
>> >> the information contained in the request.  When I run this program
>> under
>> >> 3.1.1, I get my XML content as the content of the request (I ask the
>> >> request for the content length and then get an input stream on the
>> >> request
>> >> and read the content).  Under 3.1.1, the content information is this:
>> >>
>> >> Content-Type: application/xml
>> >> Content-Length: 41
>> >> Content: <ds><foo><bar>Some Stuff</bar></foo></ds>
>> >>
>> >> However, when I run the same application under 3.2, the content is  
>> not
>> >> retrievable via the input stream for the request, instead, the  
>> content
>> >> is
>> >> contained as a parameter value.  My servlet produces the following
>> >> information for the content:
>> >>
>> >> Content-Type: application/x-www-form-urlencoded;charset=UTF-8
>> >> Content-Length: 37
>> >> Content:
>> >>
>> >> Something obviously changed.  If 3.2 has some improvement which
>> >> corrects a
>> >> defect in 3.1.1, I'm happy to make code changes to work with the new
>> way
>> >> of doing things.  I've already had to do that with namespaces.
>> >> Basically
>> >> what I need to be able to do is execute a POST operation with  
>> arbitrary
>> >> XML as the posted value.  I'm not posting a form, I'm using a
>> REST-style
>> >> interaction where I want to POST some XML which is used to update a
>> >> resource identified by the URL.
>> >>
>> >> Thanks!
>> >>
>> >> --
>> >> James Howe
>> >> _______________________________________________
>> >> Laszlo-user mailing list
>> >> Laszlo-user at openlaszlo.org
>> >> http://www.openlaszlo.org/mailman/listinfo/laszlo-user
>> >>
>> >
>> >
>> >
>> > --
>> > Henry Minsky
>> > Software Architect
>> > hminsky at laszlosystems.com
>>
>>
>>
>> --
>> James Howe
>> _______________________________________________
>> Laszlo-user mailing list
>> Laszlo-user at openlaszlo.org
>> http://www.openlaszlo.org/mailman/listinfo/laszlo-user
>>
>>
>
>
> --
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com



-- 
James Howe


More information about the Laszlo-user mailing list