Вчера я провел половину дня, пытаясь заставить Flex Remoting использовать HTTPS, но безуспешно.
Сегодня я попытался подключиться к другому домену.
Я изменил URL конечной точки, но похоже, что flex просто игнорирует мои изменения.
Я уверен, что старый URL не существует ни в одном файле в каталоге src,
Я даже переименовал services-config.xml в services-config2.xml, много раз чистил и перестраивал проект, даже делал сборку релиза, но он все еще подключался к тому же домену.
Я тестировал flex-приложение на локальном хосте и в том же домене, где есть службы AMF, но оно работает таким же образом.
Мой services-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<service id="amfphp-flashremoting-service" class="flex.messaging.services.RemotingService" messageTypes="flex.messaging.messages.RemotingMessage">
<destination id="amfphp">
<channels>
<channel ref="my-amfphp-secure"/>
<channel ref="my-amfphp"/>
</channels>
<properties>
<source>*</source>
</properties>
</destination>
</service>
</services>
<channels>
<channel-definition id="my-amfphp-secure" class="mx.messaging.channels.SecureAMFChannel">
<endpoint uri="https://xxx.dev.company.com:443/AMF" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
<serialization>
<instantiate-types>false</instantiate-types>
<log-property-errors>true</log-property-errors>
</serialization>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
<channel-definition id="my-amfphp" class="mx.messaging.channels.AMFChannel" >
<endpoint uri="http://xxx.dev.company.com/AMF" class="flex.messaging.endpoints.AMFEndpoint" />
<properties>
<polling-enabled>false</polling-enabled>
<serialization>
<instantiate-types>false</instantiate-types>
<log-property-errors>true</log-property-errors>
</serialization>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
</channels>
</services-config>
Определение удаленного объекта в mxml:
<mx:RemoteObject id="Agentrpc" destination="amfphp" source="Agentrpc" showBusyCursor="true">
<mx:method name="getAgentID" result="getAgentID_resultHandler(event)" fault="faultHandler(event)"/>
</mx:RemoteObject>
Я использую Flex 3.
Редактировать: я посмотрел на сгенерированный / dir и вижу, что файлы FlexInit (например, MainModule_FlexInit-generated.as) содержат код:
ServerConfig.xml =
<services>
<service id="amfphp-flashremoting-service">
<destination id="amfphp">
<channels>
<channel ref="my-amfphp-secure"/>
<channel ref="my-amfphp"/>
</channels>
</destination>
</service>
<channels>
<channel id="my-amfphp-secure" type="mx.messaging.channels.SecureAMFChannel">
<endpoint uri="https://gintautas.dev.company.com:443/AMF"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel>
<channel id="my-amfphp" type="mx.messaging.channels.AMFChannel">
<endpoint uri="http://gintautas.dev.company.com/AMF"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel>
</channels>
</services>;
Это верно, но приложение не отправляет запросы на gintautas.dev.company.com
Редактировать 2: Я установил Flash Builder 4 и попытался скомпилировать с использованием компиляторов 3.5 и 4.0 (в режиме совместимости), но у обоих одинаковая проблема: (