PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

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