ZF-5430: Wrong complex type handling in strategy ArrayOfTypeSequence

Description

If a class defines multiple return parameters of i.e types int[] or string[] the strategy only resolves the first return parameter correctly.

Example Class:

 
class ExampleClass
{
        /**               
     * @param string $foo    
     * @return string[]
     */
    public function fooRequest($foo)
    {       
       // code  
    }
    
    /**               
     * @param string $bar    
     * @return string[]
     */
    public function barRequest($bar)
    {       
       // code  
    }
    
    /**               
     * @param string $zoz    
     * @return string[]
     */
    public function zozRequest($zoz)
    {       
       // code
    }   
}

The problem is a wrong used variable in the method "addComplexType".

The line 44 in file Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence


$this->getContext()->addType($type);

should be


$this->getContext()->addType($complexTypeName);

Comments

Hello,

could you please post the XML file generated from AutoDiscover also?

What are the specific problems that you experience due to this failure?

In my opinion this works correclty, since you have to define complex types only once but can re-use them in the message definitions. My regression-test also shows the correct behaviour.

Fixed in svn, will be included in next minor versoin 1.8 - Can you please test the fucntionality Christian with your use-case?

Moved to 1.7 release branch, will be included in 1.7.4

correct fix version