Closed
Description
Symfony version(s) affected: 5.0.3
Description
Using the most basic symfony/messenger xml config (adapted from https://symfony.com/doc/current/messenger.html#doctrine-transport), project crashes at configureContainer()
config/packages/messenger.xml
<?xml version="1.0" encoding="UTF-8" ?>
<container
xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:framework="http://symfony.com/schema/dic/symfony"
xsi:schemaLocation="http://symfony.com/schema/dic/services
https://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony
https://symfony.com/schema/dic/symfony/symfony-1.0.xsd"
>
<framework:config>
<framework:messenger>
<framework:transport
dsn="%env(MESSENGER_TRANSPORT_DSN)%"
name="async"
>
<framework:options
queue_name="high"
/>
</framework:transport>
</framework:messenger>
</framework:config>
</container>
according to XSD
<!-- /vendor/symfony/framework-bundle/Resources/config/schema/symfony-1.0.xsd -->
<xsd:complexType name="messenger_transport">
<xsd:sequence>
<xsd:element name="options" type="metadata" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="serializer" type="xsd:string" />
<xsd:attribute name="dsn" type="xsd:string" />
</xsd:complexType>
<xsd:element name="options" type="metadata" minOccurs="0" maxOccurs="unbounded" />
<xsd:complexType name="metadata">
<xsd:sequence>
<xsd:any minOccurs="0" processContents="lax"/>
</xsd:sequence>
</xsd:complexType>
How to reproduce
- Install symfony full project
composer create-project symfony/website-skeleton TMP
- Open project
- Install messenger
composer require messenger
- Replace
config/packages/messenger.yaml
with provided xml - Serve project
symfony serve
- Open served website
https://127.0.0.1:8000
(most likely)
Stacktrace
Symfony\Component\Config\Exception\LoaderLoadException:
Unable to parse file "C:\DEV\sites\temp\config/packages/messenger.xml": [ERROR 1866] Element '{http://symfony.com/schema/dic/symfony}options', attribute 'queue_name': The attribute 'queue_name' is not allowed. (in file:/C:/DEV/sites/temp/public/ - line 19, column 0) in C:\DEV\sites\temp\config/packages/messenger.xml (which is loaded in resource "C:\DEV\sites\temp\config/packages/messenger.xml").
at C:\DEV\sites\temp\vendor\symfony\config\Loader\FileLoader.php:173
at Symfony\Component\Config\Loader\FileLoader->doImport('C:\\DEV\\sites\\temp\\config/packages/messenger.xml', null, false, null)
(C:\DEV\sites\temp\vendor\symfony\config\Loader\FileLoader.php:97)
at Symfony\Component\Config\Loader\FileLoader->import('C:\\DEV\\sites\\temp\\config/packages/messenger.xml')
(C:\DEV\sites\temp\vendor\symfony\dependency-injection\Loader\FileLoader.php:64)
at Symfony\Component\DependencyInjection\Loader\FileLoader->import('C:\\DEV\\sites\\temp\\config/packages/messenger.xml')
(C:\DEV\sites\temp\vendor\symfony\dependency-injection\Loader\GlobFileLoader.php:27)
at Symfony\Component\DependencyInjection\Loader\GlobFileLoader->load('C:\\DEV\\sites\\temp/config/{packages}/*.{php,xml,yaml,yml}', 'glob')
(C:\DEV\sites\temp\vendor\symfony\config\Loader\DelegatingLoader.php:40)
at Symfony\Component\Config\Loader\DelegatingLoader->load('C:\\DEV\\sites\\temp/config/{packages}/*.{php,xml,yaml,yml}', 'glob')
(C:\DEV\sites\temp\src\Kernel.php:40)
at App\Kernel->configureContainer(object(ContainerBuilder), object(DelegatingLoader))
(C:\DEV\sites\temp\vendor\symfony\framework-bundle\Kernel\MicroKernelTrait.php:81)
at App\Kernel->Symfony\Bundle\FrameworkBundle\Kernel\{closure}(object(ContainerBuilder))
(C:\DEV\sites\temp\vendor\symfony\dependency-injection\Loader\ClosureLoader.php:38)
at Symfony\Component\DependencyInjection\Loader\ClosureLoader->load(object(Closure), null)
(C:\DEV\sites\temp\vendor\symfony\config\Loader\DelegatingLoader.php:40)
at Symfony\Component\Config\Loader\DelegatingLoader->load(object(Closure))
(C:\DEV\sites\temp\vendor\symfony\framework-bundle\Kernel\MicroKernelTrait.php:84)
at App\Kernel->registerContainerConfiguration(object(DelegatingLoader))
(C:\DEV\sites\temp\vendor\symfony\http-kernel\Kernel.php:635)
at Symfony\Component\HttpKernel\Kernel->buildContainer()
(C:\DEV\sites\temp\vendor\symfony\http-kernel\Kernel.php:544)
at Symfony\Component\HttpKernel\Kernel->initializeContainer()
(C:\DEV\sites\temp\vendor\symfony\http-kernel\Kernel.php:126)
at Symfony\Component\HttpKernel\Kernel->boot()
(C:\DEV\sites\temp\vendor\symfony\http-kernel\Kernel.php:186)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(C:\DEV\sites\temp\public\index.php:25)
Notes
As configureContainer() crashes, console also crashes, so no CLI debug is possible
Additional context
WAMP
PHP 7.3
Phpstorm
Chrome