ID: 41004 User updated by: w dot antoine at free dot fr Reported By: w dot antoine at free dot fr -Status: Feedback +Status: Open Bug Type: SOAP related Operating System: Windows 2000 PHP Version: 5.2.1 New Comment:
Hi The test case (the wsdl file and the client classes are available on: http://w.antoine.free.fr/php-bug-41004-testCase.zip Previous Comments: ------------------------------------------------------------------------ [2007-04-05 19:57:10] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. ------------------------------------------------------------------------ [2007-04-05 12:12:10] w dot antoine at free dot fr Description: ------------ I use the classmap option of the soap client constructed from the WSDL. In my wsdl file i have a complex type with elements where minOccurs=0 et maxOccurs=1. When the corresponding class member is null, an empty element is send. How i can tell the soap client to not send elements when minOccurs=0 and the value is NULL? The webservice server is apache axis Reproduce code: --------------- Complex type definition: <complexType name="SimulateRequest"> <all> <element name="product1Type" type="impl:Product1Type"/> <element name="product1BankCardTypeCd" type="impl:Product1BankCardTypeCd" minOccurs="0"/> </all> </complexType> Php Code to call: $simulationRequest[0]->setProduct1Type("CLA"); $simulationRequest[0]->setProduct1BankCardTypeCd(NULL); Php class SimulateRequest extract: class SimulateRequest{ private $product1Type ; public function getProduct1Type(){ return $this->product1Type; } public function setProduct1Type($param){ $this->product1Type=$param; } private $product1BankCardTypeCd ; public function getProduct1BankCardTypeCd(){ return $this->product1BankCardTypeCd; } public function setProduct1BankCardTypeCd($param){ $this->product1BankCardTypeCd=$param; } Expected result: ---------------- <ns1:simulationRequest> <ns1:product1Type>REV</ns1:product1Type> </ns1:simulationRequest> Actual result: -------------- <ns1:simulationRequest> <ns1:product1Type>REV</ns1:product1Type> <ns1:product1BankCardTypeCd/> </ns1:simulationRequest> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41004&edit=1