错误信息:
fault(mx.messaging.messages::ErrorMessage)#0
body = (Object)#1
clientId = (null)
correlationId = "3541ADD2-5245-3C38-A8B6-92DFC59DA055"
destination = ""
extendedData = (null)
faultCode = "Client.Error.MessageSend"
faultDetail = "Channel.Connect.Failed error NetConnection.Call.BadVersion: : url: 'http://localhost/amfphp/gateway.php'"
faultString = "发送失败"
headers = (Object)#2
messageId = "70675B80-508D-99F8-87B2-92DFCA00B9D7"
rootCause = (mx.messaging.events::ChannelFaultEvent)#3
bubbles = false
cancelable = false
channel = (mx.messaging.channels::AMFChannel)#4
authenticated = false
channelSets = (Array)#5
connected = false
connectTimeout = -1
enableSmallMessages = true
endpoint = "http://localhost/amfphp/gateway.php"
failoverURIs = (Array)#6
id = "my-amfphp"
mpiEnabled = false
netConnection = (flash.net::NetConnection)#7
client = (mx.messaging.channels::AMFChannel)#4
connected = false
maxPeerConnections = 8
objectEncoding = 3
proxyType = "none"
uri = "http://localhost/amfphp/gateway.php"
piggybackingEnabled = false
polling = false
pollingEnabled = true
pollingInterval = 3000
protocol = "http"
reconnecting = false
recordMessageSizes = false
recordMessageTimes = false
requestTimeout = -1
uri = "http://localhost/amfphp/gateway.php"
url = "http://localhost/amfphp/gateway.php"
useSmallMessages = false
channelId = "my-amfphp"
connected = false
currentTarget = (mx.messaging.channels::AMFChannel)#4
eventPhase = 2
faultCode = "Channel.Connect.Failed"
faultDetail = "NetConnection.Call.BadVersion: : url: 'http://localhost/amfphp/gateway.php'"
faultString = "error"
reconnecting = false
rejected = false
rootCause = (Object)#8
code = "NetConnection.Call.BadVersion"
description = ""
details = ""
level = "error"
target = (mx.messaging.channels::AMFChannel)#4
type = "channelFault"
timestamp = 0
timeToLive = 0
上面的都是报错的信息,调试了大半天还是这样,如果单独一个.mxml内部调用,就没有报错,但是用别的模块去调用这个.mxml的时候,就会出现这个情况了.
而我将项目放上去 外网服务器测试 可以正常返回测试的信息,但是在本机调试,就出现上面的错误信息了
外网服务上AMFPHP是在本机相同文件夹上拖过去的.所以如此出错也是百思不得其解;
后来逛到天地会后发现一篇 关于AMFPHP1.9错误的处理方法:
我本机的解决办法就是按照下面第一点的方法 单独把 //$gateway->disableStandalonePlayer();注释掉就OK了!
(以下内容转自天地会- 后台技术讨论区 » 关于AMFPHP新版一些问题解决办法)
AMFPHP 1.9新版问题修改
1、Flash环境下访问方法失败,而自带调试SWF正常,修改amfphp\gateway.php如下内容:
if(PRODUCTION_SERVER)
{
//Disable profiling, remote tracing, and service browser
$gateway->disableDebug();
// Keep the Flash/Flex IDE player from connecting to the gateway. Used for security to stop remote connections.
//$gateway->disableStandalonePlayer();
}
2、访问ByteArray对象出错,修改amfphp\core\amf\io\AMFSerializer.php如下内容:
function writeAmf3ByteArray($d)
{
$this->writeByte(0x0C);
//$this->writeAmf3String($d, true);
$this->writeAmf3ByteArrayBody($d);
}
另需要在写PHP代码时,将AMFPHP的AMF设置为AMF3,Flash设置无效的,代码为$GLOBALS['amfphp']['encoding'] = 'amf3';
或修改amfphp\core\shared\app\Globals.php内容中的$amfphp['encoding'] = "amf0";为$amfphp['encoding'] = "amf3";
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com