Edit report at https://bugs.php.net/bug.php?id=42223&edit=1

 ID:                 42223
 Comment by:         dsimon at roullier dot com
 Reported by:        j8859 at clix dot pt
 Summary:            SoapServer truncates XML document if Server Class
                     includes UTF8 file
 Status:             Bogus
 Type:               Bug
 Package:            SOAP related
 Operating System:   Linux
 PHP Version:        5.2.4RC1
 Assigned To:        dmitry
 Block user comment: N
 Private report:     N

 New Comment:

I had the same problem, because of the encoding of my PHP file containing
my web service (and SoapServer call).

Encoding the file in UTF-8 (Without BOM !) solved my problem.


Previous Comments:
------------------------------------------------------------------------
[2007-08-31 10:55:58] dmi...@php.net

Just look into util-UTF8.php and remove first three bytes.
It seems like a UTF-8 prefix for some Windows editor.

------------------------------------------------------------------------
[2007-08-06 19:33:52] j8859 at clix dot pt

Description:
------------
SoapServer truncates XML document if the Server Class includes a UTF8 file.
The error only occurs if the XML document returned is larger than 8000 bytes. 
In this case, tha XML document is truncated in the last 3 bytes.

The BOM [Byte-Order Mark] also is 3 bytes long, could it be related with the 
bug?


Reproduce code:
---------------
There are a lot of files involved.
Download them from: http://web.ioio.info/wstest/wstest.zip
You can see the bug here: http://web.ioio.info/wstest/client.php

You can download the ZIP file, extract it to an Apache directory, correct all 
addresses: change "web.ioio.info/wstest" for your own address in all files, and 
try the following in the TestWS.php file:

1)
uncomment [require_once "util-ANSI.php";]
comment [require_once "util-UTF8.php";]
-> The error doesn't occur

2)
On line 14, replace "800" by "700" (the XML document will be smaller than 8000 
bytes)
-> The error doesn't occur


Expected result:
----------------
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
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/";><SOAP-ENV:Body><SOAP-ENV:testResponse><return
 xsi:type="xsd:string">0123456789
...(800 times: 0123456789)... 
0123456789</return></SOAP-ENV:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>


Actual result:
--------------
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
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/";><SOAP-ENV:Body><SOAP-ENV:testResponse><return
 xsi:type="xsd:string">0123456789
...(800 times: 0123456789)... 
0123456789</return></SOAP-ENV:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelop

-> Misses the last 3 chars: "e>\n"


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=42223&edit=1

Reply via email to