Added besimple.soap.response service

It is highly recommended not to instantiate BeSimple\SoapBundle\Soap\SoapResponse
but to use the service besimple.soap.response

Before:

    public function helloAction($name)
    {
        return new SoapResponse("Hello ".$name);
    }

After:

    public function helloAction($name)
    {
        return $this
            ->container
            ->get('besimple.soap.response')
            ->setReturnValue("Hello ".$name)
        ;
    }
This commit is contained in:
Francis Besset
2011-08-27 22:47:58 +02:00
parent d4662ffe20
commit b4da2f727e
7 changed files with 24 additions and 20 deletions

View File

@ -9,7 +9,6 @@ Controller
namespace My\App\Controller;
use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap;
use BeSimple\SoapBundle\Soap\SoapResponse;
use Symfony\Component\DependencyInjection\ContainerAware;
class DemoController extends ContainerAware
@ -21,6 +20,6 @@ Controller
*/
public function helloAction(array $names)
{
return new SoapResponse("Hello ".implode(', ', $names));
return $this->container->get('besimple.soap.response')->setReturnValue("Hello ".implode(', ', $names));
}
}

View File

@ -15,7 +15,6 @@ Controller
namespace My\App\Controller;
use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap;
use BeSimple\SoapBundle\Soap\SoapResponse;
use Symfony\Component\DependencyInjection\ContainerAware;
class DemoController extends ContainerAware
@ -29,13 +28,13 @@ Controller
{
$user = $this->container->getDoctrine()->getRepository('MyApp:User')->findOneBy(array(
'name' => $name,
);
));
if (!$user) {
throw new \SoapFault('USER_NOT_FOUND', sprintf('The user with the name "%s" can not be found', $name));
}
return new SoapResponse($user);
return $this->container->get('besimple.soap.response')->setReturnValue($user);
}
}

View File

@ -9,7 +9,6 @@ Controller
namespace My\App\Controller;
use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap;
use BeSimple\SoapBundle\Soap\SoapResponse;
use Symfony\Component\DependencyInjection\ContainerAware;
class DemoController extends ContainerAware
@ -27,6 +26,6 @@ Controller
throw new \SoapFault("INVALID_API_KEY", "The api_key is invalid.");
}
return new SoapResponse("Hello ".implode(', ', $names));
return $this->container->get('besimple.soap.response')->setReturnValue("Hello ".implode(', ', $names));
}
}