ID:               43723
 Updated by:       [EMAIL PROTECTED]
 Reported By:      mcordell at authorize dot net
-Status:           No Feedback
+Status:           Closed
 Bug Type:         SOAP related
 Operating System: Windows XP Pro
 PHP Version:      5.2.5
 Assigned To:      dmitry
 New Comment:

This bug has been fixed in CVS.

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:
------------------------------------------------------------------------

[2008-10-15 01:00:01] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

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

[2008-10-07 12:57:18] [EMAIL PROTECTED]

The wsdl file is not accessible. Could you please provide a valid link.

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

[2007-12-31 20:34:25] mcordell at authorize dot net

Description:
------------
The wsdl contains a <choice> element. When the SOAP client sends the
first element of the choice (ItemA) it works but if it sends the second
one (ItemB) instead, the xml does not get sent.


Reproduce code:
---------------
The WSDL can be found HERE:
http://www.youshare.com/view.php?file=BoxWebService.wsdl.txt


<?php

class ItemA {
    public $myname;
}
class ItemB {
    public $mynumber;
}
class Box {
    public $myitemA;
    public $myitemB;
}
class Foo {
        public $mybox;
}

$ws = new SoapClient("http://someurl.com/BoxWebService.asmx?wsdl";,
array('trace' => 1));
$req = new Foo();
$req->mybox = new Box();
if (FALSE) {
        $req->mybox->myitemA = new ItemA();
        $req->mybox->myitemA->myname = "somename";
} else {
        $req->mybox->myitemB = new ItemB();
        $req->mybox->myitemB->mynumber = 123;
}
$resp = $ws->__soapCall("Foo", array("Foo" => $req));
echo "Raw request: " . htmlspecialchars($ws->__getLastRequest()) .
"<br><br>";
echo "Raw response: " . htmlspecialchars($ws->__getLastResponse()) .
"<br><br>";
echo htmlspecialchars($resp->FooResult) . "<br><br>";

?>

Expected result:
----------------
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns1="http://someurl.com/BoxWebService/";><SOAP-ENV:Body><ns1:Foo><ns1:mybox><ns1:myitemB><ns1:mynumber>123</ns1:mynumber></ns1:myitemB></ns1:mybox></ns1:Foo></SOAP-ENV:Body></SOAP-ENV:Envelope>



Actual result:
--------------
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns1="http://someurl.com/BoxWebService/";><SOAP-ENV:Body><ns1:Foo><ns1:mybox/></ns1:Foo></SOAP-ENV:Body></SOAP-ENV:Envelope>




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


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

Reply via email to