background image

 

 

Create SAP Web Service with SAP 

.Net Connector in 5 minutes

Dennis Wang

Microsoft / EAS /SAP

background image

 

 

What is SAP .NET Connector

• SAP product. Based on Microsoft .NET 

Technology

• Interact with SAP via RFC/SOAP
• Fully integrated with Visual 

Studio.NET

• Managed Code

background image

 

 

Feature Highlight

• Generates C# Proxy Classes for any 

.NET application integrations

• Supports RFC and SOAP 
• Supports qRFC, tRFC
• Supports asynchronous SOAP calls
• RFC client or RFC server

background image

 

 

 

Common Language
Runtime

.NET

Connector

Runtime

Web

Services

VB C++

C#

Visual

 

Studio.NET

Microsoft .NET

Proxy

Class

Generator

SAP System

BOR

DDIC

Interface 

repository

RFC

SOAP

RFC Layer

Application

Run

time

.NET Connector

Component (generated)

Design

time

SOAP Layer

background image

 

 

Feature of Web Service

• It is ASP.Net Web Service
• Hosted by IIS. Using HTTP protocol
• Secure: SSL for connection. NTLM for 

authentication. Role base authorization.

• Single sign via NTLM GSSAPI
• Platform Neutral. Can be accessed via 

http protocol.

• Strong versioning via XML Namespace

background image

 

 

Steps to Create Web Service 

for RFC_Customer_Get

• Create a C# project for ASP.Net Web 

Service

• Generate SAP Proxy via SAP .Net Proxy 

Generator for RFC_Customer_Get

• Open Proxy1.cs and change the following 

line
public void Rfc_Customer_Get(…)  to
public virtual void Rfc_Customer_Get (…)

background image

 

 

Steps to Create Web Service for 

RFC_Customer_Get  (Continue)

• Open Service1.asmx and do the following 

modification

1.

public class Service1 : SAPProxy1

2.

public override void Rfc_Customer_Get (…)

3.

Add these code in this mothed

this.Connection = SAP.Connector.SAPConnectionPool.GetConnection 

(MyConnectionString);

base.Rfc_Customer_Get(Kunnr,Name1, ref Customer_T);

• Compile the code and you have the web 

service for this RFC. 

background image

 

 

Client
DomainA\dennisw
Run Window app 
and
Call Web Service

Web Service runs 
under 
DomainA\ProcAcct 
credential. This 
account then calls 
SAP RFC

1. SAP check 

DomainA\ProcAcct in 
USRSYSACL

2. SAP check 

DomainA\dennisw in 
vusrextid 

3. SAP check dennisw in 

USRACL

4. Run SAP process 

under dennisw 
account

How SAP Single Sign On 

work under ASP.Net Web 

Service

background image

 

 

Set up single sign on for web 

service

IIS Configuration

Disable anonymous access

Set up Windows Integrated Authentication

Web Service Configuration

Generate encrypted user name and password via 

aspnet_setreg.exe program. This value will then be set up 

in registry. Here we assume the user name is SAPCMDEV

Add the following line in Web.Config 

<identity impersonate=”true” 

sername=”registry:HKLM\Software\SapWebService\

Identity\ASPNET_SETREG,sername” 

password=”registry:HKLM\Software\SapWebService

\Identity\ASPNET_SETREG,password” /> 

background image

 

 

Set up single sign on for web service - 

Continue

• GSS Library

Requires on the server where Web Service is 

located.

Copy the GSSNTLM.DLL to 

c:\windows\system32

If the GSSNTLM.DLL was copied to a folder 

other then within the environment search path, 

you need to add the following line in system 

environment SNC_LIB=”file path\GSSNTLM.dll”

• Make sure to replace the gssapi32.dll with 

this GSSNTLM.dll if the old gssapi32.dll 

exists. The old gssapi32.dll does not work.

background image

 

 

Set up single sign on for web service - 

Continue

Create Entry in Table SNCSYSACL via SNC0

This table contains a list of trusted domain accounts or 
SNC.

Start SAP and run SNC0

Make sure to enable the RFC/CPIC/Ext ID options

background image

 

 

Set up single sign on for web service - 

Continue

• Make sure all users who access 

SAP will have their User 

Accounts in USRACL or via SU01

• Mapping external users into 

SAP users

• Run SM30 and table VUSREXTID
• Value: Work Area=NT. 
• Value: External ID = 

MYDomain\dennisw

background image

 

 

Set up single sign on for web service - 

Continue

• Program The Connection String with 

the following value:

– SNC_MODE=1;
– SNC_PARTNERNAME="p:" + 

System.Security.Principal.WindowsIdenti

ty.GetCurrent().Name;  ‘ Web Service 

Process Account

– EXTIDDATA=User.Identity.Name; ‘Caller 

credential

– EXTIDTYPE=“NT”;

background image

 

 

Access SAP Web Service via 

Microsoft InfoPath

ERP – RDBMS – HR - CRM

ERP – RDBMS – HR - CRM

ERP – RDBMS – HR - CRM

ERP – RDBMS – HR - CRM

Information Workers

Information Workers

Information Workers

Information Workers

Enterprise Applications

Enterprise Applications

Enterprise Applications

Enterprise Applications

XML

XML

Web

Web

Services

Services

XML

XML

Web

Web

Services

Services

You can use intelligent forms to interact with your existing 

You can use intelligent forms to interact with your existing 

applications

applications

You can use intelligent forms to interact with your existing 

You can use intelligent forms to interact with your existing 

applications

applications

background image

 

 

How does InfoPath 2003 connect to 

SAP?

 

• Utilize SAP RFC and BAPI. 
• Generate RFC/BAPI proxy by using SAP .Net 

Connector

• Create Web Service Wrapper around the proxy
• Hosting/Publish the web service via WSDL
• InfoPath Consume the web service

background image

 

 

Demo

background image

 

 

Resource

• SAP .Net Connector: 

https://websmp103.sap-ag.de/connectors

• InfoPath 2003 SDK

– Available on 

microsoft.com

 under downloads

• InfoPath 2003, Technical Webcasts, Technical White Papers, 

Development Guides

– MSDN

http://msdn.microsoft.com/office/understanding/InfoPath 2003/

 

• Visit 

http://microsoft-sap.com

 for information on:

– SAP at Microsoft
– SAP .Net Connector
– Upcoming customer workshops


Document Outline