Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 0.14.0

Bug #2877 BUG: Response named as "Return"
Submitted: 2004-12-03 09:50 UTC
From: pear dot php dot net at inxon dot de Assigned: yunosh
Status: Duplicate Package: SOAP
PHP Version: 4.3.4 OS:
Roadmaps: (Not assigned)    
Subscription  
Comments Add Comment Add patch


Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know! Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem : 50 + 6 = ?

 
 [2004-12-03 09:50 UTC] pear dot php dot net at inxon dot de
Description: ------------ [See PEAR::SOAP <return> tag trouble in migration to PEAR::SOAP from NuSOAP in newsgroup pear.soap] Sometimes SOAP::PEAR responds with an additional <Return>-Tag around the response. This return-Tag is not part of the wsdl and many SOAP-Clients fail, so this is a serious bug. SOLUTION: Edit Server.php [Lines 270 ...] Original: ... if (is_array($return_type) && is_array($method_response)) { $i = 0; foreach ($return_type as $key => $type) { ... BUGFIX: ... /* 2004-12-03 (rs) */ if (is_array($return_type) || /* !!! */ is_array($method_response)) { $i = 0; if (is_array($return_type)) $_rt=$return_type; else $_rt=$method_response; foreach ($_rt /* !!! */ as $key => $type) { ... Hope this helps, Rgs - Ro!and. Reproduce code: --------------- ... return array('lastStatus' => 'ok'); Expected result: ---------------- <lastStatus xsi:type="xsd:string">ok</lastStatus> Actual result: -------------- <return xsi:type="xsd:string"> <lastStatus xsi:type="xsd:string">ok</lastStatus></return></ns4:reportInResponse>

Comments

 [2005-02-22 10:39 UTC] smith at backendmedia dot com
thx .. hopefully someone will soon take care of the buzg report. could you use unified diffs in the future to provide more context about your patch?
 [2005-05-27 22:19 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2005-05-27 22:40 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2006-08-11 09:49 UTC] JW00000 at gmail dot com (JW)
This same bug happened to me, and the fix provided solved the problem. The problem happened to me when creating a SOAP Server that automatically "translated" a WSDL file into PHP. I had the following function, mapped to the server: function GetNote($id) { return array( new SOAP_Value('id', 'int', $id), new SOAP_Value('title', 'string', 'Title'), new SOAP_Value('tags', 'string', 'ta, gs'), new SOAP_Value('content', 'string', 'note') ); } Hereupon, the server reponded the following: ... <SOAP-ENV:Body> <ns4:GetNoteResponse> <return> <id>1</id> <title>Title</title> <tags>ta, gs</tags> <content>note</content> </return> </ns4:GetNoteResponse> </SOAP-ENV:Body> ... But, according to my WSDL, there shouldn't be any <return>s. I edited the Server.php with the fix provided above, and the bug was solved. I hope this fix can be added to a new version of PEAR::SOAP soon, as it seems like this bug report got submitted quite a time ago, and it still didn't got patched. It also doesn't seem a duplicate of bug 2694, since that error got fixed and this one still happens to me.