Skip to Content
author's profile photo Former Member
Former Member

JCo RFC Provider

Hello everybody,

I am working on a SAP/R3-System and trying to connect R3 with a JCO Server on a NetWeaver (CE7.1). I have created and tested the JCO RFC Provider at the NetWeaver and a RFC-Destination at the SAP/R3-System.

In a next step I want to transfer an IDoc, containing order-data, to the NW-System. For this I use the transaction ”me21n”. R/3 submits the IDoc correctly. I know this, because of for further testing I implemented a JCo.Server with the method handleRequest(JCO.Function function) in a normal JAVA class. This JAVA-application gets the order-data.

But my task is to receive the data via the JCO RFC Provider of the NW-System. So I have implemented and deployed a Bean with the JNDI name “IDoc_INBOUND_ASYNCHRONOUS” (business-method: processFunction(JCO.Function function)) at the NW-System. It seems, that this Bean is called from the JCO RFC Provider but throws an exception I can´t fix.

Do you have any ideas?

Here the error-message:

java.lang.RuntimeException: Bean IDOC_INBOUND_ASYNCHRONOUS not found on host AAM-NetWeaver, ProgId =NW_ORCL_PO: Exception during lookup operation of object with name rfcaccessejb/IDOC_INBOUND_ASYNCHRONOUS, cannot resolve object reference.

at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:121)

at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:269)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)

Caused by: com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception during lookup operation of object with name rfcaccessejb/IDOC_INBOUND_ASYNCHRONOUS, cannot resolve object reference. Root exception is javax.ejb.EJBException: Bean sap.com/JcoEAR*annotation

at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:528)

at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:266)

at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:286)

at javax.naming.InitialContext.lookup(InitialContext.java:351)

at javax.naming.InitialContext.lookup(InitialContext.java:351)

at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:104)

... 5 more

Caused by: javax.ejb.EJBException: Bean sap.com/JcoEARannotation|JCoEJB.jarannotation|JCoListenerBean does not expose RFC access

at com.sap.engine.services.ejb3.runtime.impl.RFCNamingObjectFactory.getObjectInstance(RFCNamingObjectFactory.java:25)

at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:283)

at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:464)

... 10 more

Thanks a lot for your help.

Stefan

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Apr 21, 2008 at 02:05 PM

    I'm not quite sure, but there are two things in the stack trace I noticed:

    Caused by: com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception during lookup operation of object with name rfcaccessejb/IDOC_INBOUND_ASYNCHRONOUS, cannot resolve object reference. Root exception is javax.ejb.EJBException: Bean sap.com/JcoEAR*annotation

    you should check the jndi-service if the object exists, and if its linked to you ejb... probably do a manual jndi lookup and execute it manually

    second is

    Caused by: javax.ejb.EJBException: Bean sap.com/JcoEARannotation|JCoEJB.jarannotation|JCoListenerBean does not expose RFC access

    you need to do that, I don't have in mind how, but I think its a certain interface, am I right? check the tutorial on sap rfc service

    hope that helps

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.