some cleanup

Conflicts:

	Controller/SoapWebServiceController.php
	ServiceBinding/ServiceBinder.php
This commit is contained in:
Christian Kerl 2011-07-17 15:01:42 +02:00 committed by Francis Besset
parent 887169de13
commit 0126cd4221
2 changed files with 16 additions and 12 deletions

View File

@ -15,6 +15,7 @@ use Bundle\WebServiceBundle\Soap\SoapResponse;
use Symfony\Component\DependencyInjection\ContainerAware;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\HttpKernel\HttpKernelInterface;
/**
@ -47,7 +48,7 @@ class SoapWebServiceController extends ContainerAware
*/
public function callAction($webservice)
{
$webServiceContext = $this->container->get('webservice.context.'.$webservice);
$webServiceContext = $this->getWebServiceContext($webservice);
$this->serviceBinder = $webServiceContext->getServiceBinder();
$this->soapRequest = SoapRequest::createFromHttpRequest($this->container->get('request'));
@ -66,7 +67,7 @@ class SoapWebServiceController extends ContainerAware
*/
public function definitionAction($webservice)
{
$webServiceContext = $this->container->get('webservice.context.'.$webservice);
$webServiceContext = $this->getWebServiceContext($webservice);
$request = $this->container->get('request');
if ($request->query->has('wsdl') || $request->query->has('WSDL')) {
@ -75,7 +76,7 @@ class SoapWebServiceController extends ContainerAware
$response = new Response($webServiceContext->getWsdlFileContent($endpoint));
$response->headers->set('Content-Type', 'application/wsdl+xml');
} else {
// TODO: replace with better represantation
// TODO: replace with better representation
$response = new Response($webServiceContext->getWsdlFileContent());
$response->headers->set('Content-Type', 'text/xml');
}
@ -159,4 +160,13 @@ class SoapWebServiceController extends ContainerAware
{
return $this->soapResponse;
}
}
private function getWebServiceContext($webservice)
{
if(!$this->container->has('webservice.context.'.$webservice))
{
throw new NotFoundHttpException(sprintf('No webservice with name "%s" found.', $webservice));
}
return $this->container->get('webservice.context.'.$webservice);
}
}

View File

@ -32,14 +32,8 @@ class ServiceBinder
*/
private $responseMessageBinder;
public function __construct(
ServiceDefinition $definition,
MessageBinderInterface $requestMessageBinder,
MessageBinderInterface $responseMessageBinder
)
{
$this->definition = $definition;
public function __construct(ServiceDefinition $definition, MessageBinderInterface $requestMessageBinder, MessageBinderInterface $responseMessageBinder) {
$this->definition = $definition;
$this->requestMessageBinder = $requestMessageBinder;
$this->responseMessageBinder = $responseMessageBinder;
}