Creating SAP Business One Application With B1WS
SAP Business One Application With the Help of B1WS.
SAP Business One Web Services wrapper (B1WS) exposes the DI Server functionality as Web Services to provide a better usability. Developers only need to add the web references to the B1WS web services (presented through wsdl files) and use the services with the auto generated object model.
Development time is then reduced with the use of B1WS.
SAP Business One Web Services is composed of the following:
– List of wsdl files, each wsdl file representing one service
– Http handler
– wsdl services generator.
B1WS main component is B1WSHttpHandler, an Http Handler registered inside IIS (Internet Information Services) as a virtual directory. B1WSHttpHandler automatically intercepts all calls from B1WS web services, redirects the requests to the DI Server and returns the SOAP response to the client.
B1WSHttpHandler needs to be located in the same server machine as the DI Server.
Partner applications simply need to add a Web Reference (pointing to the corresponding wsdl file) per each DI Server service they use. In the client application the location of the B1WS server must be defined in order to redirect the calls to the B1WSHttpHandler. In .NET for example Web References have a configuration file (web.config) where the server address can be configured.
Partner applications can be located in a server machine or a client machine having a network access to the server.
No formatting in the http handler is needed, the wsdl files containing the services definitions are already formatted as required by the DI Server. The Web Services will then automatically build the requests following the right format.
The WsdlServicesGenerator is an application that automatically recreates all B1WS wsdl files. The wsdl files provided with the B1WS setup are the ones corresponding to a basic SAP Business One database without user defined fields. If the structure of the database your application will be running on contains user defined fields in B1 tables you will need to regenerate the wsdl files in order to have access to all your user defined fields from the services.