Strategies for identifying endpoint information

For each endpoint configuration scenario, an Business Automation Workflow endpoint defines a list of strategies. The following table describes all strategies that are available.

The strategies are attempted in the order that is specified until one returns the required information. Each strategy uses a different approach to determine the transport protocol, host, and port that are used to generate URLs, for example, by extracting them from a particular header in the request. The Business Automation Workflow endpoint can also reference an Business Automation Workflow virtual host that contains fixed values for the transport protocol, host name, port number of the virtual host, and any URL prefix.

For all strategies in the default package com.ibm.bpm.endpoint.impl.strategies, the package name can be omitted in the configuration.
Table 1. Strategies for identifying endpoint information for generated URLs
Strategy name Description
BpmHeaderAbsoluteStrategy
This strategy attempts to extract the protocol, host, and port information from an Business Automation Workflow specific HTTP request header: com.ibm.bpm.routing.HostAndURIPrefix or X-BPM-ROUTING-ABSOLUTE.
BpmHeaderRelativeStrategy
This strategy attempts to extract a relative URL from an Business Automation Workflow specific HTTP request header: com.ibm.bpm.routing.URIPrefix or X-BPM-ROUTING-RELATIVE. Note that the code will use the value as is.
CurrentJVMDefaultTransportStrategy
(deprecated)
This strategy will calculate a URL based on hostname information of the current Application Server Java Virtual Machine. The current setting of useHTTPSURLPrefixes is evaluated to derive protocol and port information:
true
https:// with WC_defaulthost_secure
false
http:// with WC_defaulthost
CurrentJVMInsecureStrategy
(deprecated)
This strategy returns a URL with insecure HTTP protocol, the current Application Server JVM host name, and WC_defaulthost port.
CurrentJVMSecureStrategy
This strategy returns a URL with secure HTTPS protocol, the current Application Server JVM host name, and WC_defaulthost_secure port.
HttpProtocolHostStrategy
This strategy attempts to extract the protocol, host, and port number information from the host header.
RelativeUrlStrategy
This strategy does not use host and port information.
TeamworksWebappPrefixLegacyStrategy
This strategy is for certain legacy paths such as the /exposed REST API and the /task/clientSettings REST API. The strategy searches for an IBM BPM endpoint that has the scenario attribute that is set to the value COMMON_TEAMWORKS_WEBAPP_PREFIX, and then uses the associated Business Automation Workflow virtual host.
WCCMConfigStrategy
This strategy uses static information from an Business Automation Workflow virtual host. The virtualHost property of the Business Automation Workflow endpoint for the strategy identifies which virtual host information is used.
WebsphereProxyHeaderStrategy
If you use a WebSphere proxy, this strategy attempts to extract the protocol, host, and port number information from the header that is added by the WebSphere proxy. Note that this strategy actually mimics legacy behavior, for example, of the exposed items REST API.
The following headers will be looked for:
$WSSC
Websphere scheme, or protocol
$WSRA
WebSphere remote IP address
$WSRH
WebSphere remote host
Via
The port will be derived from this header.
If present, the URL will be constructed using the scheme, then the remote host (if present) or the remote IP address, and then a colon and the port derived from the Via header (if present): <$WSSC>://<$WSRH | $WSRA>[:<port>].
XForwardedHeaderDefaultHttpsStrategy
This strategy will read HTTP request header X-Forwarded-Host to construct a URL using the secure HTTPS protocol. No port information is expected, but it could be concatenated to the host name in X-Forwarded-Host. If the header has multiple values, the first one will be used.
XForwardedHeaderDefaultHttpStrategy
(deprecated)
This strategy will read HTTP request header X-Forwarded-Host to construct a URL using the insecure HTTP protocol. No port information is expected, but it could be concatenated to the hostname in X-Forwarded-Host. If the header has multiple values, the first one will be used.
XForwardedHeaderStrategy
This strategy will read HTTP request headers X-Forwarded-Host and X-Forwarded-Protocol to construct a URL. No port information is expected, but it could be concatenated to the hostname in X-Forwarded-Host. If any of the headers has multiple values, the first one will be used.