cancel
Showing results for 
Search instead for 
Did you mean: 

JCo & qRFC / IDOC_INBOUND_IN_QUEUE Error

Former Member
0 Kudos

Hello everybody,

I have a java based server application, transporting IDocs between MES + SAP ERP. Till now I used tRFC for transfering IDocs from SAP to my server application. at the moment I'm checking out, how to use qRFC with my application. I changed everything in SAP as required, so SAP is sending via qRFC. In my server application itself I didn't change anything yet.

I'm told the following error message, while trying to receive the IDoc from SAP in my server application:


JCO_ERROR_SYSTEM_FAILURE: the call handler factory [com.sap.conn.idoc.jco.rt.DefaultJCoIDocCallHandlerFactory] returns null for the function IDOC_INBOUND_IN_QUEUE (raised by system mycomputer|a_rfc)
	at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:662)
	at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2450)
	at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:278)
	at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:363)
	at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:239)
	at java.lang.Thread.run(Thread.java:619)
Caused by: RfcException: [mycomputer|a_rfc]
    message: the call handler factory [com.sap.conn.idoc.jco.rt.DefaultJCoIDocCallHandlerFactory] returns null for the function IDOC_INBOUND_IN_QUEUE
    Return code: RFC_FAILURE(1)
    error group: 104
    key: RFC_ERROR_SYSTEM_FAILURE
Exception raised by mycomputer|a_rfc

	at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.executePlayback(MiddlewareJavaRfc.java:2840)
	at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2653)
	at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2544)
	at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2365)
	... 4 more
Caused by: RfcException: [mycomputer|a_rfc]
    message: the call handler factory [com.sap.conn.idoc.jco.rt.DefaultJCoIDocCallHandlerFactory] returns null for the function IDOC_INBOUND_IN_QUEUE
    Return code: RFC_FAILURE(1)
    error group: 104
    key: RFC_ERROR_SYSTEM_FAILURE
Exception raised by mycomputer|a_rfc

	at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(MiddlewareJavaRfc.java:3388)
	at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.executePlayback(MiddlewareJavaRfc.java:2835)
	... 7 more
Caused by: com.sap.conn.jco.JCoRuntimeException: (128) JCO_ERROR_NOT_SUPPORTED: the call handler factory [com.sap.conn.idoc.jco.rt.DefaultJCoIDocCallHandlerFactory] returns null for the function IDOC_INBOUND_IN_QUEUE
	at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServerWorker$IDocDispatcher.handleRequest(DefaultJCoIDocServerWorker.java:86)
	at com.sap.conn.jco.rt.DefaultServerWorker.dispatchRequest(DefaultServerWorker.java:154)
	at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(MiddlewareJavaRfc.java:3359)
	... 8 more

I'm using SAPJco 3.0.6 with SAPIDoc 3.0.5 and JAVA 1.6.0_16-b01

Any idea / help is appreciated.

Thanks in advance

Sebastian

Edited by: Sebastian Holzschuh on Jan 11, 2011 1:51 PM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member

Hi Sebastian,

A questionable comment coming in late; I'm hoping though that there might be at least little value to it...

First of all we have to distinguish between outbound and inbound qRFC. And though you can have a mixture of them, I recommend taking a quick peek at the online help on the [qRFC communication model|http://help.sap.com/saphelp_nw70ehp2/Helpdata/EN/e7/555e3c0f51a830e10000000a114084/frameset.htm], where you can see that obviously using an outbound RFC queue is completely transparent to the recipient (and doesn't require any changes as long as the RFC server program is capable to handle transactions). So your external JCo IDoc server should work fine with an outbound qRFC queue (e.g. see [qRFC Outbound Queue|http://help.sap.com/saphelp_nw70ehp2/Helpdata/EN/3b/befa40badbf46fe10000000a1550b0/frameset.htm]).

Now I don't know if technically you could implement a JCo server program that uses inbound qRFC. Though the help mentions qRFC for interface JCoServerTIDHandler I don't really see API support in JCo for inbound qRFC. I'm be curious to hear some comments from others about that, my guess is that one would implement a custom queuing mechanism outside the SAP API...

Cheers, harald