The exposure of complex type properties was done only with public property.
Now you can expose properties and public methods.
Before:
In a complex type:
/**
* @var string
*/
public $var;
After:
In a complex type:
use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap;
/**
* @Soap\PropertyComplexType("string", name="var", nillable="true")
*/
public $username;
private $email;
/**
* @Soap\MethodComplexType("string", name="email", nillable="true", setter="setEmail")
*/
public function getEmail()
{
return $this->email;
}
public function setEmail($email)
{
$this->email = $email;
}
name, nillable are optionnal.
setter is optional and only available for MethodComplexType.