Wiki

Scale Your Enterprise

User Tools

Site Tools


bw:web_service_tool

Introduction (WebService Tool)

The Web Services tool is used to allow Bizweaver to interact with APIs from other applications. Bizweaver also has its own API in the form of the Bizweaver web service. Unfortunately, almost all APIs are different. This document describes how the Web Service tool is configured and provides some basic examples of how it is used for some major applications.

Related Documents

The following pages contain additional information that may be helpful with the development of Bizweaver workflows.

Special Terminology

Beginning in Bizweaver v2.0.170, two Web Service tools are displayed: WebService and WebService2. WebService2 provides a much more flexible way of working with web services including the use of REST Global Connections While workflows created using WebService will continue to function, any new workflows should use WebService 2. All references to “WebService” in this section refer to WebService2.

  • API – Application Programming Interface. Technical tools to allow one application to interact with another, typically via “internet-type” methods.
  • REST - “REST” stands for REpresentational State Transfer. A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. REST technology is generally preferred to the more robust Simple Object Access Protocol (SOAP) technology because REST leverages less bandwidth, making it more suitable for internet usage. SOAP APIs are not supported in Bizweaver.

Before You Begin

Before you begin to configure a web service tool you will need information from the provider of your target API to know exactly what type of authorization will be used, what needs to be transmitted, and where (e.g. Body, Header, Cookies), and what will be returned.

  1. The web service tool currently has two ways to work with known REST connections.
  2. The Select Service drop-down currently has two options: Custom and Salesforce.com.
    1. Custom is used for all cases other than Salesforce.com
    2. The Salesforce.com option provides a predefined tool specifically for working with Salesforce.com. See Salesforce API for more information on this tool.
    3. Additional predefined tools may be added in the future.
  3. When basic or oAuth 2 authentication is used, a REST Global Connection can be defined. This allows the use of the same information to be used for each call to the target system. In these cases, select the Custom as the Service, check the “Authentication Required” checkbox, and select the (previously defined) Global Connection from the “Select Service” drop-down.
  4. When the connection does not fit any of the above scenarios, leave the service as Custom and the “Authentication Required” checkbox blank.
    1. This will be the case for Bizweaver Web Service.

WebService Tool

There are two main tabs associated with the actual web service call: Request Settings and Response.

Request Settings

The values on the Request Settings tab are used to initiate communication with the API. The values and structures used will vary by API.

  1. The Construct URI text area is where the basic web service call is defined.
    1. Sample URIs and variables for web services commonly used with Bizweaver are provided in the Specific APIs section that follows below.
    2. The basic URI string can also be defined as a variable and then referenced using the <F4> option and adding additional qualifiers as needed.

As an example, here is the base URI to use the HANA Service Layer web services.

https://YourServer:50000/b1s/v1

Instead of entering this string for each web service call we can optionally define the string as a variable.

WebService Variable

Then, in the web service tool, we can reference the variable followed by the specific function we need to use. In the following image we are calling the Login function.

WebService Variable Usage

  1. Each web service all must indicate the Method to be used. Select the appropriate method from the drop-down list.

WebService Methods

  1. Content is used to indicate the media type of the resource. Common content types in the Bizweaver environment include “application/XML” and “application/JSON.”
  2. The Advanced Settings area contains three tabs: Body Information, Header Information, and Cookies. As always, refer to the API document for information about what you need to send in the request and where it needs to be placed.
  3. The Body Information tab offers two additional options: Raw and Form-Data.
  4. The Raw option allows “free form” entry of whatever information is needed as illustrated below.

WebService Advanced

  1. The Form-Data option allows the use of an external file that contains the needed information. This can be helpful when you have multiple web service calls that use the same information.

WebService FormData

  1. The Header Information and Cookies tabs are free-form text and are used as needed by the API.
  2. There are three remaining options on in the Request Information tab.

WebService Other Options

  1. Ignore self signed certificate errors allows communication with sites that use self-signed SSL certificates. If the response to your request indicates a certificate error, try selecting this option.
  2. Format Variables for JSON is used when Bizweaver variables are used in the web service call. Selecting this option ensures that the data passed through the call are formatted correctly. This only applies if the Content type is JSON.
    1. The Timeout value is used as a built-in “pause” mechanism. It causes this step to wait for a response from the called web service. The timeout value is only applied if a response is not received within the set time.
    2. Use the File/Binary Data – Destination option when the expected response is a file containing binary data. This option defines where the response file should be placed.

Examples

  • If the called web service responds in two seconds, the workflow moves to the next step.
  • If the called web service does not respond within the set number of seconds, the workflow will continue to the next step. However, this may cause other issues if the subsequent steps rely on the web service call having completed.

If you have multiple web service call that can execute concurrently (at the same time), set the timeout value to 1.

Once the request information has been provided, click the Request link in the lower right corner of the screen. This will initiate a web service call to the target API based on the information provided. The screen will automatically shift to the Response tab so that you can review the results of the call.

Response

There are five tabs on the Response page: Content, Headers, Cookies, Details, and Log.

  1. Content displays the full content of the response.
  2. Headers displays information returned in the header of the response.
  3. Cookies displays any cookies that are included in the response.
    1. Not all APIs will return cookies.
    2. If the target application uses cookies for authentication in subsequent requests, the cookies from the response can be referenced using Bizweaver step variables.
  4. Details displays detailed information returned from the call.
  5. Log displays the information that was sent in the call.

