HTTP Server Adapter

The HTTP Server adapter processes HTTP requests from trading partners by using a perimeter server.

The following table provides an overview of the HTTP Server adapter.

Important: Jetty is upgraded to version 9. As a result, the following WAR files are no longer supported and should not be deployed over HTTP server adapter: demosuite, federation, portlets, webproduct, webservices, websuite, webxpord, webxtools, webx, wssd, xforms, communitymanagement, onboard.
System name HTTP Server Adapter
Graphical Process Modeler (GPM) category None. Cannot be used as part of a business process.
Description Processes HTTP requests from trading partners by using a Perimeter server. The HTTP Server adapter replaces the B2B HTTP Server adapter, which is being retired. The HTTP Server adapter and its related services provide all of the functionality of that adapter, plus these benefits:
  • Uses Perimeter services
  • Uses the same Jetty HTTP server engine as the application ASI console
  • Able to run both WARs and BPML applications
  • Runs application code inside the JVM for access to all application resources
Business usage Use this adapter to send documents to and receive documents from a trading partner using HTTP.
Usage example A trading partner submits a document to a URL in the application. The URL is configured to initiate a specific business process. The business process completes activities and returns a success response to the trading partner to confirm that the request was processed. If the URL is configured for a web application, the identified web application is started and delegated to. At that point, the flow is determined by the web application.
Preconfigured? The following instances of this adapter are installed with a stand-alone instance of the application:
  • ebXML HTTP Server adapter
  • HTTP Server adapter
  • Map Test HTTP Server adapter
  • RN HTTP Server adapter
  • SOA HTTP Server adapter
  • SOA SSL HTTP server adapter
  • SWIFTNet HTTP Server adapter
  • Global Mailbox REST services adapter
By default, they use a local-mode Perimeter server. A two-node clustered environment consisting of nodes on different machines includes an instance of HttpServer adapter node2.
Requires third-party files? Must obtain two .jar files from Jetty. Jetty is an open source, embeddable Web server and servlet engine. Two .jar files for Jasper (an open source JSP compilation library) and the. jar file for Ant (an open source build and compilation library) must be available for the handling of Web applications that contain JSPs.
Platform availability All supported application platforms.
Related services This adapter must be used in conjunction with the HTTP Respond service, which is the only way to return an HTTP response to a request waiting at a particular adapter instance.
Application requirements When this adapter is configured with a non-local-mode Perimeter server, the Perimeter server must be installed and running. This Perimeter server is typically installed in a DMZ environment, separated from the application by a firewall.
Initiates business processes? This adapter can find the name of a business process that is configured for a particular URL, initiate that business process and wait for the response.
Invocation Is not invoked by a business process. To return a response, use the HTTP Respond service.
Business process context considerations When a business process is initiated as a result of an HTTP request, the initial context process data contains the transport-instance-id and transport-session-id, information necessary for the HTTP Respond service to return the HTTP response. Process data also contains any query parameters in the URL.
Returned status values None
Restrictions WAR file deployment functionality is not available for WebSphere.
Persistence level None
Testing considerations Debug information related to this adapter can be found in http.log.

How the HTTP Server Adapter Works

The HTTP Server adapter receives data from a trading partner using HTTP. Using the HTTP Server adapter, you can initiate a business process or a Web application. If you are initiating a business process and want to send a reply or status to your trading partner about this data, you must have the business process invoke the HTTP Respond service, which sends the response to your trading partner.

Note: This adapter differs from the previous HTTP adapter (B2B HTTP Server adapter), which is in the retirement process, in how it works with secure installations that use a DMZ. The older B2B HTTP Server adapter requires an HTTP servlet to be installed in your company DMZ. Instead of using a servlet, this adapter communicates with a Perimeter server that has been installed in the DMZ. For more information on the retirement process, see Retiring and Removed Services and Adapters.


Your trading partner sends EDI purchase orders to your company, using HTTP and sending the data to a URI that you have specified.

You set up a configuration of the HTTP Server adapter that is associated with that URI. As part of creating this configuration, you specify whether the URI will be associated with a business process or a Web application, then select the specific business process or web application.

Your trading partner sends data to your URI, using an HTTP request. When the request is received and passed to the HTTP Server adapter, it invokes the business process or Web application that you specified when creating the adapter configuration. The adapter collects the transport-instance-id and transport-session-id from the initial request, and places the information into process data.

If the adapter initiates a business process, the HTTP request connection is put into a wait state while the business process completes. Once complete, the HTTP Respond service is called and uses the transport-instance-id and transport-session-id that were stored in process data to send a reply on the same connection that the request came in on.

