php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #36517 Soap client dies with a memory exhaustion error
Submitted: 2006-02-24 20:56 UTC Modified: 2006-09-01 01:00 UTC
Votes:5
Avg. Score:4.6 ± 0.8
Reproduced:5 of 5 (100.0%)
Same Version:4 (80.0%)
Same OS:4 (80.0%)
From: phuttunen at digifonica dot com Assigned: helly (profile)
Status: No Feedback Package: SimpleXML related
PHP Version: 5.1.2 OS: FreeBSD 6.0-RELEASE-p4
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2006-02-24 20:56 UTC] phuttunen at digifonica dot com
Description:
------------
Soap client dies with a memory exhaustion error (Fatal error*: Allowed memory size of 83886080 bytes exhausted (tried to allocate -1077959895 bytes).
Problem showed up when PHP was upgrade from 5.0.[45] to 5.1.X.

There is something about these two nodes that kills the simple xml:

   <SOAP-ENV:Body>
         <ns1:getStatementResponse>
...
         <ns1:getStatementResponse>
   <SOAP-ENV:Body>

See the code for more comments.

Reproduce code:
---------------
http://www3.telus.net/pena/test_parse_xml-1.php.txt


Expected result:
----------------
<pre>SimpleXMLElement Object
(
    [return] => <!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>
   <style>
     
/**
 * Default style sheet for end user statements
 *
 * $Id: subscr_stmt.css,v 1.31 2004/11/02 11:46:53 alake Exp $
 */

body {
    font-family: arial, helvetica, geneva, sans-serif;
    font-size: small;
    color: #000000;
    background-color: #FFFFFF;
}

h1 {font-family: arial, helvetica, geneva, sans-serif; font-size: large; font-weight: bold} 
h2 {font-family: arial, helvetica, geneva, sans-serif; font-size: large; font-weight: bold}
h3 {font-family: arial, helvetica, geneva, sans-serif; font-size: medium; font-weight: bold}

#bundle, #cdr, #info 
{
   height:  25px;
        width: 690px;
   color: #000000;
   font-family: arial, helvetica, geneva, sans-serif;
   font-size: smaller;
   font-weight: normal;
}

th {font-family: arial, helvetica, geneva, sans-serif; font-size: small; font-weight: bold; color: #000000; background-color: #D3DCE3; }
th.tot_txt {font-family: arial, helvetica, geneva, sans-serif; font-size: small; font-weight: bold; color: #000000; background-color: #D3DCE3; text-align: left;}
th.tot_val {font-family: arial, helvetica, geneva, sans-serif; font-size: small; font-weight: bold; color: #000000; background-color: #D3DCE3; text-align: right;}

tr { color: #000; }
tr.even { background-color: #f5f5f5; }
tr.odd { background-color: #e5e5e5; }
tr.even:hover, tr.odd:hover {font-family: arial, helvetica, geneva, sans-serif; color: #ffffff; background-color:#20b2aa; text-decoration: none}

td {font-family: arial, helvetica, geneva, sans-serif; font-size: small; }
td.from, td.to, td.call_type, td.destination, td.time, td.item, td.tot_txt { text-align: left; }
td.duration, td.cost, td.amount, td.pst, td.gst, td.tot_val  { text-align: right; }

hr { color: #666666; background-color: #666666; border: 0; height: 1px; width: 690px; }

   </style>
 </head>

  <center><br />
   <img src="http://billing.digifonica.com/billing/images/digifonica/digifonica.jpg" />

   <hr>
   <body>

   <!-- Invoice Header: User Info -->

   <h3>Account Information</h3>

   <!-- <table id="info" border=0 width="50%" cellpadding="2"> -->
   <table id="info">
    <tr class="odd">

      <td>Name:</td>
      <td>*****,****</td>
    </tr>
    <tr class="even">
      <td>Account Number:</td>
      <td>******</td>
    <tr class="odd">

      <td>Statement ID:</td>
      <td>*******************</td>
    </tr>
    <tr class="even">
      <td>Bundle Name:</td>
      <td>Gold</td>
    </tr>

    <tr class="odd">
      <td>For Period:</td>
      <td>2005-11-12 - 2005-12-12</td>
    </tr>
    <tr class="even">
      <td>Payment Due Date:</td>
      <td><i>PREPAID</i></td>

    </td>
   </table>

   <!-- Line Items -->

   <h3>Bundle Charges</h3>

      <!-- <table id="bundle" border="0" align="middle" width="50%"> -->
   <table id="bundle">   
   <thead>

    <th>Bundle Item</th>
    <th>Price</th>
    <th>PST</th>
    <th>GST</th>
   </thead>
       <tr class="odd">
                <td class=item>Network Access Fee</td>

                <td class=amount>       1.99</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
       <tr class="even">
                <td class=item>Auto Call Forward</td>

                <td class=amount>       0.00</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
       <tr class="odd">
                <td class=item>Free Local Calling</td>

                <td class=amount>       0.00</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
       <tr class="even">
                <td class=item>Call Display</td>

                <td class=amount>       0.00</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
       <tr class="odd">
                <td class=item>Bundle Price</td>

                <td class=amount>      38.95</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
       <tr class="even">
                <td class=item>DID Charge</td>

                <td class=amount>       0.00</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
       <tr class="odd">
                <td class=item>Call Blocking</td>

                <td class=amount>       0.00</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
       <tr class="even">
                <td class=item>Phone Rental</td>

                <td class=amount>       6.99</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
       <tr class="odd">
                <td class=item>Voice to Email</td>

                <td class=amount>       0.00</td>
                <td class=pst>       0.00</td>
                <td class=gst>       0.00</td>
          </tr>
      <tfoot>
     <tr>

       <th class="tot_txt">Subtotal:</th>
       <th class="tot_val">47.93</th>
       <th class="tot_val">0.00</th>
       <th class="tot_val">0.00</th>
     </tr>
     <tr>
       <th class="tot_txt" COLSPAN="3">Bundle Total:</th>

       <th class="tot_val">47.93</th>
     </tr>
   </tfoot>
   </table>
   
   <!-- Call Detail Records -->

   <h3>Call Details</h3>
   
      <!-- <table id="cdr" border="0" align="middle" width="50%"> -->

   <table id="cdr">
   <thead>
    <th>From</th>
    <th>To</th>
    <th>Call Type</th>
    <th>Destination</th>
    <th>Time (UTC)</th>

    <th>Duration (s)</th>
    <th>Cost</th>
   </thead>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****02721082986</td>
              <td class=call_type>International</td>

              <td class=destination>Greece</td>
              <td class=time>2005-11-13 04:45:06</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****5897*****31</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-13 04:47:11</td>
              <td class=duration>30</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****5898636673</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-13 05:28:46</td>
              <td class=duration>1080</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****5895092339</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-13 16:26:35</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****58408410407</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-13 16:27:34</td>
              <td class=duration>42</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****58451317561</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-13 16:29:11</td>
              <td class=duration>786</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****5895092339</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-13 16:42:56</td>
              <td class=duration>4188</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****58408213087</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-13 20:49:39</td>
              <td class=duration>36</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****58405717753</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-16 16:25:29</td>
              <td class=duration>1242</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****58442554171</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-17 06:52:00</td>
              <td class=duration>114</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****02107787307</td>
              <td class=call_type>International</td>

              <td class=destination>Greece</td>
              <td class=time>2005-12-10 22:18:02</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****02107787307</td>
              <td class=call_type>International</td>
              <td class=destination>Greece</td>
              <td class=time>2005-12-10 22:18:02</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****02721082986</td>
              <td class=call_type>International</td>

              <td class=destination>Greece</td>
              <td class=time>2005-11-13 04:45:06</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****5897*****31</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-13 04:47:11</td>
              <td class=duration>30</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****5898636673</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-13 05:28:46</td>
              <td class=duration>1080</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****5895092339</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-13 16:26:35</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****58408410407</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-13 16:27:34</td>
              <td class=duration>42</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****58451317561</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-13 16:29:11</td>
              <td class=duration>786</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****5895092339</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-13 16:42:56</td>
              <td class=duration>4188</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****58408213087</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-13 20:49:39</td>
              <td class=duration>36</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****58405717753</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-16 16:25:29</td>
              <td class=duration>1242</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****58442554171</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-17 06:52:00</td>
              <td class=duration>114</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****5898636673</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-18 16:25:38</td>
              <td class=duration>612</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****5895092339</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-14 16:54:13</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****58408410407</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-14 16:55:10</td>
              <td class=duration>30</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****5898636673</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-15 02:27:59</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****5898636673</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-18 16:25:38</td>
              <td class=duration>612</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****5895092339</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-14 16:54:13</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****58408410407</td>
              <td class=call_type>International</td>

              <td class=destination>Finland</td>
              <td class=time>2005-11-14 16:55:10</td>
              <td class=duration>30</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****5898636673</td>
              <td class=call_type>International</td>
              <td class=destination>Finland</td>
              <td class=time>2005-11-15 02:27:59</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:42:41</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:43:12</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:43:41</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:49:24</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****4098805</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-13 23:41:26</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****4098805</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-13 23:41:51</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-13 23:42:24</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3209699</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-13 23:47:00</td>
              <td class=duration>564</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-14 02:27:16</td>
              <td class=duration>36</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-14 02:28:19</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****4489160</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 15:58:19</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-15 15:58:41</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 16:05:25</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-15 16:05:38</td>
              <td class=duration>30</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****4423890</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 16:06:53</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****4423890</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-15 16:09:04</td>
              <td class=duration>84</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****4098805</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-13 23:41:26</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****4098805</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-13 23:41:51</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-13 23:42:24</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3209699</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-13 23:47:00</td>
              <td class=duration>564</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-14 02:27:16</td>
              <td class=duration>36</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-14 02:28:19</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****4489160</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 15:58:19</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-15 15:58:41</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 16:05:25</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-15 16:05:38</td>
              <td class=duration>30</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****4423890</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 16:06:53</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****4423890</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-15 16:09:04</td>
              <td class=duration>84</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:42:33</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:42:41</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:43:12</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:43:41</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:49:24</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****4423890</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-14 16:32:29</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****7385222</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-23 15:12:06</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>18002634680</td>
              <td class=call_type>National</td>
              <td class=destination>North American Tollfree</td>
              <td class=time>2005-11-23 15:13:37</td>
              <td class=duration>318</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****4423890</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-14 16:32:29</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****4423890</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-14 16:32:54</td>
              <td class=duration>186</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****7544425</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-14 21:22:54</td>
              <td class=duration>78</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>15713389880</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-14 21:24:48</td>
              <td class=duration>582</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 02:09:04</td>
              <td class=duration>1026</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-15 02:27:13</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 02:27:43</td>
              <td class=duration>0</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-15 02:28:22</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
       <tr class="even">
              <td class=from>*****0500073</td>
              <td class=to>*****8419245</td>
              <td class=call_type>National</td>

              <td class=destination>United States</td>
              <td class=time>2005-11-15 02:29:54</td>
              <td class=duration>774</td>
              <td class=cost>       0.00</td>
          </tr>
       <tr class="odd">

              <td class=from>*****0500073</td>
              <td class=to>*****3381220</td>
              <td class=call_type>National</td>
              <td class=destination>United States</td>
              <td class=time>2005-11-20 03:42:33</td>
              <td class=duration>0</td>

              <td class=cost>       0.00</td>
          </tr>
     <tr>
       <th class="tot_txt" COLSPAN="5">Calls Total:</th>
       <th class="tot_val">26,214.00</th>
       <th class="tot_val">0.00</th>

     </tr>
   </tfoot>
   </table>
   
   <!-- Statement Total -->

   <h3>Statement Summary</h3>
   <table id="info">
     <tr class="even">
       <td class="tot_txt">Bundle Total:</td>

       <td class="tot_val">47.93</td>
     </tr>  
     <tr class="odd">
       <td class="tot_txt">Calls Total:</td>
       <td class="tot_val">0.00</td>
     </tr>
     <tfoot>
       <th class="tot_txt">Statement Total:</th>

       <th class="tot_val">47.93</th>
     </tfoot>
   </table>
   
   <!-- Statement Footer -->

  </center>
  </body>
 </html>
)

</pre><br>The xml that was parsed:<br><textarea cols="100" rows="20"><?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:BillingAPI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><return xsi:type="xsd:base64Binary">&lt;!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
 &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;

 &lt;head&gt;
   &lt;style&gt;
     
/**
 * Default style sheet for end user statements
 *
 * $Id: subscr_stmt.css,v 1.31 2004/11/02 11:46:53 alake Exp $
 */

body {
    font-family: arial, helvetica, geneva, sans-serif;
    font-size: small;
    color: #000000;
    background-color: #FFFFFF;
}

h1 {font-family: arial, helvetica, geneva, sans-serif; font-size: large; font-weight: bold} 
h2 {font-family: arial, helvetica, geneva, sans-serif; font-size: large; font-weight: bold}
h3 {font-family: arial, helvetica, geneva, sans-serif; font-size: medium; font-weight: bold}

#bundle, #cdr, #info 
{
   height:  25px;
        width: 690px;
   color: #000000;
   font-family: arial, helvetica, geneva, sans-serif;
   font-size: smaller;
   font-weight: normal;
}

th {font-family: arial, helvetica, geneva, sans-serif; font-size: small; font-weight: bold; color: #000000; background-color: #D3DCE3; }
th.tot_txt {font-family: arial, helvetica, geneva, sans-serif; font-size: small; font-weight: bold; color: #000000; background-color: #D3DCE3; text-align: left;}
th.tot_val {font-family: arial, helvetica, geneva, sans-serif; font-size: small; font-weight: bold; color: #000000; background-color: #D3DCE3; text-align: right;}

tr { color: #000; }
tr.even { background-color: #f5f5f5; }
tr.odd { background-color: #e5e5e5; }
tr.even:hover, tr.odd:hover {font-family: arial, helvetica, geneva, sans-serif; color: #ffffff; background-color:#20b2aa; text-decoration: none}

td {font-family: arial, helvetica, geneva, sans-serif; font-size: small; }
td.from, td.to, td.call_type, td.destination, td.time, td.item, td.tot_txt { text-align: left; }
td.duration, td.cost, td.amount, td.pst, td.gst, td.tot_val  { text-align: right; }

hr { color: #666666; background-color: #666666; border: 0; height: 1px; width: 690px; }

   &lt;/style&gt;
 &lt;/head&gt;

  &lt;center&gt;&lt;br /&gt;
   &lt;img src="http://billing.digifonica.com/billing/images/digifonica/digifonica.jpg" /&gt;
   &lt;hr&gt;
   &lt;body&gt;

   &lt;!-- Invoice Header: User Info --&gt;

   &lt;h3&gt;Account Information&lt;/h3&gt;

   &lt;!-- &lt;table id="info" border=0 width="50%" cellpadding="2"&gt; --&gt;
   &lt;table id="info"&gt;
    &lt;tr class="odd"&gt;
      &lt;td&gt;Name:&lt;/td&gt;
      &lt;td&gt;*****,****&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class="even"&gt;
      &lt;td&gt;Account Number:&lt;/td&gt;
      &lt;td&gt;******&lt;/td&gt;
    &lt;tr class="odd"&gt;
      &lt;td&gt;Statement ID:&lt;/td&gt;
      &lt;td&gt;*******************&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class="even"&gt;
      &lt;td&gt;Bundle Name:&lt;/td&gt;
      &lt;td&gt;Gold&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class="odd"&gt;
      &lt;td&gt;For Period:&lt;/td&gt;
      &lt;td&gt;2005-11-12 - 2005-12-12&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr class="even"&gt;
      &lt;td&gt;Payment Due Date:&lt;/td&gt;
      &lt;td&gt;&lt;i&gt;PREPAID&lt;/i&gt;&lt;/td&gt;
    &lt;/td&gt;
   &lt;/table&gt;

   &lt;!-- Line Items --&gt;

   &lt;h3&gt;Bundle Charges&lt;/h3&gt;

      &lt;!-- &lt;table id="bundle" border="0" align="middle" width="50%"&gt; --&gt;
   &lt;table id="bundle"&gt;   
   &lt;thead&gt;
    &lt;th&gt;Bundle Item&lt;/th&gt;
    &lt;th&gt;Price&lt;/th&gt;
    &lt;th&gt;PST&lt;/th&gt;
    &lt;th&gt;GST&lt;/th&gt;
   &lt;/thead&gt;
       &lt;tr class="odd"&gt;
                &lt;td class=item&gt;Network Access Fee&lt;/td&gt;
                &lt;td class=amount&gt;       1.99&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
                &lt;td class=item&gt;Auto Call Forward&lt;/td&gt;
                &lt;td class=amount&gt;       0.00&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
                &lt;td class=item&gt;Free Local Calling&lt;/td&gt;
                &lt;td class=amount&gt;       0.00&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
                &lt;td class=item&gt;Call Display&lt;/td&gt;
                &lt;td class=amount&gt;       0.00&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
                &lt;td class=item&gt;Bundle Price&lt;/td&gt;
                &lt;td class=amount&gt;      38.95&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
                &lt;td class=item&gt;DID Charge&lt;/td&gt;
                &lt;td class=amount&gt;       0.00&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
                &lt;td class=item&gt;Call Blocking&lt;/td&gt;
                &lt;td class=amount&gt;       0.00&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
                &lt;td class=item&gt;Phone Rental&lt;/td&gt;
                &lt;td class=amount&gt;       6.99&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
                &lt;td class=item&gt;Voice to Email&lt;/td&gt;
                &lt;td class=amount&gt;       0.00&lt;/td&gt;
                &lt;td class=pst&gt;       0.00&lt;/td&gt;
                &lt;td class=gst&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
      &lt;tfoot&gt;
     &lt;tr&gt;
       &lt;th class="tot_txt"&gt;Subtotal:&lt;/th&gt;
       &lt;th class="tot_val"&gt;47.93&lt;/th&gt;
       &lt;th class="tot_val"&gt;0.00&lt;/th&gt;
       &lt;th class="tot_val"&gt;0.00&lt;/th&gt;
     &lt;/tr&gt;
     &lt;tr&gt;
       &lt;th class="tot_txt" COLSPAN="3"&gt;Bundle Total:&lt;/th&gt;
       &lt;th class="tot_val"&gt;47.93&lt;/th&gt;
     &lt;/tr&gt;
   &lt;/tfoot&gt;
   &lt;/table&gt;
   
   &lt;!-- Call Detail Records --&gt;

   &lt;h3&gt;Call Details&lt;/h3&gt;
   
      &lt;!-- &lt;table id="cdr" border="0" align="middle" width="50%"&gt; --&gt;
   &lt;table id="cdr"&gt;
   &lt;thead&gt;
    &lt;th&gt;From&lt;/th&gt;
    &lt;th&gt;To&lt;/th&gt;
    &lt;th&gt;Call Type&lt;/th&gt;
    &lt;th&gt;Destination&lt;/th&gt;
    &lt;th&gt;Time (UTC)&lt;/th&gt;
    &lt;th&gt;Duration (s)&lt;/th&gt;
    &lt;th&gt;Cost&lt;/th&gt;
   &lt;/thead&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****02721082986&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Greece&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 04:45:06&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5897*****31&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 04:47:11&lt;/td&gt;
              &lt;td class=duration&gt;30&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5898636673&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 05:28:46&lt;/td&gt;
              &lt;td class=duration&gt;1080&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5895092339&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 16:26:35&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58408410407&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 16:27:34&lt;/td&gt;
              &lt;td class=duration&gt;42&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58451317561&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 16:29:11&lt;/td&gt;
              &lt;td class=duration&gt;786&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5895092339&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 16:42:56&lt;/td&gt;
              &lt;td class=duration&gt;4188&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58408213087&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 20:49:39&lt;/td&gt;
              &lt;td class=duration&gt;36&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58405717753&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-16 16:25:29&lt;/td&gt;
              &lt;td class=duration&gt;1242&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58442554171&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-17 06:52:00&lt;/td&gt;
              &lt;td class=duration&gt;114&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****02107787307&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Greece&lt;/td&gt;
              &lt;td class=time&gt;2005-12-10 22:18:02&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****02107787307&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Greece&lt;/td&gt;
              &lt;td class=time&gt;2005-12-10 22:18:02&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****02721082986&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Greece&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 04:45:06&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5897*****31&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 04:47:11&lt;/td&gt;
              &lt;td class=duration&gt;30&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5898636673&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 05:28:46&lt;/td&gt;
              &lt;td class=duration&gt;1080&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5895092339&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 16:26:35&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58408410407&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 16:27:34&lt;/td&gt;
              &lt;td class=duration&gt;42&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58451317561&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 16:29:11&lt;/td&gt;
              &lt;td class=duration&gt;786&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5895092339&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 16:42:56&lt;/td&gt;
              &lt;td class=duration&gt;4188&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58408213087&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 20:49:39&lt;/td&gt;
              &lt;td class=duration&gt;36&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58405717753&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-16 16:25:29&lt;/td&gt;
              &lt;td class=duration&gt;1242&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58442554171&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-17 06:52:00&lt;/td&gt;
              &lt;td class=duration&gt;114&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5898636673&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-18 16:25:38&lt;/td&gt;
              &lt;td class=duration&gt;612&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5895092339&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-14 16:54:13&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58408410407&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-14 16:55:10&lt;/td&gt;
              &lt;td class=duration&gt;30&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5898636673&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-15 02:27:59&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5898636673&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-18 16:25:38&lt;/td&gt;
              &lt;td class=duration&gt;612&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5895092339&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-14 16:54:13&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****58408410407&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-14 16:55:10&lt;/td&gt;
              &lt;td class=duration&gt;30&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****5898636673&lt;/td&gt;
              &lt;td class=call_type&gt;International&lt;/td&gt;
              &lt;td class=destination&gt;Finland&lt;/td&gt;
              &lt;td class=time&gt;2005-11-15 02:27:59&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3381220&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-20 03:42:41&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3381220&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-20 03:43:12&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3381220&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-20 03:43:41&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3381220&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-20 03:49:24&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****4098805&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 23:41:26&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****4098805&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 23:41:51&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3381220&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 23:42:24&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3209699&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-13 23:47:00&lt;/td&gt;
              &lt;td class=duration&gt;564&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3381220&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-14 02:27:16&lt;/td&gt;
              &lt;td class=duration&gt;36&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3381220&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-14 02:28:19&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****4489160&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-15 15:58:19&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="odd"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****3381220&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-15 15:58:41&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr class="even"&gt;
              &lt;td class=from&gt;*****0500073&lt;/td&gt;
              &lt;td class=to&gt;*****8419245&lt;/td&gt;
              &lt;td class=call_type&gt;National&lt;/td&gt;
              &lt;td class=destination&gt;United States&lt;/td&gt;
              &lt;td class=time&gt;2005-11-15 16:05:25&lt;/td&gt;
              &lt;td class=duration&gt;0&lt;/td&gt;
              &lt;td class=cost&gt;       0.00&lt;/td&gt;
          &lt;/tr&gt;
       &lt;tr cla

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-02-26 09:12 UTC] tony2001@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.1-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.1-win32-latest.zip


 [2006-02-27 18:16 UTC] phuttunen at digifonica dot com
Tried with a CVS snapshot (php5.1-200602271530), but the code still fails.
 [2006-03-01 08:54 UTC] tony2001@php.net
Assigned to the maintainer.
 [2006-03-02 15:21 UTC] dmitry@php.net
The bug is not releated to ext/soap.

It is probably releated to somplexml, but I cannot reproduce it. May be you have very small memory_limit setting in yor php.ini?
 [2006-03-02 17:53 UTC] phuttunen at digifonica dot com
Tested with higher memory_limit values (10M, 20M, 40M, 200M), but could not get the code to work.
I agree that the problem it more like simplexml than soap, but it's the soap response that causes simplexml to fail.
I created another test program (http://www3.telus.net/pena/test_parse_xml-2.php.txt) that should show the problem more clearly. Change variable 'make_simple_xml_that_works=1' on line 6 to see the expected output. Set the variable to 0 to see the incorrect output.
 [2006-03-06 22:21 UTC] phuttunen at digifonica dot com
Tested with various PHP versions and libxml2-2.6.23.
The example codes work fine with PHP-5.0.4 and 5.0.5 (w/libxml-2.6.23), but not with any PHP-5.1.X versions. 
This implies that the problem is also related to PHP/SOAP and not just SimpleXML.
 [2006-03-10 13:57 UTC] dmitry@php.net
I still cannot reproduce memory overflow with your new code.

The output is different dependent on 'make_simple_xml_that_works', but seems this is not a bug. Seems simplexml should produce such output by design.

The test script doesn't use ext/soap, so the bug cannot be ext/soap dependent. 

Reassigned to simplexml maintainer.
 [2006-03-13 10:31 UTC] helly@php.net
Please provide a backtrace.

The most interesting information would be to set a brakepoint on zend_error() and show the backtrace. It would further more be interesting to run this thing in valgrind/memcheck.

And please stop flooding the bug site or this bug will simply be closed. You made it impossible to get any relevant information here.
 [2006-03-24 22:19 UTC] wbotkin at digifonica dot com
Additional information:
 This bug can be split into three parts:

1)Different soap servers (different versions of PHP) are handeling the base64 type differently. Earlier version are sending it as base64 encoded, later are not. 

2)The soap client sees the base64 type and tries to base64 decode the value (but some servers don't send it base64 encoded). The memory exhaustion error seems to come from this attempt to base64 decode a value that is not a base64 value.

3)There are still xml bugs with the simple xml. We were mistaken to think that the memory exhaustion error had to do with the xml parsing. But there are cases where simple xml does fail for no apparent reason. 

Notes:
 The memory exhaustion error may not be re-producible on a single machine. The difference between the client and the server in handeling native base64 types in xml seems to be the issue.
 [2006-08-24 16:06 UTC] tony2001@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip


 [2006-09-01 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Wed Jun 26 06:01:26 2019 UTC