New definition of complex type
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.
This commit is contained in:
@ -61,7 +61,7 @@ class ServiceBinder
|
||||
|
||||
$result = array();
|
||||
$result['_controller'] = $methodDefinition->getController();
|
||||
$result = array_merge($result, $this->requestMessageBinder->processMessage($methodDefinition, $arguments));
|
||||
$result = array_merge($result, $this->requestMessageBinder->processMessage($methodDefinition, $arguments, $this->definition->getDefinitionComplexTypes()));
|
||||
|
||||
return $result;
|
||||
}
|
||||
@ -70,7 +70,7 @@ class ServiceBinder
|
||||
{
|
||||
$methodDefinition = $this->definition->getMethods()->get($name);
|
||||
|
||||
return $this->responseMessageBinder->processMessage($methodDefinition, $return);
|
||||
return $this->responseMessageBinder->processMessage($methodDefinition, $return, $this->definition->getDefinitionComplexTypes());
|
||||
}
|
||||
|
||||
protected function createSoapHeader(Header $headerDefinition, $data)
|
||||
|
Reference in New Issue
Block a user