cancel
Showing results for 
Search instead for 
Did you mean: 

IDocRuntimeException: Unable to get metadata

Former Member
0 Kudos

Hello everybody,

I found that this topic has been discussed partially but the results of the discussion didn't help me:(

So I hope you might have a look over this also

it is not a unicode problem and it is not related to user credentials.

Technically we use java 1.6.0_16 and sap jco 3.0.5 (also tested with 3.0.6, but didn't work ither).

I have a software for idoc-transfer. when I start that software it registeres itself with a programID at SAP. So far no problems. after that we receive several iDocs (i.e. 1.000 LOIPRO + 5.000 MATMAS). If we than have a SAP disconnect due to connection problems (maybe someone cut the wireless-lan-cable ) we remove the jco.destination and try to reach SAP again (i.e. 700 LOIPROS and 4.900 MATMAS where already transfered). After successfull reconnect we receive the rest of the idocs. So everything is pretty nice until now.

The problem ONLY occurs if we try to send an IDoc, the structure was not in the repository BEFORE the disconnect. In that case we gain the following error message:


Server exception occurred: com.sap.conn.idoc.IDocRuntimeException: Unable to get metadata for /LOIMSO with extension 
                at com.sap.conn.idoc.jco.rt.SAPRepository.queryRootSegmentMetaData40(SAPRepository.java:1310)
                at com.sap.conn.idoc.jco.rt.SAPRepository.queryRootSegmentMetaData(SAPRepository.java:1141)
                at com.sap.conn.idoc.jco.rt.SAPRepository.getRootSegmentMetaData(SAPRepository.java:907)
                at com.sap.conn.idoc.rt.DefaultIDocDocument.<init>(DefaultIDocDocument.java:119)
                at com.sap.conn.idoc.jco.rt.JCoIDocDocument.<init>(JCoIDocDocument.java:92)
                at com.sap.conn.idoc.jco.rt.JCoIDocDocument.createIDocDocument(JCoIDocDocument.java:170)
                at com.sap.conn.idoc.jco.rt.JCoIDocRuntime.createIDocDocumentList(JCoIDocRuntime.java:80)
                at com.sap.conn.idoc.jco.JCoIDoc$DefaultJCoIDocRuntime.createIDocDocumentList(JCoIDoc.java:144)
                at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServerWorker$IDocDispatcher.handleRequest(DefaultJCoIDocServerWorker.java:107)
                at com.sap.conn.jco.rt.DefaultServerWorker.dispatchRequest(DefaultServerWorker.java:153)
                at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(MiddlewareJavaRfc.java:3300)
                at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.executePlayback(MiddlewareJavaRfc.java:2780)
                at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2598)
                at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2489)
                at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2310)
                at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:277)
                at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:337)
                at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:238)
                at java.lang.Thread.run(Thread.java:619)
Caused by: com.sap.conn.jco.JCoException: (180) JCO_ERROR_DESTINATION_DATA_INVALID: Destination JCOPool was removed. Check the destination configuration.
                at com.sap.conn.jco.rt.RfcDestination.getRepository(RfcDestination.java:846)
                at com.sap.conn.jco.rt.RfcDestination.getRepository(RfcDestination.java:28)
                at com.sap.conn.jco.rt.ConnectionManager.internalExecute(ConnectionManager.java:274)
                at com.sap.conn.idoc.jco.rt.SAPRepository$ConnectionProvider.execute(SAPRepository.java:1639)
                at com.sap.conn.idoc.jco.rt.SAPRepository.queryRootSegmentMetaData40(SAPRepository.java:1265)
                ... 18 more 

If (at the next test) we start with LOIMSO + LOIPRO, then disconnect + reconnect and then send MATMAS we gain the error with meta-data-error on matmas.

I just learned, that the Destination JCOPool is still filled with appropriate content at the very moment the exception is thrown. At least it is the destination information we created to pass to jco. How jco is doing it at all... i don't know

Any help would be really appreciated!

Regards

Sebastian

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Did you also check with the IDocLib 3.0.5 (and not only with JCo 3.0.6)?

This bug is adressed in the release notes of the Java IDoc Library 3.0.5.

Former Member
0 Kudos

yes we are implemented SAP IDoc Class Library 3.0.5

so it is part of what we see

EDIT: thank you very much! I checked the links of idoc class lib and there was a 3.0.4 remaining... changed it to 3.0.5 --> works

Edited by: Sebastian Holzschuh on Oct 29, 2010 2:53 PM

Answers (0)