ID: 42692 Comment by: rruckley at gmail dot com Reported By: michael dot tutty at gmail dot com Status: Feedback Bug Type: SOAP related Operating System: SuSE 10.2 PHP Version: 5CVS-2007-09-18 (snap) Assigned To: dmitry New Comment:
I also have this same error and its driving me batty. I have four other operations defined in my WSDL file with single parameters and they all work. This is the only operation with two parameters and it does not. It complains about procedure 'peid' not present yet this is the name of the first parameter of the function so it is obviously confused. Creating a function called 'peid' also makes no difference. My WSDL file is http://netdb.alphawest.com.au/xml/wsdl/netdb.wsdl I can paste my code if you wish. Previous Comments: ------------------------------------------------------------------------ [2007-11-01 12:10:02] [EMAIL PROTECTED] Sorry, but I am not able to fix the bug without reprodusable case. ------------------------------------------------------------------------ [2007-10-18 13:29:01] michael dot tutty at gmail dot com 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. ------------------------------------------------------------------------ [2007-10-18 11:29:33] [EMAIL PROTECTED] 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