cancel
Showing results for 
Search instead for 
Did you mean: 

NCO3 client with SSO connection

Former Member
0 Kudos

Hello @all,

i have successfully used nco3 as client (.net framework 3.5 / VS 2008) with an application server connection.

I tried several ways to connect with SncMode="1" without luck. But if I use the NCO2 it works. From the NCO2 I looked at the connectionstring and use the parameters:

                p[RfcConfigParameters.AppServerHost] = "r3-pq1";
                p[RfcConfigParameters.SystemNumber] = "1";
                p[RfcConfigParameters.SncMode] = "1";
                p[RfcConfigParameters.SncPartnerName] = "p:<domain>\\<user>";
                p[RfcConfigParameters.SncLibraryPath] = "\"C:\\Windows\\system32\\sncgss32.dll\"";

Whith this I get the error message: "Connection refused".

In the CPIC-Trace I see that the used port is "3300". The NCO2 used the port "3301". So I set the parameter GatewayService to "3301" (with this, the port is "3301"). But now I get the error message:

"Could not find a suitable SAP user for the SNC name of the caller".

Is this the wrong way or is there something missing more or is the used scndll not the right one?

Anyone can help me???

Thanks a lot.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

I have been able to use the NCo3 as both a client and with SSO. I have also been able to write up Sharepoint 2010 webparts using the connection in both client and SSO modes.

You have almost everything needed to login. Here is what I am using.

RfcConfigParameters parms = new RfcConfigParameters();

parms.Add(RfcConfigParameters.Language, "EN");

parms.Add(RfcConfigParameters.PoolSize, "10");

parms.Add(RfcConfigParameters.MaxPoolSize, "50");

parms.Add(RfcConfigParameters.IdleTimeout, "15000");

parms.Add(RfcConfigParameters.AppServerHost, "Server.<Domain>.<Company>.COM");

parms.Add(RfcConfigParameters.Client, "040");

parms.Add(RfcConfigParameters.SystemNumber, "00");

parms.Add(RfcConfigParameters.SncMode, "1");

parms.Add(RfcConfigParameters.SncLibraryPath, @"C:\WINDOWS\system32\gx64krb5.dll");

parms.Add(RfcConfigParameters.SncPartnerName, @"p:SAPService<sid>@<Domain>.<Company>.COM");

parms.Add(RfcConfigParameters.SncMyName,@"p:<user> @<User_Domain>.<User_Company>.COM);

Be careful to make sure that the user name is the same as in SU01 => SNC. We found this to be case sensitive. As long as SNC has been setup in your system this should work. You may need to double check the SncPartnerName with Basis.

Also since you will more than likely have more than one user working at a time. I have had to make sure that when I create the RFCDestination that I have a specific ID pass through for each call. That way you will prevent other errors down the road.

Former Member
0 Kudos

Thank you for your reply. I checked this and it works! The answer is: I forgot the Client number.

If you don't use the client number the NCO 2.0 log in at the default client (in our case "800"). The NCO 3.0 log in at client "000".

Former Member
0 Kudos

Thank you for your Information, very useful.

Can u please answer one question for me,..

we using Kerberos for Authentication, and ill try to connect to SAP with NCO 3.0-Webservice wich is hosted in IIS 7.5.

you wrote you have made SP2010 Webparts with NCO3, and so i hope you can help me out.

my Config is:

...

parms.Add(

RfcConfigParameters.SncLibraryPath, @"C:\Windows\SysWOW64\gx64krb5.dll");

parms.Add(RfcConfigParameters.SncMyName, SNC_Name.ToString()); //means SNC User like you defined in your post.

parms.Add(RfcConfigParameters.AppServerHost, "SERVER.DOMAIN");

//WCF-Service will Run at Windows Server 2008 R2 (IIS) is this a necessery Parameter ?

parms.Add(RfcConfigParameters.SncPartnerName, "p:SAPServiceSE1@SAPCLUSTER.LOCAL");

should i use the Name of the single SNC-Name of the SAP-System, or the SNC of the Windows Server, the System-User wich is running the WebService on the Server or i dont need this parameter?? <confused>

I've readed a bunch of Sites for NTLM Windows AUth, to SAP with NCO 3.0, but i think with Kerberos it is not still the Same.

Did i have to make Configurations for each User in SAP (Transaction SNC0) with Kerberos ?

I mean SAP trust Kerberos, and Windows trust Kerberos too.          

Really thx for your reply.

former_member197445
Contributor
0 Kudos

Thomas, if you're still around... did you ever get this solved?  I have a very similar situation, and if you could tell me what you ended up with, it would be helpful.  Can't hurt to ask, right?

Former Member
0 Kudos

Hi Case,.. i solved my Problem with this Parameters:

First, ensure your SNC work's with the SAP-GUI on your System.

AppServerHost  = "The IP for your Sap-System"

SAPRouter         = "/H and so on"

SystemNumber   =

Client                  =

SNCMODE        = "1"

SNCPARTNERNAME = "p: your SAP SNC" (look in your SAP GUI Configuration Network-Tab)

Hint: SNCPARTNERNAME means the Kerberos SNC Name for your Sap-System, not your Personal-Kerberos SNC.

SNCLIBARYPATH = "C:\Windows\SysWOW64\gx64krb5.dll" -> Ensure the File exist's there

And,. that's it.

No Windows Principal, no User-convert to String,.. Kerberos do it's work.

Hope it helps you out

greetz

Thomas

Former Member
0 Kudos

Thank you! Very useful for me also!

Filippo