Категорія: Flash

 

Ошибка Flash Remoting при использовнии Coldfusion mappings

Допустим есть CFC который обслуживает Flex-приложение. Для этого используется Flex gateway, который есть в любой инсталляции Coldfusion 8 по умолчанию. Однако можно наступить на грабельки, если CFC наследует или использует другой CFC:

<cfcomponent displayname = "Component to serve data to Flex Application"
             extends ="cfcRoot.services.CommonService">

Ничего особенного, но в нашем случае, cfcRoot - это mapping, заданный в Coldfusion Administrator. При вызове метода этого CFC, Flex скорее всего выдаст ошибку

message = Unable to invoke CFC - Could not find the ColdFusion Component or Interface cfcRoot.services.CommonService.
details = Ensure that the name is correct and that the component or interface exists.

Ошибка значит ровно то, что написано - Coldfusion не может найти компонент, указанный в клаузе "extends".

"Виноваты" в этом настройки Flex gateway. По-умолчанию, Coldfusion не будет проверять маппинги при обращении к CFC через Flash remoting. За это отвечает клауза <destination id="ColdFusion"> в файле C:\ColdFusion8\wwwroot\WEB-INF\flex\remoting-config.xml

<!-- Use the ColdFusion mappings to find CFCs, by default only CFC files under your webroot can be found. -->
<use-mappings>false</use-mappings>

Достаточно изменить значение на true и перезапустить Coldfusion.

Автор: Родион Быков | Опубліковано: 10.12.2009 о 11:24 | Категорії: Flash - Flex - Gotchas -