PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Web Services » SOAP » Bug #7826

Missing datatype cause segmentation fault

Details

Submitted2006-06-07 10:27 UTC
Fromkutilm at fel dot cvut dot cz
StatusNo Feedback
PackageSOAP
PHP Version5.1.4
OSLinux
Roadmaps(Not assigned)

Comments

[2006-06-07 10:27 UTC] kutilm at fel dot cvut dot cz

Description:
------------
I use Matlab soap client to connect to soap server based on this package. Matlab don't send data type (int) for data. I don't know if it is all right with specification. But if server obtain data without data type specification it fall down (apache with mod_php fall down) and Matlab return: "unable to get a response from the server". Data which Matlab sends to the server are:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:n="urn:SOAP_Example_Server" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<n:secti>
<a>5</a>
<b>2</b>
</n:secti>
</soap:Body>
</soap:Envelope>

"secti" is a function name returns the sum of 'a' and 'b'.

Thank you.

[2006-06-07 11:38 UTC] kutilm at fel dot cvut dot cz

I use it in a big program but here is a small part of server class definition:

class Secti_Server {
var $__dispatch_map = array();

function Secti_Server() {
$this->__dispatch_map['secti'] =
array('in' => array('a' => 'int', 'b' => 'int'),
'out' => array('outputInt' => 'int'),
);
}
function __dispatch($methodname) {
if (isset($this->__dispatch_map[$methodname]))
return $this->__dispatch_map[$methodname];
return NULL;
}

function secti($a,$b)
{
return $a+$b;
}
}

Interesting is that if you delete __dispatch function, everything is OK.
Thanks you Michal