cancel
Showing results for 
Search instead for 
Did you mean: 

Troubleshooting RFC -> External Program

former_member205400
Active Participant
0 Kudos

I have a 7.0 BI system and I'm trying to troubleshoot a SM59 type T connection to my registered program ID.

I have configured the SM59 and the external program.

I can see the "registered program" in tcode SMGW clicking on GoTo | Logged on clients.

My interface to the external program works as well (i can see the results on the server), however ..... When I put the SM59 in "SNC - Active" then it does not work !!!

So ... I'm wondering if I can see if the SMGW connection is a SNC one? Is this possible?

Mike

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos
former_member205400
Active Participant
0 Kudos

Yes, that is the document that i have been using. It is a great doc, but it doesn't tell me how to verify that my "registered sever" sys type is coming across is "snc" or not.

On pg 2-9 it shows a matrix on SAP System Comm Paths. I shows sap sys -> ext pgm using RFC and CPIC. I think i have it set up correctly, just don't understand how to verity that the connection is SNC. Again, it works fine when SNC is NOT enabled on the SM59. Note that I have't made any changes on the External Side.

When I use some SM59 snc names and test using rfc-ping or the connection test it hangs up, but another gets an error. The SNC name I think is appropriate on the SM59 is the domain account that is running on the external server "service".

Thanks for your response!

former_member205400
Active Participant
0 Kudos

I activated my trace and I see that my external box is opening the service without SNC being active.

This is what I see:

        • Trace file opened at , SAP-REL 640,0,117 RFC-VER 3 815402 MT-SL

*> RfcAcceptExt: -aAERSND02_BO_MARNEDW01 -gaersnd02.mycomp.com -xsapgw06

*> RfcInstallUnicodeStructure

name = ARFCSDATA

elements = 5FA770C0

entries = 14

Field Type Dec. Len.1 Off.1 Len.1 Off.2 Len.4 Off.4

-


arfcipid RFCTYPE_CHAR 0 8 0 16 0 32 0

arfcpid RFCTYPE_CHAR 0 4 8 8 16 16 32

arfctime RFCTYPE_CHAR 0 8 12 16 24 32 48

arfctidcnt RFCTYPE_CHAR 0 4 20 8 40 16 80

arfcdest RFCTYPE_CHAR 0 32 24 64 48 128 96

arfcluwcnt RFCTYPE_CHAR 0 8 56 16 112 32 224

arfcblcnt RFCTYPE_BYTE 0 4 64 4 128 4 256

arfcdata01 RFCTYPE_BYTE 0 255 68 255 132 255 260

arfcdata02 RFCTYPE_BYTE 0 255 323 255 387 255 515

arfcdata03 RFCTYPE_BYTE 0 255 578 255 642 255 770

arfcdata04 RFCTYPE_BYTE 0 255 833 255 897 255 1025

arfcdata05 RFCTYPE_BYTE 0 255 1088 255 1152 255 1280

arfcdata06 RFCTYPE_BYTE 0 255 1343 255 1407 255 1535

arfcdata07 RFCTYPE_BYTE 0 255 1598 255 1662 255 1790

*< RfcInstallStructure

name = ARFCSDATA

-> typehandle = 0000001F

*> RfcInstallStructure

name = %UTF16SDATA%

elements = 5FA774E8

entries = 14

Field Type Len Decimals

-


arfcipid RFCTYPE_CHAR 16 0

arfcpid RFCTYPE_CHAR 8 0

arfctime RFCTYPE_CHAR 16 0

arfctidcnt RFCTYPE_CHAR 8 0

arfcdest RFCTYPE_CHAR 64 0

arfcluwcnt RFCTYPE_CHAR 16 0

arfcblcnt RFCTYPE_BYTE 4 0

arfcdata01 RFCTYPE_BYTE 255 0

arfcdata02 RFCTYPE_BYTE 255 0

arfcdata03 RFCTYPE_BYTE 255 0

arfcdata04 RFCTYPE_BYTE 255 0

arfcdata05 RFCTYPE_BYTE 255 0

arfcdata06 RFCTYPE_BYTE 255 0

arfcdata07 RFCTYPE_BYTE 255 0

