Vous êtes sur la page 1sur 17

CREATE SAP WEB SERVICE WITH SAP

.NET
CONNECTOR IN 5 MINUTES
Dennis
Wang
Microsoft / EAS /SAP

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

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

SAP System

Microsoft .NET
Visual Studio.NET
Design
time

VB

C++

Application

Run
time

C#

Web
Services

.NET Connector
Component (generated)
Common Language
Runtime

BOR
DDIC
Interface
repository

Proxy
Class
Generator

.NET
Connector
Runtime

RFC
SOAP

RFC Layer

SOAP Layer

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

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 ()

STEPS TO CREATE WEB SERVICE


FOR RFC_CUSTOMER_GET
(CONTINUE)
Open Service1.asmx and do the
following modification
1.
2.
3.

public class Service1 : SAPProxy1


public override void Rfc_Customer_Get ()
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.

HOW SAP SINGLE SIGN ON


WORK UNDER ASP.NET WEB
SERVICE
Web Service runs under
DomainA\ProcAcct
credential. This account
then calls SAP RFC
Client
DomainA\dennisw
Run Window app and
Call Web Service

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

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\SapWebServ
ice\Identity\ASPNET_SETREG,sername
password=registry:HKLM\Software\SapWebSer
vice\Identity\ASPNET_SETREG,password />

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.

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

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

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.WindowsIdentity.GetCurrent().Name;
Web Service Process Account
EXTIDDATA=User.Identity.Name; Caller credential
EXTIDTYPE=NT;

ACCESS SAP WEB SERVICE VIA


MICROSOFT INFOPATH
You can use intelligent forms to interact with your existing applications

Information Workers

Enterprise Applications
XML
Web
Services

ERP RDBMS HR - CRM

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

DEMO

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

Vous aimerez peut-être aussi