我正在开发一个Flex 3.4应用程序,它通过最新版本的BlazeDS与JBoss-4.2.2服务器上运行的Java EE后端进行交互.当我在Tomcat上从Flash Builder 4 beta 2运行Flex应用程序时,一切都很好,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错误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"/>
我在JBoss的deploy文件夹中放置了一个crossdomain.xml,如下所示:
<?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相关,这实际上没有用.有人得到任何线索吗?
解决方法:
你有
<login-command class="**flex.messaging.security.TomcatLoginCommand**" server="Tomcat"/>
如果类指示安全性是tomcat,则应将其更改为实现接口flex.messaging.security.LoginCommand或任何安全性接口blaze的类.
原文地址:https://codeday.me/bug/20190710/1423477.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。