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

Reply via email to