 <p>The issue is that jquery.soap is not accounting for <code>CDATA</code> elements, in <a href="https://github.com/doedje/jquery.soap/blob/f642fc079e2d7ea40b2ea1fc12070b068ff0770b/jquery.soap.js" rel="nofollow">the current code of the jquery.soap.js file</a>, inside the function <code>dom2soap</code>, from line 482 to line 488 there is this code:</p> <pre><code> if (child.nodeType === 1) { var childObject = SOAPTool.dom2soap(child); soapObject.appendChild(childObject); } if (child.nodeType === 3 &amp;&amp; !whitespace.test(child.nodeValue)) { soapObject.val(child.nodeValue); } </code></pre> <p>The problem is that the <code>nodeType</code> for a <code>CDATA</code> element is 4, so your <code>CDATA</code> elements are being ignored. </p> <p>I've forked the original jquery.soap repo, I've created a new branch called <code>cdata-fix</code> and I've made a few changes in the jquery.soap.js file that should solve your issue. <a href="https://github.com/josepot/jquery.soap/commit/4ebf86b4cc21012e2aedbb64ab27ef81b03dc915#diff-85e01184326c2ae667438b42ecbdc31c" rel="nofollow">You can see those changes here</a>.</p> <p>I've created <a href="https://github.com/doedje/jquery.soap/pull/61" rel="nofollow">this pull request</a> in the jquery.soap repo, hopefully the pull request will be accepted, but in the meanwhile feel free to use my version of the jquery.soap.js, I'm quite confident that it will work just fine.</p> <p>In <strong><a href="http://plnkr.co/edit/EY0lmyJESSO2FV8j6LIp?p=preview" rel="nofollow">this Plunker</a></strong> you can see that the changes that I've made to the jquery.soap.js file are fixing your issue. (Have a look at the payload of the post with a 404 error)</p> <p><strong>UPDATE:</strong></p> <p>The pull request <a href="https://github.com/doedje/jquery.soap/pull/61" rel="nofollow">has been accepted</a>.</p>