*< RfcInstallStructure

name = %UTF16SDATA%

-> typehandle = 00000020

L-GetCodePage (DEFAULT-CP) rc = 0: 1100

resize I/O buffer to 16000 bytes

>>>> [1] < accepted > : REG <ac: 1> L >>> ACCEPT

*> RfcRegisterProgram ...

Server Program ID = AERSND02_BO_MARNEDW01

Host name of Gateway = aersnd02.mycomp.com

Service of Gateway = 3306

RFC-Trace = OFF

SNC Own Name =

SNC Library Name =

RFC Handle = 1

<* RfcRegisterProgram ended successfully

<* RfcAcceptExt ended successfully [1] *>

*> RfcClose called by external program ...

handle = 1

*> rfcClose called by RFC-Library in file: abrfc.c, line: 532

handle = 1

>>>> [1] < accepted > : REG <ac: 2> L >>> CLOSE abrfc.c 585

>>>> [1] < accepted > : REG <ac: 3> L >>> FREE abrfc.c 587

        • Trace file opened at , SAP-REL 640,0,117 RFC-VER 3 815402 MT-SL

<* rfcClose

>* RfcClose

I think this gets fed in the service that is run just like the startrfc.exe command

former_member205400
Active Participant
0 Kudos

In my dev_rfc.trc I see:

        • ERROR file opened at , SAP-REL 640,0,117 RFC-VER 3 815402 MT-SL

T:7164 Error in program 'Dummy': <* RfcWaitForRequest [1] : returns 1:RFC_FAILURE

Is this a generic message?

Can someone point me to a specific area to investigate based on this message?

Mike

former_member205400
Active Participant
0 Kudos

I anabled a RFC Trace onthe SM59 and I get this:

-


trc file: "CPICTRC2044", trc level: 2, release: "640"

-


[Thr 9076] Thu Oct 16 11:20:28 2008

[Thr 9076] opened by SAP_CMACCPTP

[Thr 9076] *************** SAP_CMACCPTP ***************

[Thr 9076] SAP_CMACCPTP: partner send trace level 2

[Thr 9076] SAP_CMACCPTP: new buffer state = BUFFER_EMPTY

[Thr 9076] SAP_CMACCPTP: SNC required

[Thr 9076] <<- SncSetParam()==SAP_O_K

[Thr 9076] SncInit(): Initializing Secure Network Communication (SNC)

[Thr 9076] PC with Windows NT (mt,ascii,SAP_UC/size_t/void* = 8/32/32)

[Thr 9076] SncInit(): Trying user/application supplied as a

gssapi library name: "C:\WINDOWS\system32\gsskrb5.dll".

[Thr 9076] load shared library (C:\WINDOWS\system32\gsskrb5.dll), hdl 0

[Thr 9076] using "C:\WINDOWS\system32\gsskrb5.dll"

[Thr 9076] File "C:\WINDOWS\system32\gsskrb5.dll" dynamically loaded as GSS-API v2 library.

[Thr 9076] Thu Oct 16 11:20:29 2008

[Thr 9076] The internal Adapter for the loaded GSS-API mechanism identifies as:

Internal SNC-Adapter (Rev 1.0) to Kerberos 5/GSS-API v2

[Thr 9076] <<- SncInit()==SAP_O_K

[Thr 9076] sec_avail = "true"

[Thr 9076] <<- SncSessionInit()==SAP_O_K

[Thr 9076] out: &snc_hdl = 00E58950

[Thr 9076] <<- SncSetMyName()==SAP_O_K

[Thr 9076] in: myname = "p:host/mybisys.mycomp.com/@xyz.us.mycomp.com"

[Thr 9076] <<- SncSetQOP()==SAP_O_K

[Thr 9076] in: qop values = "min=9 (max default), max=9 (max default), use=9 (max default)"

[Thr 9076] resulting = "min=3 (old:2), max=3 (old:3), use=3 (old:3)"

[Thr 9076] <<- SncSessionAcceptor()==SAP_O_K

[Thr 9076] STISncInit: set snc state to SNC_ENABLED

[Thr 9076] SAP_CMACCPTP: conversation id = >82071840< ok

