Expand my Community achievements bar.

What Unsupported Operation do you mean?

Avatar

Level 2
My application is mysteriously raising the following
exception:



[RPC Fault
faultString="java.lang.UnsupportedOperationException"
faultCode="null" faultDetail="null"]

at mx.data::ConcreteDataService/
http://www.adobe.com/2006/flex/mx/internal::dispatchFaultEvent()

at mx.data::CommitResponder/::sendCommitEvent()

at mx.data::CommitResponder/::sendEvents()

at mx.data::CommitResponder/::dispatchFaultEvents()

at mx.data::CommitResponder/result()

at mx.rpc::AsyncRequest/acknowledge()

at
::NetConnectionMessageResponder/NetConnectionChannel.as$37:NetConnectionMessageResponder::resultHandler()

at mx.messaging::MessageResponder/result()



The exception is being raised by the ActionScript call:


dsItems.fill(oItems, tsgUser.id, tsgSheet.beginDate);

which is the one and only call to this data service in the
application.



The data service is instantiated as:


dsItems = new DataService("tsg_itemsvc");



which is configured as:



<destination id="tsg_itemsvc">



<adapter ref="java-dao" />



<properties>


<source>com.trl.flexds.assemblers.TimeItemAssembler</source>

<scope>application</scope>



<metadata>

<identity property="itemId" type="java.lang.Long"/>

</metadata>



<network>

<session-timeout>20</session-timeout>

<paging enabled="false" pageSize="10" />

<throttle-inbound policy="ERROR" max-frequency="500"/>

<throttle-outbound policy="REPLACE"
max-frequency="500"/>

</network>



<server>

<fill-method>

<name>fill</name>

<params>java.lang.Integer</params>

</fill-method>

<fill-method>

<name>fill</name>


<params>java.lang.Integer,java.util.Date</params>

</fill-method>

<fill-method>

<name>fill</name>


<params>java.lang.Integer,java.util.Date,java.util.Date</params>

</fill-method>

<fill-method>

<name>fill</name>


<params>java.lang.Integer,java.util.Date,java.util.Date,java.lang.Boolean</params>

</fill-method>

<sync-method>

<name>syncItem</name>

</sync-method>

</server>



</properties>

</destination>



The assembler class is declared as:


public class TimeItemAssembler extends AbstractAssembler



and implements the following methods:


public Collection fill(Integer iEmpId)


public Collection fill(Integer iEmpId, Date dBegin)


public Collection fill(Integer iEmpId, Date dBegin, Date
dEnd)



public Collection fill(Integer iEmpId, Date dBegin, Date dEnd,
Boolean lTotal)



public Object getItem(Map oItem)


public void createItem(Object oTarg)


public List syncItem(List oChanges)



The requested fill ultimately executes properly - the items
are returned. So what unsupported operation is being attempted? Any
help would be appreciated.



Mark
4 Replies

Avatar

Level 3
Hi Mark,



I'm not sure I'm following - so you get a fault event but the
arraycollection on the client is also correctly filled?



Best,

Seth

Avatar

Level 2
Sorry about the delayed response.



That's correct, the fill occurs correctly, but the fault
still occurs. I have since resolved the problem - the fault was not
related to the fill. At another point in the code, I was
unintentionally modifying some of the items in the fill, and the
system was attempting to write the changes back to the database.
Ultimately the fault led to discovering an error in my code, but I
still do not understand why it was being raised. Although it's a
stub, there is an implemented sync method with the prescribed
signature.



Thank you for your interest.



Mark

Avatar

Level 3
Hi Mark,



Can you provide a bit more detail on what the specific
problem was. I'd like to try to repro it and at the least see if we
could improve the error message for this case.



Thanks,

Seth

Avatar

Level 2
Hi Seth,



OK. I don't have the code available at the moment, but when I
get back to it, I'll post the syncItems method from the assembler
and the Action Script code that was raising the fault. The data
service configuration is posted verbatim above.



Mark