PHP
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Controller
Converter
DependencyInjection
Resources added TypeRepository managing all mappings from php to xml types; rem… Jul 17, 2011
ServiceBinding some cleanup Jul 17, 2011
ServiceDefinition
Soap
Tests refactored code to better separate responsibilities Feb 3, 2011
Util added TypeRepository managing all mappings from php to xml types; rem… Jul 17, 2011
README.markdown
WebServiceBundle.php
WebServiceContext.php added TypeRepository managing all mappings from php to xml types; rem… Jul 17, 2011

README.markdown

WebServiceBundle

The WebServiceBundle 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 SOAP extension
  • Download and add Zend\Soap library to app/autoload.php

QuickStart

  • Put WebServiceBundle in your src/Bundle dir

  • Enable WebServiceBundle in your app/AppKernel.php

  • Include the WebServiceBundle's routing configuration in app/config/routing.yml (you can choose the prefix arbitrarily)

    _ws:
        resource: "@WebServiceBundle/Resources/config/routing/webservicecontroller.xml"
        prefix:   /ws
    
  • Configure your first web service in app/config/config.yml

    web_service:
        services:
            demoapi:
                name:          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
    /**
     * @ws:Method("Hello")
     * @ws:Param("name", type = "string")
     * @ws:Result(type = "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 documentation
    • http://localhost/app_dev.php/ws/DemoApi?WSDL - WSDL file

Test

phpunit -c myapp src/Bundle/WebServiceBundle