* А чего должен возвращать метод
service.addComment (cmt)?
* Потом у тебя в классе CommentDTO - нету ни одного свойства. Это не джава
Первый вариант, если убрать метатаг [Bindable]

Код:
package webservice {
[RemoteClass(alias="webservice.CommentDTO")]
public class CommentDTO {
private var _id:Number;
private var _unitId:Number;
private var _userName:String;
private var _comment:String;
public function CommentDTO (source:Object=null) {
super();
if (source != null) {
for (var i:String in source) {
try {
this[i] = source[i];
} catch (e:Error) {
//ignore
}
}
}
}
public function get comment():String {
return _comment;
}
public function set comment (comment:String):void {
_comment = comment;
}
public function get id():Number {
return _id;
}
public function set id (id:Number):void {
_id = id;
}
public function get unitId ():Number {
return unitId;
}
public function set unitId (unitId:Number):void {
_unitId = unitId;
}
public function get userName():String {
return _userName;
}
public function set userName (userName:String ):void {
_userName = userName;
}
}
}
Второй вариант с метатагам [Bindable]

Код:
package webservice {
[Bindable]
[RemoteClass(alias="webservice.CommentDTO")]
public class CommentDTO {
public var id:Number;
public var unitId:Number;
public var userName:String;
public var comment:String;
public function CommentDTO (source:Object=null) {
super();
if (source != null) {
for (var i:String in source) {
try {
this[i] = source[i];
} catch (e:Error) {
//ignore
}
}
}
}
}
Компилятор в данном случае сам создаст на
ВСЕ паблик свойства геттер/cеттеры.
то есть, свойство типа:

Код:
public var name:String
трансфортмируется в:

Код:
[Bindable(event="propertyChange")]
public function get name ():String {
return _name;
}
public function set name (value:String):void {
var evt:PropertyChangeEvent;
if (_name != name) {
evt = PropertyChangeEvent.createUpdateEvent (this, 'name', _name, value));
_name = value;
dispatchEvent (evt);
} // end if
}