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

Reply via email to