Я разрабатываю приложение Flex 3.4, которое взаимодействует с бэкэндом Java EE, работающим на сервере JBoss-4.2.2, в последнем выпуске BlazeDS. Когда я запустил приложение Flex из Flash Builder 4 beta 2 на Tomcat, все было в порядке, приложение Flex смогло выполнить удаленный вызов. Но моя производственная среда работает на JBoss, и когда я переместил приложение в JBoss (с обновлением services-config.xml до JBoss), приложение Flex продолжает жаловаться на Client.Error.MessageSend при удаленных вызовах.
Сначала, когда я вручную развернул приложение на JBoss, faultDetail был "Channel.Security.Error error Error #2048 ... "
; позже я попытался запустить приложение из Flash Builder, а затем faultDetail стал "Channel.Connect.Failed error NetConnection.Call.BadVersion"
.
В services-config.xml под <security>
было:
<login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>
при переходе на JBoss я обновил его до:
<login-command class="flex.messaging.security.TomcatLoginCommand" server="JBoss"/>
У меня есть файл crossdomain.xml, расположенный в папке JBoss для развертывания, следующим образом:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
Но похоже, что это не работает. Я также попытался поместить файл crossdomain.xml в папку deploy / xxxxx.war, и проблема остается.
Я использую http://,, а не https://,, поэтому, я думаю, речь идет не о канале безопасности.
Пытался найти решение, но большинство решений были связаны с PHP, что не очень помогало. У кого-нибудь есть подсказки?