If the adapter initiates a Web application, the Web application determines what to return and when.

Implementing the HTTP Server Adapter

To implement the HTTP Server adapter, complete the following tasks:
  1. Create an HTTP Server adapter configuration. For information, see Managing Services and Adapters.
  2. Configure the HTTP Server adapter. For information, see Configuring the HTTP Server Adapter.

Configuring the HTTP Server Adapter

To configure the HTTP Server adapter, you must specify field settings in the application, as described in the following table.

Field Description
Name Unique and meaningful name for the adapter configuration. Required.
Description Meaningful description for the adapter configuration, for reference purposes. Required.
Environment Nodes where the HTTP Server Adapter is deployed. The values are - nodes in the cluster, adapter containers, All ASI nodes, All ASI nodes plus all Adapter Container Nodes, and All Adapter Container Nodes. To scale the HTTP server adapters as and when new nodes are added to the cluster, the options All ASI nodes, All ASI nodes plus all Adapter Container Nodes, and All Adapter Container Nodes are introduced.
Note: When you select the option All ASI Nodes and use war mode for URI, you must use one of the following options to make the .war file accessible on all nodes:
  • Place the .war file on a shared location (Example: NFS), which is accessible to all nodes and mention this path in the HTTP Server Adapter war file location.
  • Place the .war file on a same path location (Example: /home/user), which is local but exists on all VM nodes. You must mention this path in the HTTP Server Adapter war file location.
Select a Group Leave this set to:
  • None – You do not want to include this configuration in a group at this time.
Note: Do not use the HTTP Server adapter in groups.
HTTP Listen Port The port number on which the Perimeter server process listens for connections from external trading partner HTTP clients. If a local-mode Perimeter server is chosen, this listen port is bound on the local computer. Valid values are 1 through 65536. On many operating systems, only the root user can bind on ports 1 through 1024. Required.
Perimeter Server Name List of available Perimeter servers, including local-mode Perimeter servers. Required. Default is local-mode Perimeter server.
Note: If you select ALL ASI nodes or All ASI nodes plus all Adapter Container Nodes in the Environment field, only one option "All and Local" is enabled. This is the default option.
Total Business Process queue depth threshold: Indicates the maximum number of queued business processes allowed for this adapter. At this point, system load is too high to accept a new business process invoke request. If a value other than 0 is specified, the adapter will limit the number of business process requests put on the queue. If the SUM of business processes on all queues is less than the queue threshold value, processing occurs normally. For example, a queue threshold of 500 will stop a request if queue 4 has 300 business processes, queue 6 has 200, and queue 7 has 3. If the threshold is exceeded, the adapter returns a Service Unavailable message, which triggers senders to retry later. Valid value is any integer. 0 indicates no threshold (feature turned off).
Document Storage Where to store the body of the request document. Valid values are:
  • System Default
  • Database
  • File System
Default is System Default. Required.
Note: For more information about document storage types, see Managing Services and Adapters.
User Authentication Required Whether to enable HTTP basic authentication. Valid values are:
  • Yes – A connection must pass HTTP basic authentication to be serviced.
  • No – HTTP basic authentication is not to be used.
Default is Yes. Required.
Use SSL Whether SSL Server authentication must be enabled or not. Valid values are:
  • Must – SSL is enabled
  • None – SSL is disabled
Default is None. Required.
System Certificate Select a system certificate from the list. This is the private key that the SSL server will use. Required if Use SSL is Must.
Cipher Strength Specifies the strength of the algorithms (cipher suites) used to encrypt data. Valid values are:
  • STRONG – Required if Use SSL is Must
  • ALL – All cipher strengths are supported
  • WEAK – Often required for international trade, because government regulations prohibit STRONG encryption from being exported
Default is STRONG. Required if SSL is checked.
CA Certificate Move one or more CA Certificates to the use column. These are the digital security certificates that the SSL server will use to authenticate the client. Optional.
URI Uniform Resource Indicator (URI) representing incoming requests. Add one or more URIs to represent incoming requests and the business process or web application (represented as a WAR file) associated with each. Required.
Launch BP or WAR Whether the URI launches a business process or WAR file. Default is Business Process. Required.
Enter WAR File Path Specifies WAR file to be launched by URI. Valid value is any accessible path. Required if WAR File is selected for Launch BP or WAR File field.
Business Process Specifies business process to be launched by URI. Select from the list of available business processes. Required if BP is selected for Launch BP or WAR File field.
Send Raw Messages Whether the raw message is presented to the business process. The term raw denotes that the primary document associated with the business process contains HTTP headers. Valid values are:
  • Yes – Both the HTTP headers and the entity body are copied to the body of the business process document before the business process is started. This setting is required for EDIINT AS2, RosettaNet, and ebXML.
  • No – Just the HTTP entity body is copied to the body buffer of the business process document. The headers are not available to the business process.
