Edit report at https://bugs.php.net/bug.php?id=50547&edit=1
ID: 50547 Comment by: dp0 at yandex dot ru Reported by: rsumibcay at reddoor dot biz Summary: SoapServer Fatal errror in WSDL mode Status: Open Type: Bug Package: SOAP related Operating System: Ubuntu Linux PHP Version: 5.2.12 Block user comment: N Private report: N New Comment: Encoding: Violation of encoding rules was my problem too, when trying to work with WSDL created in JAVA. The problem was solved by moving to using the 1.2 version of SOAP on server and client. Previous Comments: ------------------------------------------------------------------------ [2011-08-17 14:28:34] chinigo at gmail dot com mdekrijger's suggestion about disabling Xdebug worked for me too. Adding xdebug_disable() immediately before the SOAP call resulted in a Fatal SOAP error being converted to a catchable SOAP fault. ------------------------------------------------------------------------ [2011-02-24 16:00:36] mdekrijger at e-sites dot nl Xdebug might be the problem. When using xdebug_disable() before calling the handle() method, the server responds with a proper SOAP message which says that something went wrong. ------------------------------------------------------------------------ [2011-02-24 09:54:31] mdekrijger at e-sites dot nl Does anyone have an alternative solution for this problem? (while this bug remains open?) We really want to provide some information about the wrong type in the return soap response. So implementing our SOAP services would be a much easier job. ------------------------------------------------------------------------ [2010-02-01 09:48:05] jitka at darbujanova dot cz I can confirm this. (http://bugs.php.net/bug.php?id=50895) ------------------------------------------------------------------------ [2009-12-21 20:18:01] rsumibcay at reddoor dot biz Description: ------------ SoapServer dies with fatal error in WSDL mode when a soap argument is a ComplexType with a member defined as int in the XSD, but the member value is passed as a non-numeric string. Reproduce code: --------------- 1. Define a ComplexType with an int data member: http://crkt190.reddoor.biz/fatalerror/complex_types.xsd 2. Define a WSDL that uses the ComplexType as an argument to the soap function: http://crkt190.reddoor.biz/fatalerror/fatalerror.wsdl 3. Create a soap envelope with a non-numeric string as the value for the int data member: http://crkt190.reddoor.biz/fatalerror/fatalerror-soap-envelope.xml 4. Make a soap request using the soap envelope in step 3. Expected result: ---------------- The SoapServer should not die with a fatal error. The SoapServer should respond with a SoapFault, or let the call pass through so the business logic (mapped handler) can do validation and handle the error appropriately. Actual result: -------------- 500 HTTP response from server. The HTTP response body contains an error message and stack trace. Fatal error: SOAP-ERROR: Encoding Violation of encoding rules in ... ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=50547&edit=1