c33005fed2f08fbc142ce7a6247628a15a62a2e5
BeSimpleSoapBundle
The BeSimpleSoapBundle is a Symfony2 bundle to build WSDL and SOAP based web services. It is based on the [ckWebServicePlugin] 1 for symfony.
Requirements
-
Install and enable PHP's
SOAPextension -
Download
Zend\Soapgit submodule add http://github.com/zendframework/zf2.git vendor/zend-framework -
Add
Zend\Soaplibrary toapp/autoload.php// app/autoload.php $loader->registerNamespaces(array( 'Zend\\Soap' => __DIR__.'/../vendor/zend-frameword/library', // your other namespaces ));
QuickStart
-
Put BeSimpleSoapBundle in your
vendor/bundles/BeSimpledirgit submodule add https://github.com/BeSimple/BeSimpleSoapBundle.git vendor/bundles/BeSimple/SoapBundle -
Enable BeSimpleSoapBundle in your
app/AppKernel.php// app/AppKernel.php public function registerBundles() { return array( // ... new new BeSimple\SoapBundle\BeSimpleSoapBundle(), // ... ); } -
Register the BeSimple namespace
// app/autoload.php $loader->registerNamespaces(array( 'BeSimple' => __DIR__.'/../vendor/bundles', 'Zend\\Soap' => __DIR__.'/../vendor/zend-frameword/library', // your other namespaces )); -
Include the BeSimpleSoapBundle's routing configuration in
app/config/routing.yml(you can choose the prefix arbitrarily)_besimple_soap: resource: "@BeSimpleSoapBundle/Resources/config/routing/webservicecontroller.xml" prefix: /ws -
Configure your first web service in
app/config/config.ymlbe_simple_soap: services: DemoApi: namespace: http://mysymfonyapp.com/ws/DemoApi/1.0/ binding: rpc-literal resource: "@AcmeDemoBundle/Controller/DemoController.php" resource_type: annotation -
Annotate your controller methods
// src/Acme/DemoBundle/Controller/DemoController.php use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap; use BeSimple\SoapBundle\Soap\SoapResponse; class DemoController extends Controller { /** * @Soap\Method("Hello") * @Soap\Param("name", phpType = "string") * @Soap\Result(phpType = "string") */ public function helloAction($name) { return new SoapResponse(sprintf('Hello %s!', $name)); } } -
Open your web service endpoint
http://localhost/app_dev.php/ws/DemoApi- HTML documentationhttp://localhost/app_dev.php/ws/DemoApi?wsdl- WSDL file
Test
phpunit -c phpunit.xml.dist
Languages
PHP
97.3%
Python
1.6%
Java
0.7%
Shell
0.4%