8000 [Messenger] XML documentation for component crashes · Issue #35511 · symfony/symfony · GitHub
[go: up one dir, main page]

Skip to content
[Messenger] XML documentation for component crashes #35511
Closed
@Metallou-dev

Description

@Metallou-dev

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

  1. Install symfony full project
composer create-project symfony/website-skeleton TMP
  1. Open project
  2. Install messenger
composer require messenger
  1. Replace config/packages/messenger.yaml with provided xml
  2. Serve project
symfony serve
  1. 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0