4

和有什么区别

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" ...>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" ...>

以及如何在它们之间切换?

如何将响应从 < SOAP-ENV:Envelope 更改为使用 < soap:Envelope ?


为开发、生产和测试环境加载捆绑包特定的值

文档提到Symfony/app/config/config_dev.yml了开发环境。

我捆绑了加载的特定配置文件Symfony/src/mmt/mrBundle/DependencyInjection/mmtmrExtension.php

例如:Symfony/src/mmt/mrBundle/Resources/config/services.yml需要加载mmtmrExtension.phprouting.yml在同一个目录下不需要。

我必须遵循命名约定吗?那么如何Symfony/src/mmt/mrBundle/Resources/config/services_dev.yml根据环境加载mmtmrExtension.php呢?我见过的唯一例子就是硬代码加载services.yml蚂蚁就是这样。

services.yml我有一些代码,如:

mmt.mr.DefaultController:
     class: mmt\mrBundle\Controller\DefaultController
     arguments: [@data_provider]
     calls: 
         - [ "setContainer", [ @service_container ] ]

也许我应该根据环境在这里加载不同的服务?我想用另一个@data_provider

似乎有数百种方法可以做到这一点,但文档中没有一个是 100% 涵盖的。我宁愿有一种方法,但有 100% 的文档覆盖率。

也许有人可以指出配置文件如何工作的正确位置。“这本书”的内容不多,烹饪书只提到了与“我该怎么做”相关的部分。

感谢您阅读本文,希望您能提供帮助。

4

1 回答 1

7

没有区别。

XML 命名空间由xmlns属性作为它的值 ( "http://schemas.xmlsoap.org/soap/envelope/") 引用,并且该引用的快捷方式紧跟在 后面xmlnssoap在您的一种情况下,SOAP-ENV在另一种情况下。

现在,该快捷方式一直用作 XML 命名空间中定义的元素的前缀。由于元素<Envelope>与定义的命名空间的连接"http://schemas.xmlsoap.org/soap/envelope/",它的特殊含义对于底层的 XML 解析器是已知的。

快捷方式可以是任何允许的字符串——只要给出了正确的命名空间 URL,它对 XML 解析器并不重要。

我猜你有一个潜在的问题让你认为命名空间很重要——你应该在你的问题中解释那个问题,或者可能问一个新的问题。

于 2013-09-16T19:26:49.230 回答