Edit report at http://bugs.php.net/bug.php?id=50698&edit=1

 ID:               50698
 Updated by:       dmi...@php.net
 Reported by:      zippy1981 at gmail dot com
 Summary:          SoapClient should handle wsdls with some incompatiable
                   endpoints
-Status:           Assigned
+Status:           Closed
 Type:             Feature/Change Request
 Package:          *General Issues
 Operating System: Windows XP/7 and probably all.
 PHP Version:      5.2.12, 5.3.1
 Assigned To:      dmitry

 New Comment:

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.




Previous Comments:
------------------------------------------------------------------------
[2010-05-05 09:43:48] dmi...@php.net

Automatic comment from SVN on behalf of dmitry
Revision: http://svn.php.net/viewvc/?view=revision&revision=299013
Log: Fixed bug #50698 (SoapClient should handle wsdls with some
incompatiable endpoints). (Justin Dearing)

------------------------------------------------------------------------
[2010-04-02 20:48:18] zippy1981 at gmail dot com

Submitted a new patch with error handling.

------------------------------------------------------------------------
[2010-04-02 17:29:49] zippy1981 at gmail dot com

Below is a patch that helps to fix the behavior. The following problems
remain:



1) If the wsdl contains only non http endpoints, and the location
parameter is 

not specified, a proper error message is not generated.

2) If the wsdl contains only non http endpoints, and the location
parameter is 

specified, the error "Uncaught SoapFault exception: [Client] Function
("echo") 

is not a valid method for this service in File.php:21" is displayed.





Index: ext/soap/php_sdl.c

===================================================================

--- ext/soap/php_sdl.c  (revision 297339)

+++ ext/soap/php_sdl.c  (working copy)

@@ -832,7 +832,12 @@

                                                        if (strncmp((char*)tmp-

>children->content, WSDL_HTTP_TRANSPORT, sizeof(WSDL_HTTP_TRANSPORT)) ==
0) {

                                                                soapBinding-

>transport = SOAP_TRANSPORT_HTTP;

                                                        } else {

-                                                               

soap_error1(E_ERROR, "Parsing WSDL: PHP-SOAP doesn't support transport
'%s'", 

tmp->children->content);

+                                                               // Since this 
is 

an E_NOTICE severity message, it will disappear into the ether.

+                                                               

soap_error1(E_NOTICE, "Parsing WSDL: PHP-SOAP doesn't support transport
'%s'", 

tmp->children->content);

+                                                               

efree(soapBinding);

+                                                               

efree(tmpbinding);

+                                                               trav = trav-

>next;

+                                                               continue;

                                                        }

                                                }

                                        }

------------------------------------------------------------------------
[2010-01-13 20:59:45] zippy1981 at gmail dot com

Thanks for your reply.



On my initial report I posted an example client. In a comment in the 

example client is a link to a github repo with a .NET web service that 

causes this issue (e.g. config file was bound to nettcp):



http://github.com/zippy1981/EchoService



Inside the .net service is also a copy of the PHP client.



The .NET code can be compiled on any windows machine with the free IDE 

SharpDevelop (http://www.icsharpcode.net/OpenSource/SD/Download/)



I can provide a manually generated wsdl  with false endpoints if needed.


I'll gladly help test a fix or provide a mock if needed.

------------------------------------------------------------------------
[2010-01-13 20:29:39] srina...@php.net

thanks for the clarification. if you can provide a test case /script ,
it would help us to work on this. thanks again for taking time for
following up on this. your help will definitely help PHP make better !

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    http://bugs.php.net/bug.php?id=50698


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=50698&edit=1

Reply via email to