Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>First of all, it depends a lot on how your services are implemented (i.e. you can do a lot to reduce the payload by just being careful of how your method signatures are done). </p> <p>That said, not only the soap envelope but the message itself can be a lot more bulky in xml rather than a streamlined binary format. Just choosing the right class and member names can reduce it a lot...</p> <p>Consider the following examples of serialized method returns from methods returning a collection of a stuff. Just choosing the right [serialization] name for classes/wrappers and members can make a big difference in the verbosity of the serialized soap request/response if you're returning repeated data (e.g. lists/collections/arrays).</p> <p><strong>Brief / short names:</strong></p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;ArrayOfShortIDName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"&gt; &lt;ShortIDName&gt; &lt;id&gt;0&lt;/id&gt; &lt;name&gt;foo 0&lt;/name&gt; &lt;/ShortIDName&gt; &lt;ShortIDName&gt; &lt;id&gt;1&lt;/id&gt; &lt;name&gt;foo 1&lt;/name&gt; &lt;/ShortIDName&gt; &lt;ShortIDName&gt; &lt;id&gt;2&lt;/id&gt; &lt;name&gt;foo 2&lt;/name&gt; &lt;/ShortIDName&gt; ... &lt;/ArrayOfShortIDName&gt; </code></pre> <p><strong>Long names:</strong></p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;ArrayOfThisClassHasALongClassNameIDName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"&gt; &lt;ThisClassHasALongClassNameIDName&gt; &lt;MyLongMemberNameObjectID&gt;0&lt;/MyLongMemberNameObjectID&gt; &lt;MyLongMemberNameObjectName&gt;foo 0&lt;/MyLongMemberNameObjectName&gt; &lt;/ThisClassHasALongClassNameIDName&gt; &lt;ThisClassHasALongClassNameIDName&gt; &lt;MyLongMemberNameObjectID&gt;1&lt;/MyLongMemberNameObjectID&gt; &lt;MyLongMemberNameObjectName&gt;foo 1&lt;/MyLongMemberNameObjectName&gt; &lt;/ThisClassHasALongClassNameIDName&gt; &lt;ThisClassHasALongClassNameIDName&gt; &lt;MyLongMemberNameObjectID&gt;2&lt;/MyLongMemberNameObjectID&gt; &lt;MyLongMemberNameObjectName&gt;foo 2&lt;/MyLongMemberNameObjectName&gt; &lt;/ThisClassHasALongClassNameIDName&gt; ... &lt;/ArrayOfThisClassHasALongClassNameIDName&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload