NuSOAP support for PHP 5.4

If you’ve been using or maintaining support for NuSOAP lately, you’ve certainly realized that it does not work properly anymore.

This is because NuSOAP isn’t maintained anymore, so a lot of things are bound to stop working as PHP versions drop support (or tolerance) for specific code.

Well apparently, there are fixes around. Notably, for PHP 5.4, there’s an error about converting an array to a string, in a debug message, that breaks it considerably when using arrays. You can fix that by commenting line 6133 of nusoap.php (the //$this->debug… line below)

 $rows = sizeof($value);
 $contents = '';
 foreach($value as $k => $v) {
     //$this->debug("serializing array element: $k, $v of type: $typeDef[arrayType]");
     //if (strpos($typeDef['arrayType'], ':') ) {
     if (!in_array($typeDef['arrayType'],$this->typemap['http://www.w3.org/2001/XMLSchema'])) {
         $contents .= $this->serializeType('item', $typeDef['arrayType'], $v, $use);
     } else {
         $contents .= $this->serialize_val($v, 'item', $typeDef['arrayType'], null, $this->XMLSchemaVersion, false, $use);
     }
 }

 

 

 

It's only fair to share...Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
Email this to someone
email
Posted in:

Leave a Reply

Your email address will not be published. Required fields are marked *