salut tout le monde;
dans le cadre d'une application java/flex basée sur BlazeDS, j essaie de sérialiser une classe java B.java (un VO) vers un vo B.as
mais je reçois l'erreur suivante:
voici mes classes B:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ArgumentError: Error #2173: Impossible de lire l'objet dans le flux. La classe vo.externalizable.B n'implémente pas flash.utils.IExternalizable, mais est aliasée vers une classe externalisable. at ObjectInput/readObject() at mx.messaging.messages::AbstractMessage/readExternal()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\messages\AbstractMessage.as:377] at mx.messaging.messages::AsyncMessage/readExternal()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\messages\AsyncMessage.as:146] at mx.messaging.messages::AcknowledgeMessage/readExternal()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\messages\AcknowledgeMessage.as:77]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package vo.externalizable; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; public class B implements Externalizable { private String b; public void setB(String b){ this.b = b; } @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { // TODO Auto-generated method stub setB((String)in.readObject()); } @Override public void writeExternal(ObjectOutput out) throws IOException { // TODO Auto-generated method stub out.writeObject(b); } }qq'un a une idée sur l'origine de cette erreur !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package externalizable { import flash.utils.IDataInput; import flash.utils.IDataOutput; import flash.utils.IExternalizable; [RemoteClass(alias="vo.externalizable.B")] public class B implements IExternalizable { public var b:String; public function B() { } public function writeExternal(output:IDataOutput):void { output.writeObject(b); } public function readExternal(input:IDataInput):void { trace("#########"); b = (String) input.readObject(); } } }
merci pr l'aide
Partager