Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.5.5

Bug #1874 server breaks down when included file terminates with whitespace
Submitted: 2004-07-14 15:52 UTC
From: ignatius dot reilly at free dot fr Assigned: danielc
Status: Bogus Package: XML_RPC
PHP Version: 4.3.7 OS: Windows 2000
Roadmaps: (Not assigned)    
Subscription  


 [2004-07-14 15:52 UTC] ignatius dot reilly at free dot fr
Description: ------------ A XML-RPC server file includes the service function from another file When the included file terminates with whitespaces after the final "?>", the service client interprets the response inconsistently and breaks down the service Reproduce code: --------------- Download test case: http://www.auderghem-analytica.com/download/XML-RPC_bug.zip Please toy with the whitespace at the end of ws.test.php and inspect the client's response object Expected result: ---------------- --> <methodResponse> <params> <param> <value><string>Now it works</string></value> </param> </params> </methodResponse> ---END--- ---EVALING---[43 chars]--- new XML_RPC_Value("Now it works", 'string'); ---END--- Actual result: -------------- --> <methodResponse> <params> <param> <value><string>Now it works</string></value> </param> </params> </methodResponse> ---END--- Fault: Code: 2 Reason 'Invalid return payload: enabling debugging to examine incoming payload' Clearly inconsistent!

Comments

 [2004-11-30 22:36 UTC] techtonik at tut dot by
Server component use header() function to provide some required headers by both HTTP and XML-RPC protocols. Headers must be sent before any output to client. While including files with whitespaces after ?> you make whitespaces appear before headers. http://www.php.net/manual/en/function.header.php "Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file."
 [2004-12-01 07:06 UTC] ignatius dot reilly at free dot fr
this is quite clear. what puzzles me, though, is the inconsistency of the response, which makes debugging difficult. A fault response would be more appropriate in this case.
 [2004-12-29 22:04 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!