Client.Error.MessageSend проблема с Flex / BlazeDS на JBoss - PullRequest
4 голосов
/ 11 ноября 2009

Я разрабатываю приложение 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, что не очень помогало. У кого-нибудь есть подсказки?

Ответы [ 2 ]

1 голос
/ 31 августа 2010

У вас есть

<login-command class="**flex.messaging.security.TomcatLoginCommand**" server="Tomcat"/> 

Если класс указывает, что безопасность относится к tomcat, вы должны изменить его на класс, реализующий интерфейс flex.messaging.security.LoginCommand или любой другой интерфейс безопасности.

0 голосов
/ 11 ноября 2009

Если вы перейдете к http://your.application.root/crossdomain.xml,, загружается ли файл? Самая простая конфигурация - поместить файл в корень домена.

...