From:             w dot antoine at free dot fr
Operating system: Windows 2000
PHP version:      5.2.1
PHP Bug Type:     SOAP related
Bug description:  minOccurs="0" and null class member variable

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 bug report at http://bugs.php.net/?id=41004&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=41004&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=41004&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=41004&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=41004&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=41004&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=41004&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=41004&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=41004&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=41004&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=41004&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=41004&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=41004&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=41004&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=41004&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=41004&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=41004&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=41004&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=41004&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=41004&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=41004&r=mysqlcfg

Reply via email to