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 #6371

Pear Soap 0.9.1 not working on PHP 5.1.1

Details

Submitted2005-12-29 22:37 UTC
Fromstef_vdp at hotmail dot com
Assignedyunosh
StatusClosed
PackageSOAP
PHP Version5.1.1
OSWindows XP
Roadmaps(Not assigned)

Comments

[2005-12-29 22:37 UTC] stef_vdp at hotmail dot com

Description:
------------
Fail to use PEAR\SOAP\example\client.php as test script
(any soap call fails, except request for WSDL)

Note:

Switching off notice errors returns a 'Page cannot be displayed' (MS IE browser error)

Test script:
---------------
I used PEAR\SOAP\example\client.php of SOAP 0.9.1

Expected result:
----------------
Under PHP 5.0.4 it returns:

this is a test string
this is a test string
Error: SOAP request contained mismatching parameters of name dividend had type [string], which did not match signature's type: [int], matched? -10
Error: SOAP request contained mismatching parameters of name dividend had type [string], which did not match signature's type: [int], matched? -10
SOAP_Fault Object ( [error_message_prefix] => [mode] => 1 [level] => 1024 [code] => HTTP [message] => [userinfo] => [backtrace] => Array ( [0] => Array ( [file] => C:\php\PEAR\SOAP\Fault.php [line] => 52 [function] => PEAR_Error [class] => SOAP_Fault [type] => -> [args] => Array ( [0] => [1] => HTTP [2] => [3] => [4] => ) ) [1] => Array ( [file] => C:\php\PEAR\SOAP\Base.php [line] => 222 [function] => SOAP_Fault [class] => SOAP_Fault [type] => -> [args] => Array ( [0] => [1] => HTTP [2] => [3] => [4] => [5] => ) ) [2] => Array ( [file] => C:\php\PEAR\SOAP\Transport\HTTP.php [line] => 401 [function] => _raiseSoapFault [class] => SOAP_Transport_HTTP [type] => -> [args] => Array ( [0] => ) ) [3] => Array ( [file] => C:\php\PEAR\SOAP\Transport\HTTP.php [line] => 528 [function] => _parseResponse [class] => SOAP_Transport_HTTP [type] => -> [args] => Array ( ) ) [4] => Array ( [file] => C:\php\PEAR\SOAP\Transport\HTTP.php [line] => 152 [function] => _sendHTTP [class] => SOAP_Transport_HTTP [type] => -> [args] => Array ( [0] => test string 123 123.123 [1] => Array ( [trace] => 1 [input] => parse [result] => parse [parameters] => [namespace] => urn:SOAP_Example_Server [style] => rpc ) ) ) [5] => Array ( [file] => C:\php\PEAR\SOAP\Client.php [line] => 322 [function] => send [class] => SOAP_Transport_HTTP [type] => -> [args] => Array ( [0] => test string 123 123.123 [1] => Array ( [trace] => 1 [input] => parse [result] => parse [parameters] => [namespace] => urn:SOAP_Example_Server [style] => rpc ) ) ) [6] => Array ( [file] => c:\cygwin\home\htdocs\326701eslb\Soft\Ser\webservices\test\client.php [line] => 78 [function] => call [class] => SOAP_Client [type] => -> [args] => Array ( [0] => echoStruct [1] => Array ( [inputStruct] => SOAP_Value Object ( [value] => Array ( [0] => SOAP_Value Object ( [value] => test string [name] => varString [type] => string [namespace] => [type_namespace] => [attributes] => Array ( ) [arrayType] => [options] => Array ( ) [nqn] => QName Object ( [name] => varString [ns] => [namespace] => ) [tqn] => QName Object ( [name] => string [ns] => [namespace] => ) [type_prefix] => ) [1] => SOAP_Value Object ( [value] => 123 [name] => varInt [type] => int [namespace] => [type_namespace] => [attributes] => Array ( ) [arrayType] => [options] => Array ( ) [nqn] => QName Object ( [name] => varInt [ns] => [namespace] => ) [tqn] => QName Object ( [name] => int [ns] => [namespace] => ) [type_prefix] => ) [2] => SOAP_Value Object ( [value] => 123.123 [name] => varFloat [type] => float [namespace] => [type_namespace] => [attributes] => Array ( ) [arrayType] => [options] => Array ( ) [nqn] => QName Object ( [name] => varFloat [ns] => [namespace] => ) [tqn] => QName Object ( [name] => float [ns] => [namespace] => ) [type_prefix] => ) ) [name] => inputStruct [type] => SOAPStruct [namespace] => [type_namespace] => http://soapinterop.org/xsd [attributes] => Array ( ) [arrayType] => [options] => Array ( ) [nqn] => QName Object ( [name] => inputStruct [ns] => [namespace] => ) [tqn] => QName Object ( [name] => SOAPStruct [ns] => [namespace] => http://soapinterop.org/xsd ) [type_prefix] => ) ) [2] => Array ( [namespace] => urn:SOAP_Example_Server [trace] => 1 ) ) ) ) [callback] => ) varString: test string
varInt: 123
varFloat: 123.123

Actual result:
--------------
Notice: Only variable references should be returned by reference in C:\php\PEAR\SOAP\Value.php on line 113

Notice: Only variable references should be returned by reference in C:\php\PEAR\SOAP\Transport.php on line 63
SOAP_Fault Object ( [error_message_prefix] => [mode] => 1 [level] => 1024 [code] => Parser [message] => XML error on line 2 col 1 byte 7 Invalid document end [userinfo] => <br /> <b>Notice</b>: Only variable references should be returned by reference in <b>C:\php\PEAR\SOAP\Parser.php</b> on line <b>499</b><br /> <br /> <b>Notice</b>:

and so on....

[2006-01-05 15:26 UTC] chad at rtdns dot com

I'm seeing a similar problem with SOAP and PHP 5.1.1: we're migrating a server from PHP 4.x and Apache 1.3 to a shiny new Apache 2.0 and PHP 5.1.1 machine, and some SOAP requests fail. It seems to be somewhat data- and size-dependent: we can trade small packets such as session keys and message IDs, but people can't upload things like their logo graphic.

We're seeing a segfault in the main Apache log for the failing requests, sometime after the service method is called on the SOAP server. So it all compiles fine, but something is broken somewhere. FWIW, this is happening both for current release (0.9.1) and whatever older version we had on our previous server, when that's placed under the PHP 5.1.1 environment.