Expand my Community achievements bar.

Invalid AMFX packet error

Avatar

Level 2
Hi I'm testing FDS under Tomcat on Https with a
self-certificate

and i'm getting this error message



[MessagingError message='Invalid AMFX packet. Content must
start with an <amfx> node']

at mx.messaging.channels.amfx::AMFXDecoder$/::decodePacket()

at mx.messaging.channels.amfx::AMFXDecoder/decode()

at ::HTTPMessageResponder/completeHandler()

at ::ChannelRequestLoader/::callEventCallback()

at ::ChannelRequestLoader/::completeHandler()

at
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at
flash.net::URLLoader/flash.net:URLLoader::onComplete()
2 Replies

Avatar

Level 3
Looks like you're contacting a destination that is using the
SecureHTTPChannel (and note this would be the HTTPChannel for
HTTP). This channel (and it's HTTP equivalent, HTTPChannel) use an
XML format to send strongly typed information between the client
and server... something we call AMFX (Action Message Format over
XML).



It looks like the response was invalid AMFX... perhaps the
client received a server error formatted as HTML instead of a
correctly formatted AMFX response?



Is the problem occuring in MSIE? If so, have you tried adding
the add-no-cache-headers property to the secure http
channel-defintion in /WEB-INF/flex/services-config.xml?



<properties>

...


<add-no-cache-headers>false</add-no-cache-headers>

</properties>



Note any change to the services config would require you to
restart the web application.



Also, have you tried browsing to the channel endpoint to
check if it exists? Can you try using an HTTPS sniffer like Paros
Proxy registered in the browser to intercept the traffic to see
what was wrong with the response?



Avatar

Level 2
We've switched Servers to a https with a propper ssl
certificate not a self-certificate,

but same problem, I think it's a configuration problem with
the messagebroker or https.

the app works perfectly under http, but we need the https.



If I visit my app using IE I get this error



https://orappsrv1.ad.hull.ac.uk:8443/flex/GetStudentDetails/GetStudentDetails.swf





[RPC Fault faultString="Send failed"
faultCode="Client.Error.MessageSend" faultDetail="Unable to load
WSDL. If currently online, please verify the URI and/or format of
the WSDL (null)"]

at mx.rpc.soap::WSDLParser/::dispatchFault()

at mx.rpc.soap::WSDLParser/
http://www.adobe.com/2006/flex/mx/internal::httpFaultHandler()

at
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at mx.rpc::AbstractInvoker/
http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()

at mx.rpc::AbstractInvoker/
http://www.adobe.com/2006/flex/mx/internal::faultHandler()

at mx.rpc::Responder/fault()

at mx.rpc::AsyncRequest/fault()

at mx.messaging::ChannelSet/::faultPendingSends()

at mx.messaging::ChannelSet/channelFaultHandler()

at
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at
mx.messaging::Channel/mx.messaging:Channel::connectFailed()

at
mx.messaging.channels::PollingChannel/mx.messaging.channels:PollingChannel::connectFailed()

at
mx.messaging.channels::AMFChannel/mx.messaging.channels:AMFChannel::statusHandler()



if I visit it using Forefox I get this error .



[MessagingError message='Invalid AMFX packet. Content must
start with an <amfx> node']

at mx.messaging.channels.amfx::AMFXDecoder$/::decodePacket()

at mx.messaging.channels.amfx::AMFXDecoder/decode()

at ::HTTPMessageResponder/completeHandler()

at ::ChannelRequestLoader/::callEventCallback()

at ::ChannelRequestLoader/::completeHandler()

at
flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at flash.net::URLLoader/flash.net:URLLoader::onComplete()





Really need this fixed, any help would be great.