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,&nbsp; 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&nbsp; 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 &lt;<a href="mailto:geoff@innov8cs.com">geoff@innov8cs.com</a>&gt; 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>
 &nbsp;I&#39;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&#39;ve made a simple WSDL (which works in a wsdl explorer, for what that&#39;s<br>
worth) and have more or less copied the Amazon RPC example from the<br>
developer&#39;s guide to try to send a soap message (see attached).<br>
<br>
 &nbsp;The Amazon example works; if I Debug.inspect(amazon.proto) in that<br>
example, if I&#39;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 &quot;stuff&quot; with.<br>
<br>
 &nbsp;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 &lt;schema&gt;)<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. &nbsp;It&#39;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&#39;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 &quot;lzpostbody&quot; and let<br>
it go.<br>
<br>
Here&#39;s a simple example:<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;var sr = &nbsp; &nbsp; &nbsp; &nbsp;&quot;&lt;soap:Envelope&gt; &quot;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;&lt;soap:Header/&gt;&quot; +<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;&lt;soap:Body&gt;&quot; + mySoapBody &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;&lt;/soap:Body&gt;&lt;/soap:Envelope&gt;&quot;;<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;datasetname.setHeader(&quot;SOAPAction&quot;,&quot;myAction&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;datasetname.setHeader(&quot;Content-Type&quot;,&quot;text/xml&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;datasetname.setQueryParam(&quot;lzpostbody&quot;,sr);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;datasetname.setQueryType(&quot;POST&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;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. &nbsp;You really don&#39;t want to<br>
be doing that all the time on every call - it really should<br>
be done once at application start. &nbsp;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>