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
Posted by Benjamin Eberlei (beberlei) on 2009-01-08T23:50:04.000+0000
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.
Posted by Benjamin Eberlei (beberlei) on 2009-01-22T12:53:52.000+0000
Fixed in svn, will be included in next minor versoin 1.8 - Can you please test the fucntionality Christian with your use-case?
Posted by Benjamin Eberlei (beberlei) on 2009-01-29T11:30:52.000+0000
Moved to 1.7 release branch, will be included in 1.7.4
Posted by old of Satoru Yoshida (yoshida@zend.co.jp) on 2009-04-01T04:41:27.000+0000
correct fix version