[Thr 9076] *************** STIRCV ***************

[Thr 9076] STIRCV: conversation_ID: 82071840

[Thr 9076] STIRCV: requested_length: 16000 bytes

[Thr 9076] STISearchConv: found conv without search

[Thr 9076] STIRCV: new buffer state = BUFFER_EMPTY

[Thr 9076] NiIWrite: write 80, 1 packs, MESG_IO, hdl 1, data complete

[Thr 9076] STIAsSendToGw: Send to Gateway o.k.

[Thr 9076] STIAsRcvFromGw: timeout value: -1

[Thr 9076] NiIPeek: peek successful for hdl 1 / socket 1284 (r)

[Thr 9076] NiIRead: read 80, 2 packs, MESG_IO, hdl 1, data complete

[Thr 9076] STIAsRcvFromGw: Receive from Gateway o.k.

[Thr 9076] STIAsRcvFromGw: appc rc = CM_DEALLOCATED_NORMAL , sap rc = SAP_O_K

[Thr 9076] STIRCV: rem code page = >4102<

[Thr 9076] data before snc

[Thr 9076] Adresse Offset received raw data from gateway (appc header)

[Thr 9076] -


[Thr 9076] 00ECBEA8 000000 00000000 00000000 00000000 00000000 |................|

[Thr 9076] 00ECBEB8 000016 00000000 00000000 00000000 00000000 |................|

[Thr 9076] 00ECBEC8 000032 00000000 00000000 00000000 00000000 |................|

[Thr 9076] 00ECBED8 000048 00000000 00000000 00000000 00000000 |................|

[Thr 9076] 00ECBEE8 000064 00000000 00000000 00000000 00000000 |................|

[Thr 9076] -


[Thr 9076] ---> start snc processing

[Thr 9076] ->> SncProcessInput(snc_hdl=00E58950, ibuf=00ECBEA8, ilen=0, &obuf=0012E80C,

&olen=0012E810, &backbuf=0012E814, &backlen=0012E820)

[Thr 9076] <<- SncProcessInput()==SAP_O_K

[Thr 9076] return values = "(no data) in=0, back=0, out=0"

[Thr 9076] STISncIn: SncProcessInput: snc_rbuflen=0,snc_backbuflen=0

[Thr 9076] <--- end snc processing

[Thr 9076] STIRCV: data_received: CM_NO_DATA_RECEIVED

[Thr 9076] STIRCV: received_length: 0

[Thr 9076] STIRCV: status_received: CM_NO_STATUS_RECEIVED

[Thr 9076] STIRCV: request_to_send_received: CM_REQ_TO_SEND_NOT_RECEIVED

[Thr 9076] STIRCV : CM_DEALLOCATED_NORMAL (ok)

[Thr 9076] <<- SncSessionDone()==SAP_O_K

[Thr 9076] NiIPeek: peek for hdl 1 / socket 1284 timed out (r; 10)

[Thr 9076] NiIWrite: write 80, 1 packs, MESG_IO, hdl 1, data complete

[Thr 9076] STIAsSendToGw: Send to Gateway o.k.

[Thr 9076] STISendToGw: send request SAP_UNACCPTP to gateway

[Thr 9076] STIDEAL: conv[0].reg_state (reg_hook) = REG_INIT

[Thr 9076] *************** SAP_CMUNREGTP ***************

[Thr 9076] STISearchConv: found conv after search (0)

[Thr 9076] NiIWrite: write 80, 1 packs, MESG_IO, hdl 1, data complete

[Thr 9076] STIAsSendToGw: Send to Gateway o.k.

[Thr 9076] STISendToGw: send request SAP_UNREGTP to gateway

[Thr 9076] NiICloseHandle: shutdown and close hdl 1 / socket 1284

[Thr 9076] SAP_CMUNREGTP: handle: (1284/1) ok

[Thr 9076] NiIExit: free nitab 00E62A58

Can anyone see where the problem is in this CPICTRC?

So the message CM_NO_DATA_RECEIVED in the trace do you think that it means my snc names I am using are incorrect or is that a symptom of another problem?

Edited by: Michael Hill on Oct 28, 2008 4:34 PM