diff --git a/DependencyInjection/BeSimpleSoapExtension.php b/DependencyInjection/BeSimpleSoapExtension.php index e6a271f..faeb6bf 100644 --- a/DependencyInjection/BeSimpleSoapExtension.php +++ b/DependencyInjection/BeSimpleSoapExtension.php @@ -60,8 +60,8 @@ class BeSimpleSoapExtension extends Extension $options = $container ->getDefinition('besimple.soap.context.'.$bindingSuffix) - ->getArgument(6); + ->getArgument(4); - $definition->replaceArgument(6, array_merge($options, $config)); + $definition->replaceArgument(4, array_merge($options, $config)); } } diff --git a/Resources/config/webservice.xml b/Resources/config/webservice.xml index 3dfa981..5b7798f 100644 --- a/Resources/config/webservice.xml +++ b/Resources/config/webservice.xml @@ -19,37 +19,29 @@ - - %besimple.soap.cache_dir% %kernel.debug% + %besimple.soap.binder.request.rpcliteral.class% + %besimple.soap.binder.response.rpcliteral.class% - - %besimple.soap.cache_dir% %kernel.debug% + %besimple.soap.binder.request.documentwrapped.class% + %besimple.soap.binder.response.documentwrapped.class% - - - - - - - - diff --git a/WebServiceContext.php b/WebServiceContext.php index f0acaf6..7303809 100644 --- a/WebServiceContext.php +++ b/WebServiceContext.php @@ -27,8 +27,6 @@ use Symfony\Component\Config\Loader\LoaderInterface; */ class WebServiceContext { - private $requestMessageBinder; - private $responseMessageBinder; private $typeRepository; private $converterRepository; @@ -40,13 +38,10 @@ class WebServiceContext private $serviceBinder; private $serverFactory; - public function __construct(LoaderInterface $loader, DumperInterface $dumper, MessageBinderInterface $requestMessageBinder, MessageBinderInterface $responseMessageBinder, TypeRepository $typeRepository, ConverterRepository $converterRepository, array $options) { + public function __construct(LoaderInterface $loader, DumperInterface $dumper, TypeRepository $typeRepository, ConverterRepository $converterRepository, array $options) { $this->loader = $loader; $this->wsdlFileDumper = $dumper; - $this->requestMessageBinder = $requestMessageBinder; - $this->responseMessageBinder = $responseMessageBinder; - $this->typeRepository = $typeRepository; $this->converterRepository = $converterRepository; @@ -90,7 +85,11 @@ class WebServiceContext public function getServiceBinder() { if (null === $this->serviceBinder) { - $this->serviceBinder = new ServiceBinder($this->getServiceDefinition(), $this->requestMessageBinder, $this->responseMessageBinder); + $this->serviceBinder = new ServiceBinder( + $this->getServiceDefinition(), + new $this->options['binder_request_class'](), + new $this->options['binder_response_class']() + ); } return $this->serviceBinder;