Integration framework for SAP Business One (B1if) provides comprehensive supports of Web Services and RESTful interfaces (HTTP(s)+JSON, HTTP(s)+XML) as a service provider and consumer. It can work as a Web Server for SAP Business One, exposing and wrapping the backend functions of SAP Business One with B1DI and SQL call as web service and light-weight HTTP interfaces, evolving SAP Business One into platform with sorts of interfaces, which can be easily consumed with DotNet, Java and Mobile clients etc. Even more than just SAP Business One, it also can expose the backend functions of SAP Business Suite with RFC/BAPI call all web services and light-weight HTTP interfaces as PI/XI in a lean model.
In the following sessions, You'll learn:
Topic 1: Creating new Web Services with B1if
This video guides you through how to create a new web service function with B1if, getting the document list from SAP Business One by type, status and sale employee.
Topic 2:Consuming the B1if Web Services by DotNet project
The following steps are described in
this blog:
Step 1: Generate the XSD and WSDL for the Web Service Scenario Package in B1if
-Generate the inbound and outbound XSD for SOAP request and response
-Generate the WSDL based on the XSD
Step 2: Consume the Web Service of B1if by DotNet Application
-Generate a .Net Project consuming the B1if web service
-Add the Service Reference to the WSDL URL in B1if
-Invoking the web service in DotNet Application
-Modify App.Config settings according to authentication of the web service package in B1if
Sample project available here:
Sample of B1if Web Services and DotNet Client
Security Settings
1. HTTP+No Authentication:
Communication protocol as HTTP, no user name and password required to invoke the web service.
Server Configuration in B1if: Configure the Authentication of the Scenario Package of B1if Web Service as
No authentication
Client Configuration in DotNet: Set the security mode as "None" of basicHttpBidning in App.config of DotNet application
<!--HTTP+No Authentication-->
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
2.HTTP+Basic Authentication:
HTTP as communication protocol, but requires user name and password to call the web service
Server Configuration in B1if: Configure the Authentication of the Scenario Package as
Basic authentication
Client Configuration in DotNet: Set the security mode as "TransportCredentialOnly" and the credential type as "Basic" in basicHttpBidning of App.config of DotNet application
<!--HTTP+No Authentication-->
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
3.HTTPS+Basic Authentication:
Communication protocol as HTTP, no user name and password required to invoke the web service.
Please refer to this document for details:
How to consume B1if Web Services with HTTPS by DotNet?
Server Configuration in B1if: Configure the Authentication of the Scenario Package of B1if Web Service as
Basic Secure Authentication
Client Configuration in DotNet: Set the security mode as "Transport" and the credential type as "Basic" in basicHttpBidning, App.config of DotNet application
<!--HTTP+No Authentication-->
<security mode="Transport">
<transport clientCredentialType="Basic" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>