Это не проблема Flex, это проблема ColdFusion.По умолчанию WSDL, созданные на основе CFC (без указания дополнительных параметров), генерируют элемент <wsdlsoap:address location>
, полученный путем интроспекции.Таким образом, сервер CF просматривает собственную информацию локального экземпляра и выдает абсолютный URL-адрес, соответствующий его настройкам ...
... это включает нестандартный порт, который будет проявляться в вашей ситуации.- когда сервер ColdFusion находится за балансировщиком нагрузки, который перенаправляет трафик с 80 на другой порт.
Решение: в CF8 или выше вы можете добавить новый атрибут к тегу «serviceaddress»:
<cfcomponent output="false" serviceaddress="http://127.0.0.1:80/myService.cfc">
Это заставит CFC генерировать правильный элемент <wsdlsoap:address location>
при запросе WSDL.
Причина, по которой ваш клиент CF работает правильно, а клиент Flex - нет ... заключается в том, чтоклиент CF не учитывает расположение адреса WSDL в XML, но вместо этого использует начальный адрес, для которого он создан, для своей заглушки.