Indeed the SOAP code relies on an older generation of the apache library.<br><br>Going forward, we are looking at writing a client-side implementation of the SOAP and XMLRPC<br>protocols in javascript, and thus become independent of the server and the apache<br>
library. <br><br>In Flash 5, the performance of actionscript was not really good enough, but the<br>javascript engine in Flash, and DHTML, has gotten much better, as well as the<br>performance of XML parsing. The only thing that a server is really required for now<br>
would be to proxy the XML data fetches in the case that the data is coming from a third party server that does not have a crossdomain.xml<br>permissions file. It is also required to proxy XML data requests for DHTML runtime, since<br>
the security model of XMLHTTPRequest does not permit any third-party data access by default. <br><br><br><br><br><br><div class="gmail_quote">On Wed, Apr 16, 2008 at 4:03 PM, Geoff Crawford <<a href="mailto:geoff@innov8cs.com">geoff@innov8cs.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">At 03:44 PM 4/16/2008, Jesse Norell wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hello,<br>
<br>
I'm new to Openlaszlo, trying to use it as a SOAP client and running<br>
into a problem (limitation/something) maybe someone can help identify.<br>
I've made a simple WSDL (which works in a wsdl explorer, for what that's<br>
worth) and have more or less copied the Amazon RPC example from the<br>
developer's guide to try to send a soap message (see attached).<br>
<br>
The Amazon example works; if I Debug.inspect(amazon.proto) in that<br>
example, if I'm reading the output correctly (and I may not be), the<br>
prototype is an LzNamespace with the namespace set by the<br>
targetNamespace of their wsdl, and there are a lot of array members you<br>
can do "stuff" with.<br>
<br>
In my example WidgetFactory, if I Debug.inspect(WidgetFactory.proto) I<br>
have an LzNamespace with an incorrect namespace set (and it actually<br>
changed if I put different content in the wsdl <schema>)<br>
</blockquote>
<br></div>
You might want to go back in the list archives -<br>
from my own experiences the existing laszlo implementation<br>
of SOAP is based on some pretty old Apache code to<br>
create the message prototypes from the WSDL. It's got<br>
known issues with it - but at some point in the future<br>
it is going to be worked on per the Laszlo developers.<br>
(they just did some work on the XML RPC so it wouldn't<br>
surprise me if some of the others are next)<br>
<br>
My suggestion that worked reasonably well for me was<br>
to simply use an everyday dataset and just XPATH out<br>
the SOAP envelope/SOAP body and you get right to the<br>
XML returned.<br>
<br>
All that leaves you to do is build the XML request<br>
and then use setQueryParam of "lzpostbody" and let<br>
it go.<br>
<br>
Here's a simple example:<br>
<br>
var sr = "<soap:Envelope> "<br>
"<soap:Header/>" +<br>
"<soap:Body>" + mySoapBody "</soap:Body></soap:Envelope>";<br>
<br>
datasetname.setHeader("SOAPAction","myAction");<br>
datasetname.setHeader("Content-Type","text/xml");<br>
datasetname.setQueryParam("lzpostbody",sr);<br>
datasetname.setQueryType("POST");<br>
datasetname.doRequest();<br>
<br>
<br>
In addition, I think in a lot of SOAP camps these days you<br>
start to look at the time and effort it takes to take WSDL<br>
and produce a prototype message and that accounts for much<br>
of the supposed slowness in SOAP. You really don't want to<br>
be doing that all the time on every call - it really should<br>
be done once at application start. Something where the WSDL<br>
is analyzed once, to produce the call prototypes and then<br>
do some kind of XSLT would be far more useful IMO.<br>
Many implementations even have to read the WSDL on every<br>
call - tripple ouch!!<br><font color="#888888">
<br>
<br>
Geoff Crawford<br>
<a href="mailto:geoff@innov8cs.com" target="_blank">geoff@innov8cs.com</a> <br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Henry Minsky<br>Software Architect<br><a href="mailto:hminsky@laszlosystems.com">hminsky@laszlosystems.com</a><br><br>