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

James Howe openlaszlo at wingspread.imap-mail.com
Mon Mar 27 15:41:27 EST 2006

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 name="updater" type="http"/>
		<button onclick="doit()">Push Me
			<method name="doit">
				var pointer = ds.getPointer();
				updater.setHeader("Content-Type", "application/xml");
				updater.setQueryParam("lzpostbody", pointer.serialize());

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

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.


James Howe

More information about the Laszlo-user mailing list