Default is No. Required if BP is selected for Launch BP or WAR File field.
Run BP in sync mode Whether to invoke Web services in synchronous mode. Valid values are:
  • Yes – HTTP Server adapter bootstraps the BP in synchronous mode. HTTP Server adapter executes the BP in the same thread.
  • No – HTTP Server adapter bootstraps the BP asynchronous mode.
Default is No. Required if BP is to be run in synchronous mode.

Output from Adapter to Business Process

The following table describes the output from the HTTP Server adapter to the business process.

Field Name Description
http-method Indicates the HTTP method that is requested from the client.
Note: The feature of process data to output the http-method is available only in V5.2.6.3 or later.
http-request-uri Target URI as specified by the Trading Partner. Required for applications that need it. For example, SOAP.
transport-instance-id Identifies the specific instance of the HTTP Server adapter on which the request was received. Valid value is a non-empty string that should not be fabricated. Each value is created for an HTTP Server adapter instance. Required.
transport-session-id Transport Session ID. Identifies the specific inbound connection on the HTTP Server adapter (identified by the transport instance id) on which the request was received and to which the response must be returned. Valid value is a non-empty string that should not be fabricated. Each value is created by an HTTP Server adapter instance for an inbound HTTP session. Required.
b2b-protocol Identifies the protocol type, with a value of http.
SyncModeBP Indicates whether the BP has been bootstrapped in synchronous mode or not. Valid values are true and false.
Redirect Root URI Indicates if no context path is specified in the http request, then the request is redirected to the context path specified by Redirect Root URI.

For example, if /myfilegateway is specified, http://<hostname>:<port>/ or http://<hostname>:<port>/ is redirected to http://<hostname>:<port>/myfilegateway.

Initial Process Data XML Document Example

The following example shows how the initial process data XML document looks:

<?xml version="1.0" encoding="UTF-8"?> 
  <PrimaryDocument SCIObjectID="server1:b1aebf:fa40ae79ca:-7209"/> 
  <transport-session-id>Thu Jan 22 22:04:16 EST 2004:5</transport-session-id> 

Activity Types for this Service

This adapter reports the following activities to the Services Controller for Service/Adapter Monitoring:
  • Get – Retrieves whatever information is identified by the http-request-uri
  • Post – Requests that the origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the URI in the Request-Line .
  • Put – Requests that the enclosed entity be stored under the supplied Request-URI.
  • Delete – Requests that the origin server delete the resource identified by the Request-URI.

Enhancing HTTP Server Adapter Performance

To improve performance, the HTTP Server adapter enables you to specify a range of threads for handling events. The range, which is specified in the file, includes a Min Thread value and Max Thread value. If the Max Thread value is reached, any additional connection requests fail. The file is located in the properties folder under your application installation directory.

Enabling HTTP DELETE for 'war' deployments on HTTP Server Adapter

HTTP DELETE is not enabled for 'war' deployments on HTTP Server Adapter by default. To enable it, perform the following steps:
  1. Navigate to the /install_dir/noapp/etc directory and edit file by commenting out the Disable DELETE part as shown below:
    <web-resource-name>Disable DELETE</web-resource-name>
  2. In the install_dir/bin directory, run one of the following commands:
    • (For UNIX or Linux)
    • (For Windows) setupfiles.cmd
  3. Restart Sterling B2B Integrator.

Deploying the war files shipped with Sterling B2B Integrator using HTTP Server Adapter

To deploy the war files which are shipped with Sterling B2B Integrator on HTTP Server Adapter, use the following values, where <install_dir> is the Sterling B2B Integrator installation directory:
URI WAR File Path
/dashboard /install_dir/noapp/deploy/admin.war
/gbm /install_dir/noapp/deploy/gbm.war
/myaft /install_dir/noapp/deploy/myaft.war
/myfilegateway /install_dir/ noapp/deploy/myfilegateway.war
/aft /install_dir/ noapp/deploy/aft.war
/filegateway /install_dir/ noapp/deploy/filegateway.war
  • When deploying admin.war to the HTTP Server adapter instance, the URL to deploy the admin.war file must be specified as /dashboard.
  • When deploying the aft.war, filegateway.war, myaft.war, and myfilegateway.war, admin.war must be deployed on the HTTP server adapter instance with the URI as /dashboard.