Used converters of BeSimple\SoapCommon for SoapServer

This commit is contained in:
Francis Besset
2011-09-13 20:47:35 +02:00
parent ecc3ec3c93
commit 864cf22895
11 changed files with 23 additions and 252 deletions

View File

@ -10,8 +10,9 @@
namespace BeSimple\SoapBundle\Soap;
use BeSimple\SoapBundle\Converter\ConverterRepository;
use BeSimple\SoapCommon\Cache;
use BeSimple\SoapCommon\Converter\TypeConverterCollection;
use Zend\Soap\Wsdl;
/**
@ -24,7 +25,7 @@ class SoapServerFactory
private $converters;
private $options;
public function __construct($wsdlFile, array $classmap, ConverterRepository $converters, array $options = array())
public function __construct($wsdlFile, array $classmap, TypeConverterCollection $converters, array $options = array())
{
$this->wsdlFile = $wsdlFile;
$this->classmap = $this->fixSoapServerClassmap($classmap);
@ -77,15 +78,15 @@ class SoapServerFactory
{
$typemap = array();
foreach($this->converters->getTypeConverters() as $typeConverter) {
foreach($this->converters->all() as $typeConverter) {
$typemap[] = array(
'type_name' => $typeConverter->getTypeName(),
'type_ns' => $typeConverter->getTypeNamespace(),
'from_xml' => function($input) use ($request, $typeConverter) {
return $typeConverter->convertXmlToPhp($request, $input);
'from_xml' => function($input) use ($typeConverter) {
return $typeConverter->convertXmlToPhp($input);
},
'to_xml' => function($input) use ($response, $typeConverter) {
return $typeConverter->convertPhpToXml($response, $input);
'to_xml' => function($input) use ($typeConverter) {
return $typeConverter->convertPhpToXml($input);
},
);
}