The bundle is back!

The definition of service has changed, read the README.
This commit is contained in:
Francis Besset
2011-07-17 10:46:54 +02:00
parent 81118f8d47
commit 1c608ccf20
48 changed files with 641 additions and 535 deletions

View File

@ -1,30 +0,0 @@
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="webservice.annotations.reader.class">Bundle\WebServiceBundle\ServiceDefinition\Loader\AnnotationReader</parameter>
<parameter key="webservice.annotations.parser.class">Bundle\WebServiceBundle\ServiceDefinition\Loader\AnnotationParser</parameter>
</parameters>
<services>
<service id="webservice.annotations.parser" class="%webservice.annotations.parser.class%">
<call method="setAutoloadAnnotations"><argument>true</argument></call>
<call method="setAnnotationNamespaceAlias">
<argument>Bundle\WebServiceBundle\ServiceDefinition\Annotation\</argument>
<argument>ws</argument>
</call>
</service>
<service id="webservice.annotations.reader" class="%webservice.annotations.reader.class%">
<argument type="service" id="webservice.annotations.cache" strict="false" />
<argument type="service" id="webservice.annotations.parser" />
</service>
<service id="webservice.annotations.cache.array" class="Doctrine\Common\Cache\ArrayCache" scope="prototype" />
<service id="webservice.annotations.cache" alias="webservice.annotations.cache.array" />
</services>
</container>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="webservice.definition.controller.listener.class">Bundle\WebServiceBundle\EventListener\ControllerListener</parameter>
<parameter key="webservice.definition.loader.resolver.class">Symfony\Component\Config\Loader\LoaderResolver</parameter>
<parameter key="webservice.definition.loader.class">Symfony\Component\Config\Loader\DelegatingLoader</parameter>
<parameter key="webservice.definition.loader.annot_dir.class">Bundle\WebServiceBundle\ServiceDefinition\Loader\AnnotationDirectoryLoader</parameter>
<parameter key="webservice.definition.loader.annot_file.class">Bundle\WebServiceBundle\ServiceDefinition\Loader\AnnotationFileLoader</parameter>
<parameter key="webservice.definition.loader.annot_class.class">Bundle\WebServiceBundle\ServiceDefinition\Loader\AnnotationClassLoader</parameter>
</parameters>
<services>
<service id="webservice.definition.controller.listener" class="%webservice.definition.controller.listener.class%">
<tag name="kernel.event_listener" event="kernel.controller" method="onKernelController" />
<argument type="service" id="annotation_reader" />
</service>
<service id="webservice.definition.loader.resolver" class="%webservice.definition.loader.resolver.class%" public="false" />
<service id="webservice.definition.loader" class="%webservice.definition.loader.class%">
<argument type="service" id="webservice.definition.loader.resolver" />
</service>
<service id="webservice.definition.loader.annot_file" class="%webservice.definition.loader.annot_file.class%" public="false">
<tag name="webservice.definition.loader" />
<argument type="service" id="file_locator" />
<argument type="service" id="webservice.definition.loader.annot_class" />
</service>
<service id="webservice.definition.loader.annot_class" class="%webservice.definition.loader.annot_class.class%" public="false">
<tag name="webservice.definition.loader" />
<argument type="service" id="annotation_reader" />
</service>
</services>
</container>

View File

@ -5,12 +5,14 @@
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
<route id="_webservice_call" pattern="/{webservice}">
<default key="_controller">webservice.controller:call</default>
<default key="_controller">WebServiceBundle:SoapWebService:Call</default>
<default key="_format">xml</default>
<requirement key="_method">POST</requirement>
</route>
<route id="_webservice_definition" pattern="/{webservice}">
<default key="_controller">webservice.controller:definition</default>
<default key="_controller">WebServiceBundle:SoapWebService:Definition</default>
<default key="_format">xml</default>
<requirement key="_method">GET</requirement>
</route>
</routes>

View File

