on 01-11-2011 12:51 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
83 | |
24 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.