You are on page 1of 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

Microsoft .NET
Visual Studio.NET
VB Design time C++ C# Proxy Class Generator

SAP System
BOR DDIC Interface repository

Application

Web Services

.NET Connector Runtime

RFC SOAP

RFC Layer

Run time

.NET Connector Component (generated) Common Language Runtime

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\SapWebService\Id entity\ASPNET_SETREG,sername password=registry:HKLM\Software\SapWebService\Id entity\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.Ge tCurrent().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
XML Web Services

Enterprise Applications

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

You might also like