History | Log In     View a printable version of the current page.  
Issue Details (XML)

Key: BLZ-257
Type: Bug Bug
Status: Resolved Resolved
Resolution: Cannot Reproduce
Assignee: William Chan
Reporter: Cyrill Zadra
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
BlazeDS

Unknown AMF type '17' after update to new flash player 10

Created: 10/15/08 07:47 AM   Updated: 05/28/09 01:12 PM
Component/s: RemoteObject
Security Level: Public (All JIRA Users )

File Attachments: 1. Zip Archive BLZ257TestCase.zip (4.28 Mb)


Severity: Non Functioning
Reproducibility: Every Time
Found in Version: BlazeDS 3.0.1
Affected OS(s): Windows - XP
Steps to Reproduce:
Steps to reproduce:
1. Change FlashPlayer Version from 9 to 10.
2.
3.
 
 Actual Results:
  
  Since I changed from Flash Player 9 to Flash Player 10 I use to get the following error.

[BlazeDS](FC)10/15/2008 14:20:58.317 [INFO] [Endpoint.General] Channel endpoint my-amf received request.
[BlazeDS](FC)10/15/2008 14:20:58.317 [ERROR] [Endpoint.AMF] Unknown AMF type '17'.
flex.messaging.io.UnknownTypeException: Unknown AMF type '17'.
at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:219)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:132)
at flex.messaging.io.amf.Amf3Input.readArray(Amf3Input.java:371)
at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:157)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:132)
at flex.messaging.io.amf.Amf3Input.readScriptObject(Amf3Input.java:473)
at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:153)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:132)
at flex.messaging.io.amf.Amf0Input.readObjectValue(Amf0Input.java:135)
at flex.messaging.io.amf.Amf0Input.readArrayValue(Amf0Input.java:326)
at flex.messaging.io.amf.Amf0Input.readObjectValue(Amf0Input.java:139)
at flex.messaging.io.amf.Amf0Input.readObject(Amf0Input.java:95)
at flex.messaging.io.amf.AmfMessageDeserializer.readObject(AmfMessageDeserializer.java:222)
at flex.messaging.io.amf.AmfMessageDeserializer.readBody(AmfMessageDeserializer.java:201)
at flex.messaging.io.amf.AmfMessageDeserializer.readMessage(AmfMessageDeserializer.java:121)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:114)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:315)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at flex.messaging.security.TomcatValve.invoke(TomcatValve.java:143)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

My call Remote AMF looks as follwing.

public function callActivity(obj_id : Number, activity_id : Number, parent_id : Number, params : Dictionary) : void
{
if(params == null) {
logger.warn("Attribute params is null -> set new Dictionary() object.");
params = new Dictionary();
}

logger.debug("callActivity:: obj_id=" + obj_id + " , activity_id=" + activity_id + " , parent_id=" + parent_id+ ", params=" + params);

var call : Object = service.callActivity(obj_id, activity_id, parent_id, params);
call.addResponder(responder);
}
 
 Expected Results:
 
 
 Workaround (if any):
 
Reinstall Flash Player Version 9
 
Language Found: English
Bugbase Id: none
QA Owner: William Chan
Resolved by: wichan
Participants: aglosban, Cyrill Zadra, Sylvain Spodar, wichan and William Chan
JDK: Sun JDK 5
Application Server: Apache Tomcat 6.x


 All   Comments      Sort Order:
aglosban - [10/15/08 07:57 AM ]
William, can you take a look at this RemoteObject issue. Thanks.

Cyrill Zadra - [10/27/08 03:18 AM ]
Just checked the source code.

flex.messaging.io.amf.AmfTypeS contains

int kAvmPlusObjectType = 17;

flex.messaging.io.amf.Amf3Types doesn't contain the type 17.

flex.messaging.io.amf.Amf0Input handles the Amf type 17 in the method readObjectValue(int type).

            case kAvmPlusObjectType:

                if (avmPlusInput == null)
                {
                    avmPlusInput = new Amf3Input(context);
                    avmPlusInput.setDebugTrace(trace);
                    avmPlusInput.setInputStream(in);
                }

                value = avmPlusInput.readObject();
                break;


flex.messaging.io.amf.Amf3Input doesn't handle this type.

Maybe this information will help you.


wichan - [10/29/08 11:48 AM ]
Thank you for reporting. Can you check your player version? I cannot reproduce it using 10,0,0,602

Cyrill Zadra - [10/30/08 07:36 AM ]
I use the player version 10,0,12,36.
Flex SDK 3.0.3

After some more investigation I found out that it's not the change of flash player version.

It works with the following setting.

flash player 10.0.12.36
sdk 3.0.3
Required Flash Player Required (in Flex Builder) is set to: 9.0.36

It doesn't work with the following setting.

flash player 10.0.12.36
sdk 3.0.3
Required Flash Player Required (in Flex Builder) is set to: 10.0.0

I followed the the instructions -> http://opensource.adobe.com/wiki/display/flexsdk/Targeting+Flash+Player+10+Beta

1) Removed playerglobal.swc from Flex SDK
2) Added flex_sdk_3.0.3.2490\frameworks\libs\player\10\playerglobal.swc as type "External".


Cyrill Zadra - [05/08/09 05:48 AM ]
I uploaded a testcase, which should show you the error in a easy way.

* required player version is set to 10.0.0

Sylvain Spodar - [05/28/09 01:12 PM ]
Hello,

I updated a working project yesterday, because i need some flash player 10 functionalities, and i got same problem.
The problem occurs when i try to send some complex objects through amfphp (same with zend amf), i got this php error :
Uncaught exception 'VerboseException' with message 'undefined Amf3 type encountered: 17' in /home/www/workspace/spodar/data/storeFactoryBO/core/amf/io/AMFDeserializer.php:351

Looks like using the version 10 of playerglobal.swc is the problem