#42692 [Fbk->Opn]: Procedure 'int1' not present with doc/lit SoapServer
| From: | michael dot tutty at gmail dot com | Date: | Thu, 18 Oct 2007 13:29:02 +0000 |
| Subject: | #42692 [Fbk->Opn]: Procedure 'int1' not present with doc/lit SoapServer | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-118665@lists.php.net to get a copy of this message | ||
ID: 42692
User updated by: michael dot tutty at gmail dot com
Reported By: michael dot tutty at gmail dot com
-Status: Feedback
+Status: Open
Bug Type: SOAP related
Operating System: SuSE 10.2
PHP Version: 5CVS-2007-09-18 (snap)
Assigned To: dmitry
New Comment:
No, it hasn't, and I can't find the sample code I posted to pastebin.
You can create a simple doc/lit web service with a function
AddNumbers(int one, int two) that returns one + two.
Using the SOAPClient class should return the error. Not that this seems
to be a boundary condition issue, since a function with no parameters or
one parameter will work.
Previous Comments:
------------------------------------------------------------------------
[2007-10-18 11:29:33] dmitry@php.net
So the bug has already fixed?
http://pastebin.com/m786a07d4 contains nothing, so I
cannot look into
it.
------------------------------------------------------------------------
[2007-09-21 02:49:57] deathemperor at gmail dot com
Just found this bug yesterday from my co-worker. Fixed it today by
changing the filename which I think it's caching problem. You can avoid
changing filename by setting soap.wsdl_cache_enabled = 1 using
ini_set().
Hope this helps.
------------------------------------------------------------------------
[2007-09-18 03:26:01] michael dot tutty at gmail dot com
Description:
------------
Calling AddNumbers on the sample SOAP server class yields the familiar
"Procedure 'xxx' not present" exception when calling $server->handle().
Calling the reflectString(string) method works. It seems as though the
number of parameters makes a difference.
This seems like a pretty big problem, as it prevents PHP from acting as
a WS-I-compliant service to .NET and Java-based consumers.
I tested with this service class as part of verifying bug 42086. It is
not fixed in this example. Since I'm not the owner of 42086, I am
submitting this report instead.
Reproduce code:
---------------
http://pastebin.com/m786a07d4
Expected result:
----------------
The SoapServer class should recognize the method being called.
Actual result:
--------------
The SoapServer class appears to look for an implementation method that
matches the name of the first Xml tag in the SOAP envelope. I think this
would be correct for rpc/encoded usage, but not for doc/lit.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=42692&edit=1