I have sent the newsletter for 5375 user. But I am getting the below error Warning: DOMDocument::loadXML(): xmlSAX2Characters: huge text node: out of memory in Entity, line: 116199 in ET_Client.php on line 157

Warning: DOMDocument::loadXML(): Extra content at the end of the document in Entity, line: 116199 in ET_Client.php on line 157

Notice: Trying to get property of non-object in soap-wsse.php on line 98 Notice: Trying to get property of non-object in soap-wsse.php on line 99

Fatal error: Call to a member function insertBefore() on a non-object in soap-wsse.php on line 65

Process: Dynamic html mail process through single list

  • I am also finding this - "libxml2 defines XML_MAX_TEXT_LENGTH as ~10 MB. Attempting to parse an XML file with a text node larger than 10MB causes odd behavior", and this error is one of them. – Kelly J Andrews Jan 2 '14 at 13:13
  • The code works perfectly for 23 users but gives error like this when doing to 5K+ user. Is there a possibility of my html being mal-formed or broken? – Deepak Jan 2 '14 at 13:14
  • Possibly. How many lines of XML are you using for each user? Is there anyway to trim out code? Is your file size larger than 10MB? – Kelly J Andrews Jan 2 '14 at 13:16
  • My individual file size is not over 25 Kb, overall the folder size is 115 Mb. I am not sure how to find the XML size for each user but can find out if you can let me know where to look. – Deepak Jan 2 '14 at 13:23
  • Also I have used the process mentioned in the above link, first created a list, then the html for them and now running the send script where this is going bad. – Deepak Jan 2 '14 at 13:25

The issue is within libxml2 - https://bugs.php.net/bug.php?id=49660

"Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a single text node when using libxml2.7.3+."

This may need to be updated in the SDK to allow for this option. However, your solution does not seem scalable, and should probably be evaluated for places to eliminate code - perhaps by using templates some of the calls to reduce HTML. Look for any places where the HTML is repeated to find opportunities to trim down code.

Let's say each line of SOAP is approximately 3.5B, when you begin to expand this solution out to 5,000, you can see how it would become large quickly. You then would be very limited in your solution, as you getting any larger size list will eventually cause memory issues on your server, as well as speed to send would be greatly reduced.

Please evaluate what you are sending through, and find ways to minimize your code, and use ExactTarget's sending engines to do the heavy lifting as much as possible. This will result in a much better experience for you, your clients, and your servers.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.