Images are not provided for these tabs since the information will be different for each API and the call being made.

In all steps in this document you should always refer to the API documentation for the information that you need.

Specific APIs

Web Service Tool Variables

Name Description
Alt-svc HTTP header allows a server to indicate that another network location (the “alternative service”) can be treated as authoritative for that origin when making future requests.
AuthenticationRequired True or False if the authentication required checkbox is selected
BinaryDataFileName This indicates the file name and location used for binary data and the exetension
BodyInfo This is the request body of the API call that is being sent if any
BodyType The type of body radio button that is selected ex. Raw,form-data etc.
CF-Cache-Status cache type being used for the API call default is Dynamic
CF-Ray This header is a hashed value that encodes information about the data center and the visitor’s request.
Connection This indicates that the WebService2 tool will keep the connection alive “keep-alive”
Content-EncodingThe Content-Encoding representation header lists any encodings that have been applied to the representation (message payload), and in what order. This lets the recipient know how to decode the representation in order to obtain the original payload format. Content encoding is mainly used to compress the message data without losing information about the origin media type.
Content-Length The Content-Length header indicates the size of the message body, in bytes, sent to the recipient.
Content-Security-Policy The HTTP Content-Security-Policy response header allows website administrators to control the resources the user agent is allowed to load for a given page. With a few exceptions, policies mostly involve specifying server origins and script endpoints. This helps guard against cross-site scripting attacks (Cross-site_scripting).
Content-Type The Content-Type representation header is used to indicate the original media type of the resource (prior to any content encoding applied for sending). This will include the charset
ContentType The Content-Type representation header is used to indicate the original media type of the resource (prior to any content encoding applied for sending).
CookieInfo This will indicate if any information was entered in the cookies field if
Date This indicates the date and time the request is being made
EnableJSONBodyFormat True or False if the format body for JSON checkbox is selected
Expect-CT The Expect-CT header lets sites opt into reporting and/or enforcement of Certificate Transparency requirements, to prevent the use of misissued certificates for that site from going unnoticed.
FileAttachment This indicates the file that is attached to the request
FormURLEncodedInfo This indicates the data if any in the form URL encoded fields
GraphQL This indicates if the GraphQL radio button was selected
HeaderInfo This indicates if there was any header data passed into the API call
HTTP_X_SHOPIFY_SHOP_API_CALL_LIMIT Returns the number number of total API calls made and the total number available
IgnoreCertificateErrors True or False if the ignore self-signed certificate errors checkbox is selected
InputString This is the data that is being sent to the Salesforce API
IsBinaryData True or False flag
IsSuccessful True or False flag that indicates if the API call was successful or not
Link This indicates the URL that is being returned by the API
Location This specifies the name and location of the binary that is being used for an API Call
Method The type of call you are making ex. Get,Post,Put,Patch,Delete
NEL The HTTP NEL response header is used to configure network request logging.
OperationType Dealing with the SAP SL or Salesforce connector it will be the option that is selected ex. Get Token, Interact with Data
OutputString This is the response returned from the API
Referrer-Policy The Referrer-Policy HTTP header controls how much referrer information (sent with the Referer header) should be included with requests. Aside from the HTTP header, you can set this policy in HTML.
RequestTimeout The length of time entered into the timeout field in the Webservice2 tool default 100 seconds
RESTConnectionName This indicates the connection used from the connection manager
SalesForce_AccessToken This indicates the Salesforce access token when generated using the Salesforce connector
SalesForce_Behavior Shows either Production or Sandbox
SalesForce_InstanceID This indicates the instance id sent back from Salesforce
SalesForce_ManageData This indicates if the manage object and data are selected when the Salesforce connector is selected
SalesForce_ObjetName This indicates what object is selected when managing data in the Salesforce connector
SalesForce_RecordID This indicates the record Id entered in the Record Id field in the Salesforce connector
SAPServiceLayer_RecordIDDataType This indicates the data type of Record Id for the SAP Service Layer Record Id field
Server the server that is used for the Webservice2 tool which is cloudflare
ServiceType This will show either “Get Token”, “Interact with data” or “Manage Objects” etc. For custom, it should be blank
Set-Cookie The Set-Cookie HTTP response header is used to send a cookie from the server to the user agent so that the user agent can send it back to the server later. To send multiple cookies, multiple Set-Cookie headers should be sent in the same response.
StatusCode The status of an API call response ex. 200, 400
StatusDescription The message for the API status code
Strict-Transport-Security The HTTP Strict-Transport-Security response header (often abbreviated as HSTS) informs browsers that the site should only be accessed using HTTPS and that any future attempts to access it using HTTP should automatically be converted to HTTPS.
Transfer-Encoding The Transfer-Encoding header specifies the form of encoding used to safely transfer the payload body to the user.
URI This indicated the URI entered into the Webservice2 tool
Vary The Vary HTTP response header describes the parts of the request message aside from the method and URL that influenced the content of the response it occurs. Most often, this is used to create a cache key when content negotiation is in use.
X-Content-Type-Options The X-Content-Type-Options response HTTP header is a marker used by the server to indicate that the MIME types advertised in the Content-Type headers should be followed and not be changed. The header allows you to avoid MIME type sniffing by saying that the MIME types are deliberately configured.
StepMessage During a failure the reason for failure will be populated here
StepStatus True or False
Note Some APIs will return different variables that are specific to that API and not Bizweaver
bw/web_service_tool.txt · Last modified: 2022/08/02 16:25 by akoehler