Recorded Webinar

Date- 21st August 2014

Topic of Discussion

Connect Third Party Systems with SAP B1 – DI API, DI Server, B1WS

Points Covered in the Event

SAP B1 is one of the best and widely accepted backend ERP systems for SMEs gives lot of option to the developers as well as the users to use it smoothly and integrate with other applications as and when required. Different techniques are available in SAP Business One for Integration such as DI API, DI Server, B1WS, etc.
In this Webinar we will discuss
a. Difference between DI API, DI Server and B1WS Integration
b. Architecture, Advantages and Limitations of each technology DI API, DI Server, B1WS

Presentation Shown

Video Recording of the Webinar Session

Questions and Answers

Fortunately B1WS WSDL files are not complete. For example oActivities object is not provided. Question is: Can I generate the WSDL file for objects where B1WS has not provided them?

Answer : B1WS is nothing but a wrapper to SAP B1 DI hosted as HTTP in IIS or any other server. The wsdlServiceGenerator can incorporate all the objects that are exposed as DI Service so if you are dealing with them, you can generate the service and refer that using Web service reference. While in SAP, there are other business objects that are not listed as DI Service.  To do them, you can easily edit the B1WS code found in You need to find B1WSHandler.cs, open it in Visual Studio and change it according to your requirement. You can also reference the DI Server from your application created inside Visual Studio from the solution you find from the above link and add your own logic around SAP business objects and expose it to the world.

You can read more about it from this link :


What is the licensing requirement for DI API, DI Server and B1WS?

DI API is normally available with any SAP installation, it does not use any licencing server to authorize the request.

DI Server on the other hand uses a licencing server to validate every request coming to it and can process a request on per CPU basis. If you have licence of 4 CPU in a quad-core machine, the DI Server can process messages on any CPUs available. If you have less than that, only the ones which are licenced could be used.

B1WS is just a wrapper to DI, and hence follows the same logic.


Is the technologies differ in SAP Business One version for HANA?

SAP HANA or SAP High – Performance Analytic Appliance is just an alternative storage system for SAP Business One. So if you are not using SQL Server as SAP Data storage, you can go with SAP HANA installation, which plugs into SAP system accurately and is much capable of parallel processing. HANA is column oriented, high performance relational database management system which resides within SAP Cloud environment and also acts as an alternative to SAP Business one general on premise installation.


If we have different SAP server and web server and if we want to post BP to SAP when BP added on my webportal, Do I need to install License manager on webserver?

Not really, it depends on what kind of integration you are using. If you are using SAP D1 and SAP B1WS, both will require licence as server needs to be licenced per core basis as a requirement to use DI services. But if you have something in Webserver written by yourself which uses SAP DI API, then you don’t need licences. But remember, DI API does not support parallel data, which is a basic requirement for any Web applications.  If you take my recommendation, go with B1WS, which is easy to install and very flexible and also highly performant.


What type of application would be best suited for the DI-Server Integration?

Any integration application which requires high volume of real time data integration. DI – Server integration works very fast but at a cost. So if you already have a licence of DI Server, use it to interact data even if you do not require high volume data transfer.


Hello .. B1 WS is avalilable in all localizations?

Its just a web application.


Is the SDK needed for DI Server?

No SDK, just you need to interop over  SBODI_Server.dll which is available for free on SAP installation. You just need to start the Service Manager and licencing server to access Interact and BatchInteract APIs.


If DI API doesn’t support batch, what was the “node.BatchInteract” in the example in visual studio?

It is not an API for DI API, both BatchInteract and Interact are APIs for DI Server.


What is the better solution, UI API with DI API or UI API with DI Server?

Of course UI API with DI Server.


If I need to create an Add-On within SAP B1, what is the best way DI API or DI Server?

DI API is used to access data from within SAP B1.  UI API can also be used to get data from UI level inside the Addon.


Instead of DI Server, can’t we use B1iF or B1iSN ?

DI Server is the main data communication channel. B1iF is an integration framework which is generally used to expose data from mobile services. If you go under the hood, the B1iF also uses DI Server internally. B1iF is just a framework that wraps the DI Server.

B1iSN is an integration tool where you can integrate SAP ECC with SAP B1 or even two SAP B1 installations.

It’s not just you integrate two SAP Systems, you might have an Ecommerce site which takes data from SAP and show it to an external site, or even you can have a CRM System which is connected with backend ERP system, in both the cases, DI Server is a procedure for interacting data.

Integrate SAPB1 with eCommerce, Marketplace and CRM