@ -4,64 +4,44 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="webservice.file_locator.class">Symfony\Component\HttpKernel\Config\FileLocator</parameter>
<parameter key="webservice.controller.class">Bundle\WebServiceBundle\Controller\SoapWebServiceController</parameter>
<parameter key="webservice.context.class">Bundle\WebServiceBundle\WebServiceContext</parameter>
<parameter key="webservice.cache_dir">%kernel.cache_dir%/webservice</parameter>
<parameter key="webservice.binder.request.rpcliteral.class">Bundle\WebServiceBundle\ServiceBinding\RpcLiteralRequestMessageBinder</parameter>
<parameter key="webservice.binder.response.rpcliteral.class">Bundle\WebServiceBundle\ServiceBinding\RpcLiteralResponseMessageBinder</parameter>
<parameter key="webservice.binder.request.documentwrapped.class">Bundle\WebServiceBundle\ServiceBinding\DocumentLiteralWrappedRequestMessageBinder</parameter>
<parameter key="webservice.binder.response.documentwrapped.class">Bundle\WebServiceBundle\ServiceBinding\DocumentLiteralWrappedResponseMessageBinder</parameter>
<parameter key="webservice.definition.dumper.wsdl.rpcliteral.class">Bundle\WebServiceBundle\ServiceDefinition\Dumper\WsdlDumper</parameter>
<parameter key="webservice.converter.repository.class">Bundle\WebServiceBundle\Converter\ConverterRepository</parameter>
</parameters>
<services>
<service id="webservice.controller" class="Bundle\WebServiceBundle\Controller\SoapWebServiceController">
<argument type="service" id="service_container" />
<argument type="service" id="http_kernel" />
</service>
<service id="webservice.context" class="Bundle\WebServiceBundle\WebServiceContext" abstract="true">
<service id="webservice.context" class="%webservice.context.class%" abstract="true">
<argument type="service" id="webservice.definition.loader"/>
<argument type="service" id="webservice.definition.dumper.wsdl"/>
<argument type="service" id="webservice.converter.repository"/>
<argument type="service" id="webservice.binder.request"/>
<argument type="service" id="webservice.binder.response"/>
<argument type="collection">
<argument key="cache_dir">%webservice.cache_dir%</argument>
</argument>
</service>
<service id="webservice.binder.request.rpcliteral" class="Bundle\WebServiceBundle\ServiceBinding\RpcLiteralRequestMessageBinder" />
<service id="webservice.binder.response.rpcliteral" class="Bundle\WebServiceBundle\ServiceBinding\RpcLiteralResponseMessageBinder" />
<service id="webservice.binder.request.documentwrapped" class="Bundle\WebServiceBundle\ServiceBinding\DocumentLiteralWrappedRequestMessageBinder" />
<service id="webservice.binder.response.documentwrapped" class="Bundle\WebServiceBundle\ServiceBinding\DocumentLiteralWrappedResponseMessageBinder" />
<service id="webservice.binder.request.rpcliteral" class="%webservice.binder.request.rpcliteral.class%" />
<service id="webservice.converter.repository" class="Bundle\WebServiceBundle\Converter\ConverterRepository">
<service id="webservice.binder.response.rpcliteral" class="%webservice.binder.response.rpcliteral.class%" />
<service id="webservice.binder.request.documentwrapped" class="%webservice.binder.request.documentwrapped.class%" />
<service id="webservice.binder.response.documentwrapped" class="%webservice.binder.response.documentwrapped.class%" />
<service id="webservice.definition.dumper.wsdl.rpcliteral" class="%webservice.definition.dumper.wsdl.rpcliteral.class%" />
<service id="webservice.converter.repository" class="%webservice.converter.repository.class%">
<call method="registerTypeConverterServices">
<argument type="service" id="service_container" />
</call>
</service>
<service id="webservice.file_locator" class="%webservice.file_locator.class%" public="false">
<argument type="service" id="kernel" />
</service>
<!-- TODO: replace with delegating loader -->
<service id="webservice.definition.loader" alias="webservice.definition.loader.annot_file" />
<service id="webservice.definition.loader.annot_file" class="Bundle\WebServiceBundle\ServiceDefinition\Loader\AnnotationFileLoader">
<tag name="webservice.definition.loader" />
<argument type="service" id="webservice.file_locator" />
<argument type="service" id="webservice.definition.loader.annot_class" />
</service>
<service id="webservice.definition.loader.annot_class" class="Bundle\WebServiceBundle\ServiceDefinition\Loader\AnnotationClassLoader">
<tag name="webservice.definition.loader" />
<argument type="service" id="webservice.annotations.reader" />
<argument type="service" id="annotations.configuration_reader" on-invalid="null" />
</service>
<service id="webservice.definition.dumper.wsdl.rpcliteral" class="Bundle\WebServiceBundle\ServiceDefinition\Dumper\WsdlDumper" />
<service id="webservice.definition.dumper.wsdl" alias="webservice.definition.dumper.wsdl.rpcliteral" />
<service id="webservice.binder.request" alias="webservice.binder.request.rpcliteral" />
<service id="webservice.binder.response" alias="webservice.binder.response.rpcliteral" />
</services>
</container>