Craig Brass Systems Forum: Common Problems - Craig Brass Systems Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

Common Problems

#1
User is offline   Andrew Gillard 

  • Staff - Lead Developer
  • Pip
  • Group: Developers
  • Posts: 97
  • Joined: 04-March 07
  • Gender:Male
  • Location:Basingstoke, United Kingdom
  • Versions of PHP built against libxml 2.6.32 or later cause buggy behaviour (namely silently dropping XML entities such as <, > and & from the data stream) in the NuSOAP client (possibly also in the NuSOAP server and/or the native PHP SOAP library). This is currently being worked on by the PHP team, but in the meantime the only workaround is to recompile PHP against a libxml version earlier than 2.6.32. (Thanks to Andrew Swingler for alerting us and researching the issue and workaround)
  • Uploading of empty (i.e. zero-byte) attachments will fail in all current versions of PHP (at least up to 5.3.1; tested in a 2010-01-04 snapshot of 5.3.3) due to a bug in the copy() function. I have reported this as a bug in PHP. Until this is fixed, you can either use the below patch or simply have it continue to fail on empty attachments. This is, in my opinion, not a serious enough problem to justify releasing a new version of the API, however this patch (applied to integrationapi/lib/wsdl.php) should suffice (the patch is also attached as a file to this post: Attached File  wsdl.php_20100104.patch (658bytes)
    Number of downloads: 5):
    --- wsdl.php    2010-01-04 17:29:56.000000000 +0000
    +++ wsdl.php    2010-01-04 17:30:23.000000000 +0000
    @@ -57,7 +57,7 @@
                    $_FILES['opt_file']['tmp_name'] = array();
                    $_FILES['opt_file']['error'] = array();
                    foreach ($attachments as $attachment) {
    -                       if (($tmp_name = @tempnam('/tmp', 'kayako-api-upload_')) && @copy($attachment['url'], $tmp_name)) {
    +                       if (($tmp_name = @tempnam('/tmp', 'kayako-api-upload_')) && (@copy($attachment['url'], $tmp_name) || file_exists($tmp_name))) {
                                    $_FILES['opt_file']['name'][] = $attachment['name'];
                                    $_FILES['opt_file']['type'][] = $attachment['type'];
                                    $_FILES['opt_file']['size'][] = filesize($tmp_name);

This post has been edited by Andrew Gillard: 05 January 2010 - 08:41 AM
Reason for edit: Zero-byte attachments bug

Andrew Gillard
Lead Developer - Craig Brass Systems
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users