<div dir="ltr">What are you using to create the XML.. <br><br>I use a library called NativeXML which is quick as XML goes (after optimising their code a bit )<br><br>XML is sluggish to create... <br><br>The secret to best performance is to hand write your XML creator with a TSTringlist because XML is dead simple to create, and then use a proper XML parser to process it..<br>
<br>Things that take 1 second using the proper XML object to read and write, can take about 20ms to generate with a stringlist and basic XML code generator.<br><br><div class="gmail_quote">On Fri, Jul 18, 2008 at 12:27 PM, Robert martin &lt;<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</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;">Hi Guys<br>
<br>
Just to let you know that I have this working GREAT now. &nbsp;I have<br>
surfaced an &#39;OnBeforeExecuteStream&#39; event in a customised THTTPRIO. &nbsp;In<br>
this I take the output stream (The 1mb XML file) and zip it as<br>
suggested. &nbsp;On the SOAP server I unzip it on the OnbeforeDispatch.<br>
<br>
This compresses files down to about 40kb. &nbsp;It is wonderful ! although<br>
the slowest part of the process seems to be creating the 1mb XML file.<br>
<br>
Thanks everyone for your help.<br>
<br>
Rob<br>
<div class="Ih2E3d"><br>
<br>
Kyley Harris wrote:<br>
&gt; well to give you an example..<br>
&gt;<br>
&gt; I have an object that represents a customer with about 20 fields of<br>
&gt; information... names addresses etc.. I can convert about 5000 to an<br>
&gt; xml structure that compressed to a size that takes a couple of seconds<br>
&gt; on dial up... I get roughly each 1mb of XML transfers using my<br>
&gt; protocol at around 40-60k of actual transferred size using a zip<br>
&gt; compression... for you, using a webservice, you would need to add an<br>
&gt; IIS or APache compression layer into the server, which only works if<br>
&gt; client and server both have it...<br>
&gt;<br>
&gt; if you don&#39;t need to send 300 at a time.. (i wonder is each sales<br>
&gt; lines items less than 10 etc) if you might be better to break the job<br>
&gt; down into a series of sends, and a batch completion...<br>
&gt;<br>
&gt; How I would do it is to send a SOAP packet which then has one field<br>
&gt; inside called DATA.. and data is the compressed zipped transaction<br>
&gt; data.. your webservice can open the soap packet and unzip the DATA<br>
&gt; field with zlib. &nbsp;you will find that your 5mb XML transactions are<br>
&gt; probably only about 100-200k of filesize zipped.<br>
&gt;<br>
&gt; On Thu, Jul 17, 2008 at 2:30 PM, Robert martin &lt;<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a><br>
</div><div class="Ih2E3d">&gt; &lt;mailto:<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt; &nbsp; &nbsp; Hi<br>
&gt;<br>
&gt; &nbsp; &nbsp; I may be doing this completely wrong but I am sending a set of<br>
&gt; &nbsp; &nbsp; transaction objects, each represents one transaction in a system. &nbsp;It<br>
&gt; &nbsp; &nbsp; has a set of sale lines and a set of payment lines. &nbsp;I am sending<br>
&gt; &nbsp; &nbsp; about<br>
&gt; &nbsp; &nbsp; 300 at a time. &nbsp;I used the word packet meaning 300 as opposed to a<br>
&gt; &nbsp; &nbsp; TCP/IP packet. &nbsp;Sorry about the confusion.<br>
&gt;<br>
&gt; &nbsp; &nbsp; Re compression, how would I go about compressing data in this format?<br>
&gt;<br>
&gt; &nbsp; &nbsp; Thanks<br>
&gt; &nbsp; &nbsp; Rob<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; Kyley Harris wrote:<br>
&gt; &nbsp; &nbsp; &gt; what kind of data are you sending that ends up being 1MB in<br>
&gt; &nbsp; &nbsp; size? How<br>
&gt; &nbsp; &nbsp; &gt; often are the packets being sent.. Thats a huge amount of traffic if<br>
&gt; &nbsp; &nbsp; &gt; its continuous usage..<br>
&gt; &nbsp; &nbsp; &gt; could you indicate what the size of your packet is compressed?<br>
&gt; &nbsp; &nbsp; &gt; compression might not even help...<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; On Thu, Jul 17, 2008 at 1:39 PM, Robert martin &lt;<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a>&gt;<br>
</div><div><div></div><div class="Wj3C7c">&gt; &nbsp; &nbsp; &gt; &lt;mailto:<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a> &lt;mailto:<a href="mailto:rob@chreos.co.nz">rob@chreos.co.nz</a>&gt;&gt;&gt; wrote:<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; Hi<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; We are using Apache. &nbsp;Will look into it. &nbsp;I think for the time<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; being the<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; data size is not too big an issue.<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; Alister Christie wrote:<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; I don&#39;t know if this helps much but some web servers<br>
&gt; &nbsp; &nbsp; (probably just<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Apache) support zip compression downloads - they might<br>
&gt; &nbsp; &nbsp; support it<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; uploads as well - although I have no idea how.<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Alister Christie<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Computers for People<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Ph: 04 471 1849 Fax: 04 471 1266<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; <a href="http://www.salespartner.co.nz" target="_blank">http://www.salespartner.co.nz</a><br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; PO Box 13085<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Johnsonville<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Wellington<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Robert martin wrote:<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; Hi<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; We have got the basis of a SOAP application up and<br>
&gt; &nbsp; &nbsp; running. &nbsp;It is<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; transferring some data from one machine to a web server<br>
&gt; &nbsp; &nbsp; perfectly.<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; However after sniffing the transaction it seems that each<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &#39;packet&#39; of<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; data we send is about 1MB. &nbsp;This is only about 1/3 of the<br>
&gt; &nbsp; &nbsp; data<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; we plan<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; to send and we anticipate receiving some data also. &nbsp;A small<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; number of<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; users will be on dial up. &nbsp;1Mb would be ok but it seems<br>
&gt; &nbsp; &nbsp; like we<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; might<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; end up around 5Mb. &nbsp;This is too much.<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; I know SOAP is a bulky XML protocol but does anyone know<br>
&gt; &nbsp; &nbsp; of ways to<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; reduce the XML size (appart from encoding the data as a<br>
&gt; &nbsp; &nbsp; binary<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; file,<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; compressing it and sending).<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; We might have to scrap what we have done so far. &nbsp;But asside<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; from the<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; file size, the system works great. &nbsp;It would be a shame :-(<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; Thanks<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; Rob<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; _______________________________________________<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; NZ Borland Developers Group - Delphi mailing list<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;<br>
</div></div>&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;&gt;<br>
<div class="Ih2E3d">&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt; Unsubscribe: send an email to<br>
&gt; &nbsp; &nbsp; <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt;&gt; with Subject: unsubscribe<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; _______________________________________________<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; NZ Borland Developers Group - Delphi mailing list<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;<br>
</div>&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;&gt;<br>
<div class="Ih2E3d">&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt; Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt;&gt; with Subject: unsubscribe<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; _______________________________________________<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; NZ Borland Developers Group - Delphi mailing list<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;<br>
</div>&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;&gt;<br>
<div class="Ih2E3d">&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt;<br>
&gt; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a><br>
</div><div><div></div><div class="Wj3C7c">&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt;&gt; with Subject: unsubscribe<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; --<br>
&gt; &nbsp; &nbsp; &gt; Kyley Harris<br>
&gt; &nbsp; &nbsp; &gt; Harris Software<br>
&gt; &nbsp; &nbsp; &gt; +64-21-671-821<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; ------------------------------------------------------------------------<br>
&gt; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &gt; _______________________________________________<br>
&gt; &nbsp; &nbsp; &gt; NZ Borland Developers Group - Delphi mailing list<br>
&gt; &nbsp; &nbsp; &gt; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;<br>
&gt; &nbsp; &nbsp; &gt; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
&gt; &nbsp; &nbsp; &gt; Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt; with Subject: unsubscribe<br>
&gt; &nbsp; &nbsp; _______________________________________________<br>
&gt; &nbsp; &nbsp; NZ Borland Developers Group - Delphi mailing list<br>
&gt; &nbsp; &nbsp; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a> &lt;mailto:<a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a>&gt;<br>
&gt; &nbsp; &nbsp; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
&gt; &nbsp; &nbsp; Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a>&gt; with Subject: unsubscribe<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Kyley Harris<br>
&gt; Harris Software<br>
&gt; +64-21-671-821<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; NZ Borland Developers Group - Delphi mailing list<br>
&gt; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><br>
&gt; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
&gt; Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject: unsubscribe<br>
_______________________________________________<br>
NZ Borland Developers Group - Delphi mailing list<br>
Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><br>
Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject: unsubscribe<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Kyley Harris<br>Harris Software<br>+64-21-671-821
</div>