Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Content Management (Extended ECM)
API, SDK, REST and Web Services
" get(name) not implemented for this datatype" - Got error when calling AddDocument
Cecilia_Qian
Hi There,I got the error message " get(name) not implemented for this datatype" when I call LAPI AddDocument() in my Java programs. Here is the codes:status = documents.AddDocument( volumeID, parentID, fileName, "//var//data//mydata//test.doc", objInfo, versionInfo );My file "test.doc" is on a unix machine. Does anybody have this problem before? Is there any thing wrong with the parameters, especially the filepath? Please help.Thanks.Regards,Cecilia
Find more posts tagged with
Comments
eLink User
Message from Carsten Kulms <
carsten.kulms@opentext.com
> via eLink
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
" get(name) not implemented for this datatype" - Got error when calling AddDocument
Please have a look at
https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&objId=8101020&objAction=view&show=2
for a general note about the "... not implemented for this datatype" errors.
I guess in your case the doubled slashes cause the trouble.
Louis_Routhier
I also had a similar problem but instead of being on adding it was on retrieval. I agree with what is said in the referenced post BUT only if you as a developper are calling a get function.In my case and I suppose in Cecili'as too, the error is coming from within a LAPI call not from personnal code so we don't have any control on it.
Carsten_Kulms
The error may occur also if your (client) code doesn't use the LLValue.get(String) method.The LAPI function stubs itself work with LLValue-s and therefore use that method. E.g. when evaluating the status of the operation as returned from LES.It follows an assembly of what I've posted already in the past on this issue (with some clarifications, I hope):Often this error indicates that something went really wrong in the execution of the function at LES. Technical background:Function parameters and return values are transfered via the `wire` in a special format of LLValue-s ("marshalled"). The same applies LAPI-internal data, e.g. what function to call at the LES and the overall status of the call (on reply): These items are transferred as fields of an Assoc. If, e.g. the execution of the LAPI function aborted at LES, then it may happen that no or no correct response is generated by LES. In that case even not the status information can be `unmarshalled` at the client. I.e. the (internal) Assoc which holds this data is missing. Then the attempt of the client LAPI code (the internal, not yours) to read e.g. the status field will result in "LLIllegalOperationException: get(name) not implemented for this datatype" because the LLValue object worked with does not support this field access function (it is not an Assoc or Record; likely it is a UNDEFINED LLValue.) So, the cause of this error can be inapprobiate error handling at the LES' side (e.g. because of not porperly checked function call parameter values), resulting in a wrong (or none) response to the LAPI client. (Which then in turn isn't correctly handled, too.)Usually a good starting point to find the cause is to check if there are any trace...log files at LES' side. (Written only if at least "detailed log level" is activated). If there's no such file, then it is often practicable to snif the communication between the LAPI client and LES, to see what actually is returned by LES (if anything at all).However, be warned: If you start to use such `debugging` techniques you may dive deeper into the technical details of LAPI than you ever wanted. ;-)
Louis_Routhier
You would be surprised as too how far deep I went in LAPI in the past! :P