Welcome to Microservices Runtime and Integration Server 10.5
Microservices Runtime and Integration Server Integrated Help
Document Conventions
Online Information and Support
Data Protection
Microservices Runtime Guide
Introduction to Adminstering webMethods Microservices Runtime
Getting Started with webMethods Microservices Runtime
What Are Microservices?
What Is webMethods Microservices Runtime?
What Is Microservices Runtime Administrator?
Starting, Shutting Down, and Restarting Microservices Runtime
Starting Microservices Runtime and Microservices Runtime Administrator
Starting Microservices Runtime on Windows
Starting Microservices Runtime on UNIX
Starting Microservices Runtime from the Command Line
Running Microservices Runtime in Debug Mode
Starting Microservices Runtime Administrator
Shutting Down Microservices Runtime
Shutting Down Microservices Runtime on Windows
Shutting Down Microservices Runtime from Microservices Runtime Administrator on Windows or UNIX
Shutting Down Microservices Runtime from the Command Line
Restarting Microservices Runtime
Configuring Microservices Runtime
How Is Microservices Runtime Different from Integration Server?
Specifying the JDK or JRE for Microservices Runtime
Changing the JVM Heap Size Used by Microservices Runtime
Passing Java System Properties to Microservices Runtime
Enabling Remote Client JMX Monitoring
Configuration of Additional Components
Using a Circuit Breaker with Services
About Circuit Breaker
Circuit States
How Does a Circuit Breaker for a Service Work?
Configuring a Circuit Breaker for a Service
Building a Service for Use with an Open Circuit
Configuring the Circuit Breaker Thread Pool
Circuit Breaker Statistics
Automatic Package Deployment
How Automatic Package Deployment Works
Determining Package Dependencies During Automatic Deployment
Considerations for Auto Deployment of Packages
Enabling and Configuring Automatic Package Deployment
Automatic Package Deployment Location
Using Configuration Variables Templates with Microservices Runtime
About Configuration Variables Templates
What Does a Configuration Variables Template Look Like?
When Is the Template Applied?
How the Configuration Is Updated when IS_10.5_Core_Fix7 Is Applied
How the Configuration Is Updated When IS_10.5_Core_Fix7 Is Not Applied
Approaches for Using a Configuration Variables Template with Microservices Runtime
Overview of Building a Configuration Variables Template
Generating a Configuration Variables Template
Editing a Configuration Variables Template
Encrypting Values for the Variables Template
Using a Kubernetes Secret with a Configuration Variables Template
Creating New Assets with the Configurations Variable Template
Template File Locations
Providing a Configuration Variables Template when Starting a Docker Container
Configuration Variables Logging
Viewing the Applied Template for a Microservices Runtime
Monitoring Microservices Runtime
Overview of Monitoring Microservices Runtime
About the Health Gauge
Predefined Health Indicators
Enabling and Disabling Health Indicators
Health Indicator Properties
Configuring Health Indicator Properties
Invoking the Health Gauge
Obtaining Metrics for a Microservices Runtime
Invoking the Metrics Endpoint
Consul Support
Configuring Connections to Consul Server
Testing an Alias for the Consul Server
Setting the Default Alias for the Consul Server
Deleting a Consul Server Alias
Consul Public Services Folder
pub.consul.client:deregisterService
pub.consul.client:getAllHostsForService
pub.consul.client:getAnyHostForService
pub.consul.client:registerService
Microservices Runtime vs Integration Server
Microservices Runtime vs Integration Server Feature Comparison
Configuration Variables Template Assets
Prometheus Metrics
Prometheus Metrics Returned by Microservices Runtime
Server Metrics
Service Metrics
Integration Server Administrator's Guide
Administering webMethods Integration Server
The Role of the Administrator
What Does an Administrator Do?
Typical Administrative Responsibilities
The Integration Server Administrator
Receiving Administrative Messages from the Server
The Administrator User
The Administrator's Password
Adding Backup Administrators
An Overview of the Server
The Role of the Server
About Integration Server Instances
Architecture
Services
Retrieving Data for Services
How the Server Executes Services
Integration Server Security
Integration Server Logging
Logging, Data Protection, and Privacy
Integration Server Caching
About Integration Server Fixes
Starting and Stopping the Server
Starting the webMethods Integration Server
Starting an Integration Server Instance on Windows
Starting Integration Server on UNIX
Starting a Server Instance from the Command Prompt
What Happens When You Start the Server?
How to Tell if the Server Is Running Correctly
Running Integration Server as a Windows Application vs. a Windows Service
Switching the Server from a Windows Service to a Windows Application
Switching the Server from a Windows Application to a Windows Service
Increasing File Descriptors on Mac OS X or Other UNIX System
Changing Settings in the Configuration File custom_wrapper.conf
Passing Java System Properties to Integration Server
Shutting Down the Integration Server
Shutting Down the Integration Server from Integration Server Administrator
Shutting Down Integration Server from Windows
Shutting Down Integration Server from the Command Prompt
Viewing Active Sessions
Killing Sessions
Viewing the Integration Server Process ID
Restarting the Integration Server
Server Recovery
Unapplied Changes to Integration Server Configuration Files
Integration Server Data Integrity and Recoverability Considerations
Critical Integration Server Data Files
The Java Service Wrapper
The Java Service Wrapper Configuration Files
JVM Configuration
The Wrapper Log
Logging Properties
Fault Monitoring
Generating a Thread Dump
Re-registering a Windows Service after Installing a New Version of the Java Service Wrapper
Running Multiple Integration Server Instances
Overview of Integration Server Instances
Guidelines for Running Multiple Integration Server Instances on the Same Machine
About Creating a New Integration Server Instance
About the is_instance Script
Syntax
is_instance Script Commands
Creating a New Integration Server Instance
Updating an Integration Server Instance
Updating Packages on a Server Instance
Updating Database Properties of a Server Instance
Deleting Packages from a Server Instance
Updating Language Packs on a Server Instance
Deleting a Server Instance
Using the Integration Server Administrator
What Is the Integration Server Administrator?
Starting the Integration Server Administrator
Starting Integration Server Administrator on Windows
Accessing Integration Server Administrator through My webMethods
Basic Operations of Integration Server Administrator
Logging Off the Integration Server Administrator
Getting Help
The Server Configuration File
Software AG Command Central
Managing Users and Groups
Users and Groups
Purpose of Users and Groups
Defining a User Account
Predefined User Accounts
Adding User Accounts
Deleting User Accounts
Adding an Administrator User
Adding a Developer User
Changing Passwords
Configuring Password Requirements and Expiration Settings
Setting Password Requirements
Setting Password Expiration Requirements
Configuring Account Locking Settings
Unlocking User Accounts
Disabling and Enabling User Accounts
Disabling a User Account
Enabling a User Account
Defining Groups
Predefined Groups
Adding Groups
Adding Users to a Group
Removing Users from a Group
Viewing Group Membership
Removing Groups
Configuring the Server
Viewing and Changing Licensing Information
The License Key
Viewing Licensing Information
Changing Licensing Information
Renewal Reminders
Renewing a Key
Adding Licensed Features
Licensed Sessions
Viewing Active Sessions
Managing the Server Thread Pool
Managing Server Sessions
Setting the Session Timeout Limit
Setting the Stateful Session Limit
Configuring Outbound HTTP Settings
Specifying Outbound HTTP Settings
Setting Up Aliases for Remote Integration Servers
Adding an Alias for a Remote Integration Server
Testing the Connection to a Remote Server
Editing an Alias
Deleting an Alias
Specifying Third-Party Proxy Servers for Outbound Requests
How Integration Server Uses Proxy Servers
Creating a Proxy Server Alias
Editing a Proxy Server Alias
Disabling a Proxy Server Alias
Enabling a Proxy Server Alias
Specifying a Default Proxy Server Alias
Deleting a Proxy Server Alias
Bypassing a Proxy Server
Configuring Where the Integration Server Writes Logging, Status, and Other Information
Switching from the Embedded Database to an External RDBMS
Working with Extended Configuration Settings
Specifying Character Encoding
Configuring the JVM
Specifying the JDK or JRE for Integration Server
Changing the JVM Heap Size Used by Integration Server
Publishing and Retracting Information about Integration Server Assets
Configuring Integration Server to Connect to CentraSite
Testing the Connection to CentraSite
Setting a Port for Remote Client JMX Monitoring
Configuring Integration Server to Accept a Debug Connection During Startup
Using CORS with Integration Server
How Integration Server Handles CORS Requests
Configuring Integration Server to Accept CORS Requests
Connecting Integration Server to Database Components in an External RDBMS
Concepts
Pointing Functions at Connection Pools
Installing the MySQL Community Edition Database Driver
Installing the Tibero JDBC Driver
Creating a Driver Alias Definition
Creating a Connection Pool
Configuring Ports
About Ports
Available Port Types
Default Ports
About the Port Alias
Package Associations for Ports
Considerations for Adding Ports
Reasons to Add Additional Ports
Considerations for Configuring Ports
AS/400 Considerations
Bind Addresses
Prerequisites to Configuring a Port for SSL
Port Usage and Security
Adding an HTTP Port
Advanced Controls for HTTP Ports
Editing Advanced Controls
Adding an HTTPS Port
About File Polling Ports
Adding a File Polling Port
Adding an FTPS Port
Adding an FTP Port
Adding an E-Mail Port
Security Considerations for E-Mail Ports
Adding an HTTP Diagnostic Port
Adding an HTTPS Diagnostic Port
Suspending an HTTP/HTTPS Port
Resuming an HTTP/HTTPS Port
Testing for HTTPS Requests
Using an FTP/FTPS Port Range
Specifying an FTP/FTPS Port Range
About the Primary Port
Changing the Primary Port
Deleting a Port
Editing a Port
About Enabling/Disabling a Port
Disabling a Port
Enabling a Port
Configuring How Ports Handle Client Certificates
Adding a Security Provider
Configuring the Allowed Protocols for JSSE per Port
Disabling TLS Renegotiation
Designating an HTTP/S Port as Stateless
Setting Up the Server Log
Overview of the Server Log
Specifying Amount and Type of Information to Include in the Server Log
Logging Levels
Specifying Whether to Queue Server Log Entries
Changing the Default Server Log Location
Configuring the Server Log to Rotate Based on Size
Limiting the Number of Server Log Files Kept by Integration Server
Sending Messages About Critical Issues to E-mail Addresses
Performing Additional Processing on Log Entries
Viewing the Server Log
Using an Alternative Server Log Entry Format
Changing the Log Displays
Specifying the Date and Time Format to Use in Log Entries
Displaying Logged Data in Different Languages
Changing the Display Permanently for All Logs
Changing the Display Temporarily for the Server Log
Overriding Logging Level and Server Log Location for a Session
Globalization and the Server Log
Configuring Integration Server for webMethods Messaging
Overview of webMethods Messaging
Working with Messaging Connection Aliases
Predefined Messaging Connection Aliases
Creating a Broker Connection Alias
Creating a Universal Messaging Connection Alias
About Follow the Master for webMethods Messaging
Editing a Messaging Connection Alias
Enabling a Messaging Connection Alias
About Disabling a Message Connection Alias
Disabling a Messaging Connection Alias
Messaging Connection Alias Status
Specifying the Default Messaging Connection Alias
Deleting a Messaging Connection Alias
Authenticating Connections to the Universal Messaging Server
Specifying the Keep-Alive Mode for the Broker Connection
Setting Server Configuration Parameters for Keep-Alive Mode
Normal Mode
Listen Only Mode
Disabled
Synchronizing Broker Clients When the Primary Port for Integration Server Changes
Configuring Document Stores
Configuring the Default Document Store
About the Trigger Document Store
Configuring the Trigger Document Store
Maintaining Inbound Document History for Received Documents
Enabling Inbound Client-Side Queuing
About the Outbound Document Store
Configuring the Rate at which Integration Server Drains the Outbound Document Store
Setting the Capacity of the Outbound Document Store
Associating a User Account with webMethods Messaging Trigger Services
Specifying a User Account for Invoking webMethods Messaging Trigger Services
Load Balancing with a Non-Clustered Group of Integration Servers
Important Considerations for Using a Stateless Cluster with webMethods Messaging
Configuring Integration Server for JMS Messaging
Overview of JMS Messaging Configuration
Working with JNDI Providers
Predefined JNDI Provider Aliases
Creating a JNDI Provider Alias
Editing a JNDI Provider Alias
Deleting a JNDI Provider Alias
Creating a JNDI Provider Failover List
Including SSL Configuration Information in the JNDI Provider Alias
Performing a Test Lookup for a JNDI Provider
JNDI Provider Cache and Timeout Behavior for Administered Objects
Working with JMS Connection Aliases
Connecting to webMethods Broker with the Native webMethods API
Predefined JMS Connection Aliases
Creating a JMS Connection Alias
Allowing Destinations to Be Managed through the JMS Connection Alias and Designer
Allowing Multiple Connections for a JMS Connection Alias
About the Connection Client ID
Creating a Dedicated Listener for Receiving Replies
Configuring Producer Caching for Sending JMS Messages
Configuring Automatic Retry when Sending JMS Messages Using the pub.jms:send Service
About Retrying the pub.jms:send Service when Software AG Universal Messaging Is the JMS Provider
Editing a JMS Connection Alias
Enabling and Disabling a JMS Connection Alias
Deleting a JMS Connection Alias
Specifying a Connection Monitoring Period
Specifying a Retry Interval for Failed Connections
Specifying a Keep-Alive Interval
Creating Administered Objects
Monitoring a Connection Factory Object for Changes
Polling for Changes
Registering an Event Listener
How Integration Server Updates the Connection
Configuring Integration Server to Monitor a Connection Factory Object
Using SSL with JMS
Supported JMS Providers
Considerations for JMS Providers
About Using Software AG Universal Messaging as the JMS Provider
Adding JMS Provider Client Libraries to Integration Server Classpath
Configuring Integration Server for MQTT Messaging
Overview of MQTT Support in Integration Server
Limitations of MQTT Support in Integration Server
Supported MQTT Servers
Creating an MQTT Connection Alias
Editing an MQTT Connection Alias
Enabling and Disabling an MQTT Connection Alias
Deleting an MQTT Connection Alias
Specifying a Retry Interval for Failed Connections to the MQTT Server
Using Enhanced Logging for Messaging
About Enhanced Logging for Messaging
What Is in Log Entries for Enhanced Logging?
Logging Levels for Enhanced Messaging Logging
Using the Messaging Log or the Server Log for Enhanced Logging
Configuring Enhanced Logging for Messaging
Viewing the Messaging Log
Setting Up Universal Messaging Client Logging
Universal Messaging Client Logging
Configuring Universal Messaging Client Logging
View the Universal Messaging Client Log
Configuring Endpoint Aliases for Web Services
About Web Service Endpoint Aliases
Creating an Endpoint Alias for a Provider Web Service Descriptor for Use with HTTP/S
Setting a Default Endpoint Alias for Provider Web Service Descriptors
Creating an Endpoint Alias for a Consumer Web Service Descriptor for Use with HTTP/S
Creating an Endpoint Alias for Message Addressing for Use with HTTP/S
Creating an Endpoint Alias for a Provider Web Service Descriptor for Use with JMS
Creating an Endpoint Alias for a Consumer Web Service Descriptor for Use with JMS
Creating an Endpoint Alias for Message Addressing for Use with JMS
Timestamps in the WS-Security Header
Configuring Reliable Messaging in Integration Server
Overview of Reliable Messaging
Understanding Reliable Messaging Terminology
Using Reliable Messaging in Integration Server
Persistent Storage Support for Reliable Messaging Data
Limitations When Using Reliable Messaging in Integration Server
Configuring Reliable Messaging in Integration Server
Reliable Messaging Sequence Reports
Client and Server Sequences
Viewing Reliable Messaging Sequence Reports
Closing a Sequence
Terminating a Sequence
Sending an Acknowledgement Request
Configuring Integration Server to Use JWT
Overview of JWT
Using JWT with Integration Server
Support for JWT in Integration Server
Configuring Integration Server to use JWT
Trusted Issuers
Adding Trusted Issuers
Deleting a Trusted Issuer
Issuer-Certificate Mapping
Creating an Issuer-Certificate Mapping
Deleting an Issuer Certificate Mapping
Skew Mapping
Creating an Issuer Skew Mapping
Editing Global Claim Settings
Configuring Integration Server to Use Kerberos
Overview of Kerberos Usage in Integration Server
About Kerberos
Kerberos Terminology
Kerberos Delegated Authentication
Prerequisites to Configuring Kerberos
Limitations When Using Kerberos Authentication in Integration Server
Configuring Integration Server to Use Kerberos
Order of Precedence for Principal Name and Password
JAAS Contexts for Kerberos
Troubleshooting Kerberos Configuration
Setting Up HTTP URL Aliases
Overview
Creating an HTTP URL Alias
Specifying the URL Path
Using Port Mappings with a URL Alias
Adding a Port Mapping to a URL Alias
Deleting a Port Mapping for a URL Alias
Using a URL Alias for the “Empty Path”
Creating a URL Alias for the Empty Path
Enabling Partial Matching of URL Aliases
Displaying HTTP URL Aliases
About HTTP URL Alias Association
Editing a URL Alias
Deleting a URL Alias
Portability of URL Aliases and Possible Conflicts
Using HTTP Interceptors
Overview of HTTP Interceptors
Types of HTTP Interceptors
HTTP Interceptor Interfaces
Working of HTTP Interceptors
Considerations for Creating an HTTP Interceptor
Creating an HTTP Interceptor
Configuring Integration Server for HTTP Compression
Overview
HTTP Request Compression
HTTP Response Compression
Configuring Integration Server to Connect to an SFTP Server
Overview of SFTP
Creating an SFTP Server Alias
Editing an SFTP Server Alias
Creating an SFTP User Alias
Editing an SFTP User Alias
Migration Impact on SFTP Configurations
Testing the Connection to the SFTP Server
Configuring Integration Server for Secure Communication
Overview
Anatomy of an Integration Server SSL Connection
Integration Server and SSL Connection Type
Integration Server as an SSL Server
Integration Server as an SSL Client
Roadmap for Configuring SSL
Creating Integration Server Keys and Certificates
Creating a Keystore and Truststore
Obtaining the Certificates and Keys of the Partner Application
Configuring an HTTPS or FTPS Port
Configuring Server-Side SSL Settings
Specifying the Integration Server SSL Authentication Credentials
Controlling Server SSL Security Level by Port
Storing SSL Information for the Integration Server JVM in a Secure Manner
Order of Precedence for the javax.net.ssl Properties
Specifying Cipher Suites for Use with SSL
Usage of CA Certificates: Technical Considerations
Handling Expired CA Certificates
Customizing Usage of the Trusted Certificates Directory
WS-Security and Integration Server
Using SAML for Web Service Client Authentication
Requirements for Using SAML for Authentication
Identifying Trusted STSs to Integration Server
Accepting SAML2 Tokens at the Transport Level
Setting Up SSL Session Logging
Overview of the SSL Session Log
Enabling the SSL Session Logging
Viewing the SSL Session Log
Changing the Default SSL Session Log Location
Managing the SSL Session Log Size
Avoiding Duplicate Entries in the Log
Using Keystores and Truststores with Integration Server
Keystores and Truststores
Keystore File
Keystore File Formats
HSM-Based Keystores
Creating a Keystore
Truststore File
Truststore File Formats
How Integration Server Uses a Keystore and Truststore
Protecting Keystore and Truststore Files
Keystore, Truststore, and Key Aliases
Default Keystore and Truststore Aliases
Creating Keystore Aliases
Creating Truststore Aliases
Controlling Access to Resources
Overview
Controlling Access to Resources by Port
Restricting IP Addresses that Can Connect to a Port
Controlling IP Access to All Ports (Globally)
Allow Inbound Connections from Specified Hosts (Deny All Others)
Deny Inbound Connections from Specified Hosts (Allow All Others)
Allow Inbound Requests from Specified Hosts (Deny All Others)
Deny Inbound Requests from Specified Hosts (Allow All Others)
If You Inadvertently Deny IP Access to All Hosts
Resetting the Global Setting IP Access Setting
Resetting the IP Access Setting for an Individual Port
Restricting the Services or Web Service Descriptors Available from a Port
Allow Access to Specified Services (Deny All Others)
Deny Access to Specified Services (Allow All Others)
Resetting a Port to the Default Access
Controlling the Use of Directives
Controlling Access to Resources with ACLs
About ACLs
Package Replication
Implicit and Explicit Protection
Users that Belong to More than One Group
Predefined ACLs
When Does the Server Perform ACL Checking?
Creating ACLs
Allowing or Denying Group Access to ACLs
Deleting ACLs
Default Settings and Inheritance
What Happens When You Change Existing ACL Assignments
Assigning ACLs to Folders, Services, and Other Elements
Removing an ACL from a Folder or Service
Assigning ACLs to Files the Server Can Serve
Rules for Using .access Files
Removing ACL Protection from a File
Adding Services to a Blacklist
Using a File for the Service Blacklist
Authenticating Clients
Overview
Basic Authentication
Digest Authentication
Kerberos Authentication
Client Certificates
Checklist for Using Client Certificates
Certificate Mapping
Ports and Certificate Mappings
Importing a Certificate (Client or CA Signing Certificate) and Mapping It to a User
Changing a Certificate Mapping
Client Certificates and Port Configuration
HTTPS Ports
FTPS Ports
Using Multiple Client Certificates
Checklist for Presenting Multiple Client Certificates
Importing Certificates
Setting Up a Remote Server Alias
Coding Your Flow Services
Client Authentication and Access Control
Accessing Integration Server Data through My webMethods
Configuring the MWS Single Sign-On Resource Setting
Customizing Authentication Using JAAS
Overview
Using JAAS with Integration Server
JAAS Configuration File
Pre-installed Login Modules
X509ValidatorModule
Pluggable Authentication Modules (PAMs)
Writing a Custom JAAS Login Module for Integration Server
Extend SagAbstractLoginModule
Implement Commit()
Place the JAR File in the Integration Server Classpath
Modify the JAAS Configuration File
JAAS Custom Login Module Example
JAAS Login Module for Integration Server: Sample Code
JAAS Custom Login Module: Code Explanation
JAAS Configuration File: Sample Module
Master Passwords and Outbound Passwords
Overview
Managing Outbound Passwords
Backing Up Outbound Password and Master Password Files
Changing the Master Password
Changing the Expiration Interval for the Master Password
About the configPassman.cnf File
Working with Outbound Password Settings
Controlling Name and Location of Outbound Password File
Controlling Encryption of Outbound Password File
Working with Master Password Settings
Storing the Master Password in a File
Prompting for the Master Password at Server Initialization
What to Do if You Lose or Forget Your Master Password
When Problems Exist with the Master Password or Outbound Passwords at Startup
Determining Whether You Can Restore the Passwords
Restoring the Master Password and Outbound Password Files
Resetting the Master Password and Outbound Passwords
E-mail Listeners and Package Replication
Securing Integration Server with CSRF Guard
What is CSRF?
How Does Integration Server Prevent CSRF Attacks?
Understanding CSRF Guard Terminology
Configuring CSRF Guard in Integration Server
Limitations when Configuring CSRF Guard in Integration Server
Configuring webMethods Enterprise Gateway
Overview
How Enterprise Gateway Works
Enterprise Gateway Ports
Enterprise Gateway Rules and Alerts
About Enterprise Gateway Rules
About Enterprise Gateway Alerts
Version Interoperability Between Enterprise Gateway Server and Internal Server
Advantages of Enterprise Gateway over Traditional Third-Party Proxy Servers
About Denial of Service Protection
About Trusted IP Addresses
About Mobile Application Protection
About Mobile Data Synchronization
About SQL Injection Protection
About Antivirus Scan Filter
About Custom Filter
Clustering in the Enterprise Gateway Configuration
Setting Up an Enterprise Gateway
Configuring the Enterprise Gateway Ports
Deleting Enterprise Gateway External and Registration Ports
Connecting Your Internal Server to an Enterprise Gateway Server
Viewing Connections to the Enterprise Gateway Registration Port
Performing Client Authentication on Enterprise Gateway Server
Working with Enterprise Gateway Rules
Creating an Enterprise Gateway Rule
Enabling an Enterprise Gateway Rule
Disabling an Enterprise Gateway Rule
Editing an Enterprise Gateway Rule
Copying an Enterprise Gateway Rule
Changing the Priority of an Enterprise Gateway Rule
Deleting an Enterprise Gateway Rule
Specifying Alert Options
Specifying Default Alert Options
Specifying Rule-Specific Alert Options
Preventing Denial of Service Attacks
Limiting Requests Globally
Limiting Requests by IP Address
Controlling Use of Mobile Applications
Frequently Asked Questions about Enterprise Gateway
Configuring OAuth
What Is OAuth?
Using OAuth with Integration Server
Integration Server as an OAuth Client
Integration Server as an Authorization Server
Integration Server as an External Authorization Server
Integration Server as a Resource Server
OAuth Client Types
Authorization Grant Types Supported by Integration Server
Authorization Code Grant
Implicit Grant
Resource Owner Password Credentials Grant
Client Credentials Grant
The Integration Server OAuth Services
Important Considerations for Using OAuth Features
Configuring Integration Server for OAuth
Configuring OAuth Settings
Defining Clients
Registering Clients
Enabling and Disabling Clients
Editing Clients
Deleting Clients
Defining Scopes
Adding a Scope
Editing Scopes
Deleting Scopes
Associating Scopes and Clients
Adding Associations Between Clients and Scopes
Removing Client and Scope Associations
Viewing Associations Between Clients and Scopes
Managing Tokens
Viewing Tokens
Deleting Tokens
Revoking Tokens
Removing Expired Access Tokens
Customizing the Approval Page
About Using Integration Server as the Resource Server
Using an External Authorization Server
Creating an External Authorization Server Alias
Deleting an External Authorization Server
Configuring a Central User Directory or LDAP
Before You Begin
Overview of How Integration Server Works with Externally Defined Users and Groups
How the Server Uses Externally Defined Users and Groups
When the Server Accesses Externally Defined Information
How Integration Server Authenticates Externally Defined Clients
Configuring Central User Management
Requirements for Integration Server to Use Central User Management
Considerations for My webMethods Server Query Roles
Overview of Using LDAP
About LDAP and Caching
Configuring the Server to Use LDAP
Defining an LDAP Directory to Integration Server
Mapping an LDAP User's Access to ACLs
Stopping Use of an LDAP as an External Directory
Considerations for User Accounts and Groups
About Keeping Internal and External User Accounts and Group Names Unique
About User Groups and Package Replication
About Granting Administrator Privileges to External Users
Granting Administrator Privileges to an Externally Defined User
Granting Developer Privileges to External Users
Granting Access to Services and Files to External Users
Managing Packages
Using Packages
Predefined Packages
The Package Repository
How the Server Stores Package Information
Manifest File
Finding Information about Your Packages
Viewing the Packages that Reside on Your Server
Filtering the List of Packages
Refining the Filtered Package List
Determining Whether the Server Successfully Loaded the Package
Determining Whether the Package Is Enabled or Disabled
Displaying Information about a Package
Package Information
Displaying Information about Services and Folders in a Package
Displaying Documentation for a Package
Accessing a Web Document for a Package
Working with Packages
Creating a Package
Activating a Package
Reloading a Package
Enabling a Package
Disabling a Package
Deleting a Package
Recovering a Package
Archiving a Package
Copying Packages from One Server to Another
Overview of Package Replication
Version Checking
Who Can Subscribe?
Guidelines for Using Package Replication
The Publishing Server
Displaying Subscribers for a Specific Package
Displaying Subscribers for all Packages
Adding Subscribers from a Publishing Server
Updating Subscriber Information
Removing Subscribers for a Package
Publishing a Package
Creating a Release
Sending a Release
Specifying File and Version Information for a Release or Archive
The Subscribing Server
Displaying Packages to Which Your Server Subscribes
Manually Pulling a Package
Subscribing to a Package from a Subscribing Server
Requesting a Subscription to a Package from Another Server
Updating Your Subscription Information
Canceling a Subscription
About Installing Packages Published by Another Server
Installing a Package Published by Another Server
Using a Package Class Loader
Hot Deployment of Packages
How Hot Deployment Works
Determining Package Dependencies during Hot Deployment
Considerations for Hot Deployment of Packages
Enabling and Configuring Hot Deployment of Custom Packages
Disabling Hot Deployment of Custom Packages
Automatic Package Deployment
Managing Services
About Services
Fully Qualified Service Names
Package Names and Service Names
HTTP URL Aliases for Services
Finding Information about Services and Folders
Listing Folders and Services
Displaying Information about a Service
Service Information
Manually Adding a Service to the Server
Testing Services
Canceling and Killing Threads Associated with a Service
Canceling or Killing a Thread
Running Services When Packages Are Loaded, Unloaded, or Replicated
What Is a Startup Service?
What Is a Shutdown Service?
What Is a Replication Service?
Guidelines for Using Startup, Shutdown, and Replication Services
Running Services in Response to Specific Events
Managing Global Variables
Creating a Global Variable
Deleting Global Variables
Scheduling Services
Overview
Tasks Provided by Integration Server
Scheduling a User Task
Viewing Scheduled User Tasks
Filtering the List of Scheduled Tasks
Updating Scheduled User Tasks
Suspending User Tasks
Suspending a Single User Task
Suspending All User Tasks
Resuming Suspended User Tasks
Resuming a Suspended User Task
Resuming All Suspended User Tasks
Canceling a Scheduled User Task
Viewing the Scheduled System Tasks
Simple Repeating Option
Complex Repeating Option
Target Node Options
Tasks in a Clustered Environment
How Transitioning to or from Daylight Savings Time Affects Scheduled Tasks
Caching Service Results
What Is Caching?
When Are Cached Results Returned?
Using a Public Cache for Service Results Caching
Resetting the Cache
Resetting the Cache for All Services
Resetting the Cache for a Specific Service
Monitoring Service Cache Usage
Viewing Service Results in a Public Cache
Configuring Guaranteed Delivery
About Guaranteed Delivery
Configuring the Server for Guaranteed Delivery
Settings Shared by Both Inbound and Outbound Transactions
Settings for Inbound Transactions
Settings for Outbound Transactions
Specifying an E-Mail Address and SMTP Server for Error Messages
Using Guaranteed Delivery with Multiple Servers that Share an ISInternal Database
Administering Guaranteed Delivery
Shutting Down Guaranteed Delivery
Reinitializing Guaranteed Delivery
Reinitializing Guaranteed Delivery for Inbound Transactions
Reinitializing Guaranteed Delivery for Outbound Transactions
Configuring Ehcache on Integration Server
What is Ehcache?
Caching Configurations
On-Heap Cache
Local Disk Store
BigMemory
Terracotta Server Array
Understanding Caches and Cache Managers
System Caches
Cache Manager Configuration Files
Specifying the Parameters for a Cache
Dynamic vs. Non-Dynamic Cache Parameters
Installing, Viewing, and Changing the Terracotta License
Determining if You Have a Terracotta License
Adding a Terracotta License
Configuring an On-Heap Cache
Considerations for Configuring On-Heap Cache
Configuring a BigMemory Cache
Allocating Direct Memory Space to Integration Server
Considerations for Configuring BigMemoryCache
Configuring a Distributed Cache
Configuring tc-config.xml on the Terracotta Server Array
Considerations for Configuring a Distributed Cache
Cache-Wide and Client-Specific Parameters for a Distributed Cache
Cache-Wide Parameters
Client-Specific Parameters
The Rejoin Behavior of a Distributed Cache
The Nonstop Behavior of a Distributed Cache
About the Maximum Entries in Cache Value
Making a Cache Searchable
Defining Attributes
Extracting Attributes by Class
Example Extractor
Working with Cache Managers
Creating a Cache Manager
Viewing or Modifying a Cache Manager
Shutting Down a Cache Manager
Starting a Cache Manager
Reloading a Cache Manager
Deleting a Cache Manager
Reinitializing a Cache Manager
Adding a Cache Manager Configuration File to Integration Server
Manually Editing a Cache Manager Configuration File
Working with Caches
Creating a Cache
Viewing or Modifying Cache Settings
Modifying Settings for a Distributed Cache
Disabling a Cache
Enabling a Cache
Clearing a Cache
Deleting a Cache
Logging Ehcache Activity
Logging Ehcache Caching Services
Logging Cache Manager Activity in the Terracotta Server Array
Configuring the Enhanced XML Parser
What Is the Enhanced XML Parser?
How Does the Enhanced XML Parser Work?
When Is the Enhanced XML Parser Used?
What Services Consume an Enhanced Node?
Configuring the Enhanced XML Parser
Setting the Partition Size
Viewing Peak Usage Statistics
Configuring WebSockets
Overview
How WebSocket Works
Setting Up Integration Server for WebSockets
Configuring a WebSocket Ports
Configuring a WebSocketSecure Ports
Viewing WebSocket Server Endpoints for a WebSocket Port
WebSocket Server Sessions Screen
Limitations When Using WebSocket Protocol in Integration Server
Locking Administration and Best Practices
Introduction
Choosing Local Server Locking or VCS Integration Locking
Disabling and Re-enabling Locking
Disabling Locking
Re-Enabling Locking
Best Practices
Remote Server Configuration
Server User Names
Package Replication and Publishing
Package and Folder Organization
Source Code
Upgrading webMethods Integration Server
Managing webMethods Messaging Triggers
Introduction
Managing Document Retrieval
Increasing or Decreasing Threads for Document Retrieval from webMethods Broker
When to Increase or Decrease Threads for Retrieving Documents from webMethods Broker
Decreasing the Capacity of Trigger Queues
Decreasing the Capacity and Refill Level for webMethods Messaging Triggers
Suspending and Resuming Document Retrieval
About Suspending and Resuming Document Retrieval for All Triggers
Suspending or Resuming Document Retrieval for All webMethods Messaging Triggers
About Suspending and Resuming Document Retrieval for a Specific Trigger
Suspending or Resuming Document Retrieval for a webMethods Messaging Trigger
Managing Document Processing
Increasing or Decreasing Threads for Processing Documents Received by webMethods Messaging Triggers
When to Increase or Decrease Threads for Processing Documents
Decreasing Document Processing for Concurrent Triggers
Decreasing Execution Threads for Concurrent webMethods Messaging Triggers
Suspending and Resuming Document Processing
About Suspending and Resuming Document Processing for all Triggers
Suspending or Resuming Document Processing for All webMethods Messaging Triggers
About Suspending and Resuming Document Processing for Specific Triggers
Suspending or Resuming Document Processing for a Specific webMethods Messaging Trigger
Limiting Server Threads for webMethods Messaging Triggers
Setting the Maximum Number of Server Threads for webMethods Messaging Triggers
Cluster Synchronization for webMethods Messaging Trigger Management
Configuring Cluster Synchronization
Cluster Synchronization at Run Time
Monitoring Cluster Synchronization
Modifying webMethods Messaging Trigger Properties
Managing Trigger Service Retries and Shutdown Requests
Delaying Polling Requests for webMethods Messaging Triggers
How Integration Server Delays a Polling Request for a webMethods Messaging Trigger
Serial Triggers Migrated to Integration Server 10.3 or Later from Earlier Versions
Synchronizing the webMethods Messaging Trigger and Durable Subscription on Universal Messaging
Managing JMS Triggers
Introduction to JMS Trigger Management
Searching for JMS Triggers
About JMS Trigger Status and State
Enabling, Disabling and Suspending a JMS Trigger
Configuring Integration Server to Enable JMS Triggers Automatically after a Consumer Error
Controlling Thread Usage for JMS Triggers
Viewing Thread Usage for JMS Triggers
Throttling Thread Usage for JMS Triggers
Establishing a Threshold for Using Multiple Threads with a Concurrent JMS Trigger
Configuring Integration Server Session Reuse
Configuring JMS Session Reuse
Delaying Polling Requests for Concurrent JMS Triggers
How JMS Trigger Delays a Polling Request
Examples of Extended Polling Delay Configuration
What Happens When JMS Triggers Fail to Start?
How Does the JMS Trigger Restart Task Work?
About WS Endpoint Triggers
Editing WS Endpoint Triggers
Managing MQTT Triggers
Introduction to MQTT Trigger Management
MQTT Trigger State and Status
Changing the State of an MQTT Trigger
Configuring Integration Server Session Reuse for MQTT Triggers
Automatic Retry for Starting MQTT Triggers
Using a Document History Database with Exactly-Once Processing
Overview
Removing Expired Entries from the Document History Database
Clearing Expired Entries from the Document History Database
Viewing Exactly-Once Processing Statistics
Clearing Exactly-Once Processing Statistics
Using Integration Server to Manage XA Transactions
Overview of XA Transaction Management
How the Integration Server Persists the State of a Transaction
How the Integration Server Resolves Uncompleted Transactions
About Unresolved XA Transactions
Details for an Unresolved XA Transaction
Configuring XA Options in Integration Server
Enabling or Disabling XA Transaction Recovery
Configuring the XA Recovery Store
Configuring XA Server Parameters
Manually Resolving a Transaction
Content Handlers in Integration Server
How Integration Server Uses Content Handlers
How Integration Server Chooses a Content Handler for an HTTP Request
How Integration Server Chooses a Content Handler for an FTP Request
Content Handlers for HTTP and FTP Requests
About Content Handlers for HTTP Responses
Accept Header Field
About Content Handlers for FTP Responses
Class Loading in Integration Server
How Class Loading Works in Integration Server
Class Loaders
OSGi Bundle Class Loader
Integration Server Class Loaders
Classpaths
How the Integration Server Classpath Is Set
Additional Information about How the Microservices Runtime Classpath Is Set
Adding Classes to the Server Classpath
Adding Classes to a Package
Class Searching Order
How Classes Are Found
How Classes Are Found in Microservices Runtime
Searching Order within a Package
Where to Put Your Classes and Jar Files
Accelerating Class Loading
Whitelist Filtering in Integration Server
About Whitelist Filtering in Integration Server
Enabling or Disabling Whitelist Class Filtering
Integration Server Whitelist Classes File
Creating a Package Whitelist Classes File
Logging Classes that Are Not on the Whitelist
Integration Server Blacklist Classes File
Quiescing the Server for Maintenance
Overview
What Happens when Integration Server Enters Quiesce Mode?
What Tasks Can You Perform in Quiesce Mode?
What Happens when Integration Server Exits Quiesce Mode?
Specifying the Quiesce Settings
Quiescing Integration Server
Starting the Server in Quiesce Mode from the Command Prompt
Quiescing an Active Server from Integration Server Administrator
Restarting a Server in Quiesce Mode from Integration Server Administrator
Exiting Quiesce Mode
Deploying Quiesce Mode Configuration
Diagnosing the Integration Server
Introduction
Configuring the Diagnostic Port
Diagnostic Thread Pool Configuration
Diagnostic Port Access
Using the Diagnostic Utility
Diagnostic Utility Performance
Running the Diagnostic Utility from Integration Server Administrator
Running the Diagnostic Utility Service
Starting the Integration Server in Safe Mode
Starting Integration Server in Safe Mode
When the Server Automatically Places You in Safe Mode
Generating Thread Dumps
Generating a Dump of an Individual Thread
Generating a Dump of the JVM
Debugging Service Exceptions Using the Error Log
Introduction
Controlling the Level of Exception Logging Detail
Displaying the Error Log
Interpreting the Error Log
Understanding the Service Stack
Understanding the Error Messages
Understanding the Stack Trace
Using Integration Server with Docker
Overview of Docker and Integration Server
Recommendations for Using Integration Server with Docker
About the is_container Script
is_container Script Commands
Prerequisites for Building a Docker Image
Specifying Services to Expose to Consumers in webMethods Cloud
Building the Docker Image for an Integration Server Instance
Loading a Docker Image to an On-Premise Docker Registry
Pushing a Docker Image to an On-Premise Docker Registry
Running the Docker Image in an On-Premise Docker Container
Writing the Server Log to the Console
Writing Audit Logs to the Console
Accessing an Integration Server Running in a Docker Container
Externalizing Log and Configuration Files When Running Integration Server in a Docker Container
Pushing the Docker Image to Integration Cloud
Running the Docker Image in Integration Cloud
Stopping a Docker Container for Integration Server
Using a Configuration Variables Template with a Docker Image
Integration Server Administrator API
Introduction to the Administrator API
Authentication and Authorization
REST URL Structure
CRUD Operations
Administrative Actions
Credentials
Expanding Responses
Media Type for Responses
Media Type for Request Payloads
Getting Started
Controlling Access to the Administrator API
Creating a Read-Only Administrators Group
Logging Client Errors
Including a Stack Trace in the Response Body
Integration Server Administrator API Operations
Simulating Metering in Integration Server
About webMethods Metering
About the Metering Simulator
Enabling the Metering Simulator
Using Command Central to Manage Integration Server
An Overview of Command Central
Integration Server Instance Management
Creating Instances Using Command Central Web User Interface
Updating Instances Using Command Central Web User Interface
Deleting Instances Using Command Central Web User Interface
Managing Instances Using the Command Central Instance Management Commands
Accessing Integration Server Administrator through Command Central
Changing the Authentication Mode
Changing the Administrator User Password for Integration Server in Command Central
Configuring Integration Server for SSL Connection
Monitoring Integration Server Instances
Run-time Monitoring Statuses for IntegrationServer-instanceName
Run-time Monitoring States for IntegrationServer-instanceName
Monitoring KPIs of Integration Server Instances
Integration Server Configuration Types
Configuration Types that IntegrationServer-instanceName Supports
Working with Integration Server Configuration Types
Lifecycle Actions for Integration Server
Commands that Integration Server Supports
Using Unix Shell Scripts to Change Connection Credentials for Managed Products
Command Central Command Line Tool Upgrade
Integration Server Deployment Checklist
Introduction
Stage 1: Installation
Stage 2: Basic Configuration
Stage 3: Setting Up Users, Groups, and ACLs
Stage 4: Publishing Packages
Stage 5: Installing Run-Time Classes
Stage 6: Preparing Clients for Communication with the Server
Stage 7: Setting Up Security
Stage 8: Startup and Test
Stage 9: Archive Sources
Server Configuration Parameters
Introduction
watt.adapters.
watt.adminapi.
watt.art.
watt.broker.
watt.brokerCoder.
watt.cachedirective.
watt.cds.
watt.client.
watt.config.
watt.core.
watt.debug.
watt.debug2.
watt.frag.
watt.infradc.
watt.net.
watt.security.
watt.server.
watt.ssl.
watt.ssh.
watt.tx.
watt.um
watt.wm.tnextdc.
watt.wmcloud.
Environment Variables for Use with Docker
Environment Variables
FIPS 140-2 Compliance
FIPS 140-2 Compliance
Using NTLM Authentication when Integration Server Acts as the Client
Overview
Using Java-Based NTLM Support
Using Native NTLM Support via Integrated Windows Authentication
Activating Integrated Windows Authentication
Deactivating Integrated Windows Authentication
Removing User Data from Integration Server
Removing User Data
Removing References to a User Account
Removing References to Email Addresses
Removing Personal Data from Log Files
Removing Personally Identifiable Information from the Server Log
Removing Personally Identifiable Information from the Session Log
Removing Personally Identifiable Information from the Service Log
Removing Personally Identifiable Information from the Security Log
Removing Personally Identifiable Information from the SSL Session Log
Removing Personally Identifiable Information from the Configuration Variables Log
Removing Personally Identifiable Information Logged by Axis2, Kerberos, SAML, and other Third Party Libraries
Wireless Communication with the Integration Server
Overview
How Does the Integration Server Communicate with Wireless Devices?
Using URLs for Wireless Access to the Integration Server
Invoking a Service with a URL
Requesting a WML or HDML Page with a URL
Masking Session IDs in Integration Server Session and Server Logs
Server Log Facilities
About Server Log Facilities
Integration Server
WmJSONAPI Package
WmXSLT Package
Flat File
Clustering Guide
Introduction to the Integration Server Clustering Feature
An Overview of Clustering
What Is Clustering?
What Data Is Shared in a Cluster?
Load Balancing in a Stateful or Stateless Cluster
Failover Support for Stateful Clusters
Reliability
Guaranteed Delivery for Stateful or Stateless Clusters
Exactly Once for Document History
Checkpoint Restart for Stateful and Stateless Clusters
Putting It All Together
Integration Server Session Objects for Stateful Clusters
Usage Notes for Session Storage
Scheduled Jobs for Stateful or Stateless Clusters
Client Applications
Using remote Integration Servers in a Stateful or Stateless Cluster
Installation and Setup
Using Terracotta as the Caching Software for a Stateful Cluster
Installing Terracotta Server Array for a Stateful Cluster
Setting up the Terracotta Server Array for Use by the Cluster of Integration Servers
Installing and Setting Up the Integration Servers in a Stateful or Stateless Cluster
Server Environment
Adding a Server with an Embedded Database to a Cluster
Enabling Clustering for a Stateful Cluster
About Action on Startup Error Options
What Happens When an Integration Server in a Stateful Cluster Cannot Connect to the Distributed Cache?
Controlling Logging for Caching in a Stateful Cluster
Scheduling Jobs to Run in a Stateful or Stateless Cluster
Specifying Unique Logical Names for Integration Servers in a Stateful or Stateless Cluster
Using Guaranteed Delivery with a Stateful or Stateless Cluster
Managing Server Clustering
Overview
Viewing the Servers in a Stateful Cluster
Removing a Server from a Stateful Cluster
Adding a Server Back into a Stateful Cluster
Taking a Server Offline from a Stateful or Stateless Cluster
Bringing a Server Back Online to a Stateful or Stateless Cluster
Increasing the Cache Size for a Stateful Cluster
Increasing the Maximum Elements on Disk Size
Increasing the Maximum Elements on Disk Size When the Terracotta Server Array Uses Permanent-Store Persistence Mode
Increasing the Maximum Elements on Disk Size When the Terracotta Server Array Uses Temporary-Swap-Only Persistence Mode
How a Stateful Integration Server Cluster and a Terracotta Server Array Handle Failures
What Happens when an Integration Server in a Stateful Cluster Cannot Connect to the Terracotta Server Array?
Integration Server Cannot Download the tc-config.xml File
Integration Server Cannot Connect to the Servers in the tc-config.xml File
What Happens When Integration Server in a Stateful Cluster Is Disconnected from the Terracotta Server Array?
What Happens When Terracotta Servers in the Terracotta Server Array Are Disconnected?
How Do Integration Servers Respond when Terracotta Servers in the Terracotta Server Array Are Disconnected?
Audit Logging Guide
Introduction to Integration Server Audit Logging
Types of Audit Logs
Overview
IS Core Audit Logging
API Gateway Transaction Logging
Document Audit Logging
Error Audit Logging
Guaranteed Delivery Audit Logging
Messaging Audit Logging
Security Audit Logging
Service Audit Logging
Session Audit Logging
Process Audit Log
Business Process Audit Logging
Integration Process Audit Logging
Task Audit Logging
Additional Processing for Audit Log Entries
Globalization
webMethods Broker Client Logging
webMethods Adapter Logging
Setting Up IS Core Audit Logging
Configure Audit Logging
Start the Logger Configuration
Enable the Logger
For the Service Logger, Choose the Logging Level
Identify the Destination
File Names and Locations
Database Error Handling
Configure Logging Mode (Synchronous or Asynchronous)
Configure Asynchronous Mode
Choose the Queue Provider
Choose Whether to Persist the Queue
Specify Maximum Queue Size
Specify the Connection Alias for the Universal Messaging Queue
Specify Reader Threads for the Universal Messaging Queue
Queue Fail-Fast Mode for Loggers that Use Universal Messaging Queues
Additional Fields for the Security Logger
Set the Log Level for the Messaging Logger
Set Up Additional Service Logging
Set Up Customized Service Logging in Designer
Write User-Defined Messages or Input Pipelines to the Integration Server Server Log
Write Custom Values for the Current Context to the Integration Server Server Log
Write User-Defined Messages to the IS Core Audit Log
Send Messages About Service Failures to Email Addresses
Perform Additional Processing on Audit Log Entries
Controlling the Level of Exception Logging Detail
Controlling Date-Time Stamp and Time Zone Details
Rotate Audit Logs Based on Size
Limit the Number of Audit Log Files Kept by Integration Server
Use Delimiters in a File-Based Audit Log
Receiving Notifications When Logging Fails
Fail-Fast Mode for Synchronous Logging
Queue Size Considerations for Fail-Fast Mode
Other Considerations for Using Fail-Fast Mode with Audit Logging
Viewing Audit Log Data
Overview
View the Audit Logs in Integration Server Administrator
View the Error Log
View the Guaranteed Delivery Log
View the Messaging Log
View the Security Log
View the Service Log
View the Session Log
View the API Gateway Transaction Logs
Change the Log Displays
Display Logged Data in Different Languages
Change the Display Permanently for All Logs
Change the Display Temporarily for a Particular Log
Configuring On-Premise Integration Servers for webMethods Cloud
Introduction to Configuring On-Premise Integration Server for Integration Cloud
About Configuring an On-Premise Integration Server
What is an On-Premise Integration Server?
About Accounts
About Applications
Deploying Assets
Steps to Configure an On-Premise Integration Server
Configuring Settings
About Integration Cloud Settings
Specifying Settings
Editing and Deleting Settings
Setting Maximum Thread Pool Usage for Cloud Requests
Configuring Accounts for Integration Cloud
Overview
Viewing the Accounts that Reside on the Server
Creating Accounts on an On-Premise Integration Server
Uploading Accounts to Integration Cloud
Testing Accounts
Enabling and Disabling Accounts
Deleting On-Premise Accounts
Editing Accounts
Managing Applications
About Sharing Metadata on an On-Premise Integration Server
Viewing the Applications that Reside on Your Server
Defining Applications
Uploading Applications
Deleting Applications
Editing Applications
Managing Docker Services
Overview
Specifying Services to Expose to Consumers in Integration Cloud
Connecting to webMethods Integration Cloud through a Proxy
About Configuring Integration Server
Creating a Proxy Server Alias
Updating JVM Configuration Settings for Proxies
Configuring the Internet Proxy
Integration Agent Administrator's Guide
Introduction to Integration Agent
About webMethods Integration Agent
What Is Integration Agent?
Starting Integration Agent
Starting Integration Agent on Windows
Starting Integration Agent on UNIX
Shutting Down Integration Agent
Shutting Down Integration Agent from Integration Agent Administrator
Shutting Down Integration Agent from Windows
Restarting Integration Agent
What Is Integration Agent Administrator?
Starting Integration Agent Administrator
Starting Integration Agent Administrator from Windows
Logging Off Integration Agent Administrator
webMethods Integration Agent Functionality
Integration Agent Functionality
Server Menu
Logs Menu
Packages Menu
webMethods Cloud
Security Menu
Settings Menu
webMethods CloudStreams Functionality
Built-In Services Reference Guide
Introduction to the Built-In Services
About Built-In Services
List of Public Folders
Access Permissions for Built-In Services
About Deprecated Services
ART Folder
Summary of Elements in this Folder
pub.art:listRegisteredAdapters
pub.art.connection:disableConnection
pub.art.connection:enableConnection
pub.art.connection:getConnectionStatistics
pub.art.connection:listAdapterConnections
pub.art.connection:queryConnectionState
pub.art.listener:disableListener
pub.art.listener:enableListener
pub.art.listener:listAdapterListeners
pub.art.listener:queryListenerState
pub.art.listener:resumeListener
pub.art.listener:setListenerNodeConnection
pub.art.listener:suspendListener
pub.art.notification:disableListenerNotification
pub.art.notification:disablePollingNotification
pub.art.notification:disablePublishEvents
pub.art.notification:enableListenerNotification
pub.art.notification:enablePollingNotification
pub.art.notification:enablePublishEvents
pub.art.notification:listAdapterListenerNotifications
pub.art.notification:listAdapterPollingNotifications
pub.art.notification:queryListenerNotificationState
pub.art.notification:queryPollingNotificationState
pub.art.notification:resumePollingNotification
pub.art.notification:setListenerNotificationNodeListener
pub.art.notification:setPollingNotificationNodeConnection
pub.art.notification:suspendPollingNotification
pub.art.service:listAdapterServices
pub.art.service:setAdapterServiceNodeConnection
pub.art.transaction:commitTransaction
pub.art.transaction:rollbackTransaction
pub.art.transaction:setTransactionTimeout
pub.art.transaction:startTransaction
Assets Folder
Summary of Elements in this Folder
pub.assets:getChecksums
Cache Folder
About Checkpoint Restart
Summary of Elements in this Folder
pub.cache:containsKey
pub.cache:get
pub.cache:getAll
pub.cache:getKeys
pub.cache:put
pub.cache:putAll
pub.cache:remove
pub.cache:removeAll
pub.cache:search
pub.cache.admin:clearAllCaches
pub.cache.admin:clearCache
pub.cache.admin:disableCache
pub.cache.admin:enableCache
pub.cache.admin:evictExpiredElements
pub.cache.admin:isCacheDisabled
pub.cache.atomic:putIfAbsent
pub.cache.atomic:remove
pub.cache.atomic:replace
pub.cache.atomic:replaceIfKeyExists
pub.cache.bulk:isClusterBulkLoadEnabled
pub.cache.bulk:isNodeBulkLoadEnabled
pub.cache.bulk:setNodeBulkLoadEnabled
pub.cache.bulk:waitUntilClusterBulkLoadComplete
pub.cache.lock:acquireLock
pub.cache.lock:isLockedByCurrentThread
pub.cache.lock:releaseLock
pub.cache.serviceResults:addCacheEntry
pub.cache.serviceResults:listServiceCache
pub.cache.serviceResults:resetServerCache
pub.cache.serviceResults:resetServiceCache
Client Folder
Summary of Elements in this Folder
pub.client:ftp
pub.client.ftp:append
pub.client.ftp:cd
pub.client.ftp:cdls
pub.client.ftp:delete
pub.client.ftp:dir
pub.client.ftp:get
pub.client.ftp:getCompletedNotification
pub.client.ftp:login
pub.client.ftp:logout
pub.client.ftp:ls
pub.client.ftp:mdelete
pub.client.ftp:mget
pub.client.ftp:mput
pub.client.ftp:put
pub.client.ftp:putCompletedNotification
pub.client.ftp:quote
pub.client.ftp:rename
pub.client.ftp:sessioninfo
pub.client:http
pub.client.ldap:add
pub.client.ldap:bind
pub.client.ldap:cancelNotification
pub.client.ldap:compare
pub.client.ldap:delete
pub.client.ldap:modify
pub.client.ldap:registerNotification
pub.client.ldap:rename
pub.client.ldap:search
pub.client.oauth:executeRequest
pub.client.oauth:getExternalAccessToken
pub.client:restClient
pub.client.sftp:cd
pub.client.sftp:chgrp
pub.client.sftp:chmod
pub.client.sftp:chown
pub.client.sftp:get
pub.client.sftp:login
pub.client.sftp.admin:getDefaultAlgorithms
pub.client.sftp.admin:getHostKey
pub.client.sftp:logout
pub.client.sftp:ls
pub.client.sftp:mkdir
pub.client.sftp:put
pub.client.sftp:pwd
pub.client.sftp:rename
pub.client.sftp:rm
pub.client.sftp:rmdir
pub.client.sftp:symlink
pub.client:smtp
pub.client:soapClient
pub.client:soapHTTP
pub.client:soapRPC
pub.client:websocket
Compress Folder
Summary of Elements in this Folder
pub.compress:compressData
pub.compress:decompressData
Date Folder
Pattern String Symbols
Time Zones
Examples
Notes on Invalid Dates
Notes on Date and Time Format
Summary of Elements in this Folder
pub.date:calculateDateDifference
pub.date:compareDates
pub.date:currentNanoTime
pub.date:dateBuild
pub.date:dateTimeBuild
pub.date:dateTimeFormat
pub.date:elapsedNanoTime
pub.date:formatDate
pub.date:getCurrentDate
pub.date:getCurrentDateString
pub.date:getWorkingDays
pub.date:incrementDate
Datetime Folder
Supplying Time Zones
Summary of Elements in this Folder
pub.datetime:build
pub.datetime:increment
Db Folder
Summary of Elements in this Folder
pub.db:call
pub.db:clearTransaction
pub.db:close
pub.db:closeAll
pub.db:commit
pub.db:connect
pub.db:delete
pub.db:execSQL
pub.db:getProcInfo
pub.db:getProcs
pub.db:getTableInfo
pub.db:getTables
pub.db:insert
pub.db:query
pub.db:rollback
pub.db:startTransaction
pub.db:update
Document Folder
Summary of Elements in this Folder
pub.document:bytesToDocument
pub.document:deleteDocuments
pub.document:documentListToDocument
pub.document:documentToBytes
pub.document:documentToDocumentList
pub.document:documentToXMLValues
pub.document:groupDocuments
pub.document:insertDocument
pub.document:searchDocuments
pub.document:sortDocuments
pub.document:XMLValuesToDocument
Event Folder
Summary of Elements in this Folder
pub.event:addSubscriber
pub.event:alarm
pub.event:alarmInfo
pub.event:audit
pub.event:auditError
pub.event:auditErrorInfo
pub.event:auditInfo
pub.event:callstackItem
pub.event:deleteSubscriber
pub.event.eda:event
pub.event.eda:eventToDocument
pub.event.eda:schema_event
pub.event:error
pub.event:errorInfo
pub.event:exception
pub.event:exceptionInfo
pub.event:gdEnd
pub.event:gdEndInfo
pub.event:gdStart
pub.event:gdStartInfo
pub.event:getEventTypes
pub.event:getSubscribers
pub.event:jmsReceiveErrorEvent
pub.event:jmsSendErrorEvent
pub.event:journal
pub.event:journalInfo
pub.event:modifySubscriber
pub.event:portStatus
pub.event:portStatusInfo
pub.event:reloadEventManagerSettings
pub.event:replication
pub.event:replicationInfo
pub.event.routing:eventAcknowledgement
pub.event.routing:send
pub.event.routing:subscribe
pub.event.routing:unsubscribe
pub.event:saveEventManagerSettings
pub.event:security
pub.event:securityInfo
pub.event:sessionEnd
pub.event:sessionEndInfo
pub.event:sessionExpire
pub.event:sessionExpireInfo
pub.event:sessionStart
pub.event:sessionStartInfo
pub.event:stat
pub.event:statInfo
pub.event:txEnd
pub.event:txEndInfo
pub.event:txStart
pub.event:txStartInfo
File Folder
File Access Control Configuration for the pub.file Services
Parameter Settings
Summary of Elements in this Folder
pub.file:bytesToFile
pub.file:checkFileExistence
pub.file:copyFile
pub.file:deleteFile
pub.file:getFile
pub.file:listFiles
pub.file:moveFile
pub.file:readerToFile
pub.file:streamToFile
pub.file:stringToFile
Flow Folder
Summary of Elements in this Folder
pub.flow:clearPipeline
pub.flow:debugLog
pub.flow:getCallingService
pub.flow:getLastError
pub.flow:getLastFailureCaught
pub.flow:getRetryCount
pub.flow:getSession
pub.flow:getTransportInfo
pub.flow:HTTPRequest
pub.flow:HTTPResponse
pub.flow:invokeService
pub.flow:iterator
pub.flow:restorePipeline
pub.flow:restorePipelineFromFile
pub.flow:savePipeline
pub.flow:savePipelineToFile
pub.flow:setCustomContextID
pub.flow:setResponse
pub.flow:setResponse2
pub.flow:setResponseCode
pub.flow:setResponseHeader
pub.flow:setResponseHeaders
pub.flow:throwExceptionForRetry
pub.flow:tracePipeline
pub.flow:transportInfo
GraphQL Folder
Summary of Elements in this Folder
pub.graphql:load
pub.graphql:loadMany
Hashtable Folder
Summary of Elements in this Folder
pub.hashtable:containsKey
pub.hashtable:createHashtable
pub.hashtable:get
pub.hashtable:listKeys
pub.hashtable:put
pub.hashtable:remove
pub.hashtable:size
IO Folder
Summary of Elements in this Folder
pub.io:bytesToStream
pub.io:close
pub.io:createByteArray
pub.io:mark
pub.io:markSupported
pub.io:read
pub.io:readAsString
pub.io:readerToString
pub.io:reset
pub.io:skip
pub.io:streamToBytes
pub.io:streamToReader
pub.io:streamToString
pub.io:stringToReader
pub.io:stringToStream
JDBC Folder
Summary of Elements in this Folder
pub.jdbc:getPoolInfo
JMS Folder
Summary of Elements in This Folder
pub.jms:acknowledge
pub.jms:batchTriggerSpec
pub.jms:createConsumer
pub.jms:documentResolverSpec
pub.jms:JMSMessage
pub.jms:receive
pub.jms:reply
pub.jms:send
pub.jms:sendAndWait
pub.jms:sendBatch
pub.jms:triggerSpec
pub.jms:waitForReply
pub.jms.wmjms:receiveStream
pub.jms.wmjms:sendStream
JSON Folder
Data Type Mapping
Summary of Elements in This Folder
pub.json:documentToJSONString
pub.json:jsonStreamToDocument
pub.json:jsonStringToDocument
pub.json:validate
pub.json.schema:validate
List Folder
Summary of Elements in this Folder
pub.list:addItemToVector
pub.list:appendToDocumentList
pub.list:appendToStringList
pub.list:sizeOfList
pub.list:stringListToDocumentList
pub.list:vectorToArray
Math Folder
Summary of Elements in this Folder
pub.math:absoluteValue
pub.math:addFloatList
pub.math:addFloats
pub.math:addIntList
pub.math:addInts
pub.math:addObjects
pub.math:divideFloats
pub.math:divideInts
pub.math:divideObjects
pub.math:max
pub.math:min
pub.math:multiplyFloatList
pub.math:multiplyFloats
pub.math:multiplyIntList
pub.math:multiplyInts
pub.math:multiplyObjects
pub.math:randomDouble
pub.math:roundNumber
pub.math:subtractFloats
pub.math:subtractInts
pub.math:subtractObjects
pub.math:toNumber
Metadata Folder
Summary of Elements in this Folder
pub.metadata.assets:publishPackages
MIME Folder
Summary of Elements in this Folder
pub.mime:addBodyPart
pub.mime:addMimeHeader
pub.mime:createMimeData
pub.mime:getBodyPartContent
pub.mime:getBodyPartHeader
pub.mime:getContentType
pub.mime:getEnvelopeStream
pub.mime:getMimeHeader
pub.mime:getNumParts
pub.mime:getPrimaryContentType
pub.mime:getSubContentType
pub.mime:mergeHeaderAndBody
MQTT Folder
Summary of Elements in this Folder
pub.mqtt:publish
pub.mqtt:triggerSpec
OAuth Folder
Summary of Elements in this Folder
pub.oauth:authorize
pub.oauth:getAccessToken
pub.oauth:getToken
pub.oauth:introspectToken
pub.oauth:refreshAccessToken
pub.oauth:removeExpiredAccessToken
pub.oauth:revokeToken
Packages Folder
Summary of Elements in this Folder
pub.packages:activatePackage
pub.packages:backupPackage
pub.packages:disablePackage
pub.packages:enablePackage
pub.packages:installPackage
pub.packages:recoverPackage
pub.packages:reloadPackage
pub.packages.hotdeployment:cancel
Publish Folder
Summary of Elements in this Folder
pub.publish:deliver
pub.publish:deliverAndWait
pub.publish:documentResolverSpec
pub.publish:envelope
pub.publish:getRedeliveryCount
pub.publish:publish
pub.publish:publishAndWait
pub.publish:reply
pub.publish:syncToBroker
pub.publish:syncToProvider
pub.publish:waitForReply
pub.publish.notification:error
Remote Folder
Summary of Elements in this Folder
pub.remote:invoke
pub.remote.gd:end
pub.remote.gd:getStatus
pub.remote.gd:invoke
pub.remote.gd:restart
pub.remote.gd:retrieve
pub.remote.gd:send
pub.remote.gd:start
pub.remote.gd:submit
Replicator Folder
Summary of Elements in this Folder
pub.replicator:addReleaseRegistryEntry
pub.replicator:deleteReleaseRegistryEntry
pub.replicator:distributeViaFTP
pub.replicator:distributeViaSvcPull
pub.replicator:distributeViaSvcPush
pub.replicator:generateReplicationEvent
pub.replicator:getLocalReleasedList
pub.replicator:getRemoteReleasedList
pub.replicator:notifyPackageRelease
pub.replicator:packageCreation
Report Folder
Summary of Elements in this Folder
pub.report:runFileTemplate
pub.report:runFileTemplateOnPipe
pub.report:runStringTemplate
pub.report:runStringTemplateOnPipe
pub.report:runTemplate
pub.report:runTemplateOnPipe
Scheduler Folder
Summary of Elements in this Folder
pub.scheduler:addComplexTask
pub.scheduler:addOneTimeTask
pub.scheduler:addRepeatingTask
pub.scheduler:cancelTask
pub.scheduler:getTaskIDs
pub.scheduler:getTaskInfo
pub.scheduler:getUserTaskList
pub.scheduler:migrateTasksToJDBC
pub.scheduler:resumeTask
pub.scheduler:suspendTask
pub.scheduler:updateComplexTask
pub.scheduler:updateOneTimeTask
pub.scheduler:updateRepeatingTask
Schema Folder
Summary of Elements in this Folder
pub.schema:createXSD
pub.schema:validate
pub.schema:validatePipeline
pub.schema.w3c
pub.schema.w3c:datatypes
pub.schema.w3c:structures
pub.schema.w3c:xml
pub.schema.w3c:xsi
Security Folder
About the Security Elements
Summary of Elements in this Folder
pub.security:clearAuthenticationCache
pub.security:clearKeyAndChain
pub.security:setKeyAndChain
pub.security:setKeyAndChainFromBytes
pub.security.enterpriseGateway:alertSpec
pub.security.enterpriseGateway:customFilterSpec
pub.security.keystore:getCertificate
pub.security.keystore:getKeyAndChain
pub.security.keystore:getTrustedCertificates
pub.security.keystore:setKeyAndChain
pub.security.keystore.pkcs7:sign
pub.security.outboundPasswords:setPassword
pub.security.outboundPasswords:getPassword
pub.security.outboundPasswords:listKeys
pub.security.outboundPasswords:removePassword
pub.security.outboundPasswords:updatePassword
pub.security.pkcs7:sign
pub.security.pkcs7:verify
pub.security:userInfoSpec
pub.security.util:createMessageDigest
pub.security.util:getCertificateInfo
pub.security.util:loadPKCS7CertChain
pub.security.util:createSecureString
pub.security.util:convertSecureString
pub.security.util:destroySecureString
pub.security.xml:decryptXML
pub.security.xml:encryptXML
pub.security.xml:signXML
pub.security.xml:verifyXML
SMIME Folder
Summary of Elements in this Folder
pub.smime:createCertsOnlyData
pub.smime:createEncryptedData
pub.smime:createSignedAndEncryptedData
pub.smime:createSignedData
pub.smime:processCertsOnlyData
pub.smime:processEncryptedData
pub.smime:processSignedData
pub.smime.keystore:createSignedAndEncryptedData
pub.smime.keystore:createSignedData
pub.smime.keystore:processEncryptedData
SOAP Folder
Summary of Elements in this Folder
pub.soap.handler:addBodyBlock
pub.soap.handler:addFaultBlock
pub.soap.handler:addHeaderBlock
pub.soap.handler:addHeaderElement
pub.soap.handler:generateDocumentTypesFromWSDL
pub.soap.handler:getBodyBlock
pub.soap.handler:getBodyBlockQNames
pub.soap.handler:getFaultBlock
pub.soap.handler:getHeaderBlock
pub.soap.handler:getHeaderBlockQNames
pub.soap.handler:getHeaderElement
pub.soap.handler:getInitialSOAPMessage
pub.soap.handler:getMessageAddressingProperties
pub.soap.handler:getProperty
pub.soap.handler:getServicePipeline
pub.soap.handler:getSOAPMessage
pub.soap.handler:getWebServiceInvocationProperties
pub.soap.handler:handlerSpec
pub.soap.handler:hasFaultMessage
pub.soap.handler:listConsumer
pub.soap.handler:listProvider
pub.soap.handler:registerConsumer
pub.soap.handler:registerProvider
pub.soap.handler:registerWmConsumer
pub.soap.handler:registerWmProvider
pub.soap.handler:removeBodyBlock
pub.soap.handler:removeHeaderBlock
pub.soap.handler:removeHeaderElement
pub.soap.handler:removeProperty
pub.soap.handler:setProperty
pub.soap.handler:setSOAPMessage
pub.soap.handler:unregisterConsumer
pub.soap.handler:unregisterProvider
pub.soap.handler:updateFaultBlock
pub.soap.processor:list
pub.soap.processor:processMessage
pub.soap.processor:processRPCMessage
pub.soap.processor:registerProcessor
pub.soap.processor:unregisterProcessor
pub.soap.schema:encoding
pub.soap.schema:encoding_1_2
pub.soap.schema:envelope
pub.soap.schema:envelope_1_2
pub.soap.utils:addBodyEntry
pub.soap.utils:addHeaderEntry
pub.soap.utils:addTrailer
pub.soap.utils:callbackServiceSpec
pub.soap.utils:convertToVersionSpecificSOAPFault
pub.soap.utils:createSoapData
pub.soap.utils:createXOPObject
pub.soap.utils:exitUnableToUnderstand
pub.soap.utils:getActor
pub.soap.utils:getBody
pub.soap.utils:getBodyEntries
pub.soap.utils:getDocument
pub.soap.utils:getEncoding
pub.soap.utils:getHeader
pub.soap.utils:getHeaderEntries
pub.soap.utils:getMustUnderstand
pub.soap.utils:getQName
pub.soap.utils:getTrailers
pub.soap.utils:getXOPObjectContent
pub.soap.utils:QName
pub.soap.utils:removeBodyEntry
pub.soap.utils:removeHeaderEntry
pub.soap.utils:removeTrailer
pub.soap.utils:requestResponseSpec
pub.soap.utils:resetWSDEffectivePolicy
pub.soap.utils.setWSDEffectivePolicy
pub.soap.utils:soapDataToBytes
pub.soap.utils:soapDataToString
pub.soap.utils:soapFault
pub.soap.utils:streamToSoapData
pub.soap.utils:stringToSoapData
pub.soap.utils:validateSoapData
pub.soap.wsa:action
pub.soap.wsa:faultTo
pub.soap.wsa:from
pub.soap.wsa:messageID
pub.soap.wsa:problemAction
pub.soap.wsa:problemHeaderQName
pub.soap.wsa:problemIRI
pub.soap.wsa:relatesTo
pub.soap.wsa:replyTo
pub.soap.wsa:retryAfter
pub.soap.wsa:to
pub.soap.wsa:schema_wsa
pub.soap.wsa.submission:action
pub.soap.wsa.submission:faultTo
pub.soap.wsa.submission:from
pub.soap.wsa.submission:messageID
pub.soap.wsa.submission:relatesTo
pub.soap.wsa.submission:replyTo
pub.soap.wsa.submission:retryAfter
pub.soap.wsa.submission:to
pub.soap.wsa.submission:schema_wsa_submission
pub.soap.wsrm:closeSequence
pub.soap.wsrm:createSequence
pub.soap.wsrm:sendAcknowledgementRequest
pub.soap.wsrm:terminateSequence
pub.soap.wsrm:waitUntilSequenceCompleted
Storage Folder
About the Storage Elements
Locking Considerations
Entry Locking
Data Store Locking
Automatic Promotion to Exclusive Lock
Wait Time and Duration
Sample Flow Service for Checkpoint Restart
Summary of Elements in this Folder
pub.storage:add
pub.storage:closeStore
pub.storage:deleteStore
pub.storage:get
pub.storage:keys
pub.storage:listLocks
pub.storage:lock
pub.storage:put
pub.storage:registerStore
pub.storage:releaseLocks
pub.storage:remove
pub.storage:shutdown
pub.storage:startup
pub.storage:unlock
String Folder
Summary of Elements in this Folder
pub.string:base64Decode
pub.string:base64Encode
pub.string:bytesToString
pub.string:compareStrings
pub.string:concat
pub.string:HTMLDecode
pub.string:HTMLEncode
pub.string:indexOf
pub.string:isAlphanumeric
pub.string:isDate
pub.string:isNullEmptyOrWhitespace
pub.string:isNullOrBlank
pub.string:isNumber
pub.string:length
pub.string:lookupDictionary
pub.string:lookupTable
pub.string:makeString
pub.string:messageFormat
pub.string:numericFormat
pub.string:objectToString
pub.string:padLeft
pub.string:padRight
pub.string:replace
pub.string:stringToBytes
pub.string:substitutePipelineVariables
pub.string:substring
pub.string:tokenize
pub.string:toLower
pub.string:toUpper
pub.string:trim
pub.string:URLDecode
pub.string:URLEncode
Sync Folder
Summary of Elements in this Folder
pub.sync:notify
pub.sync:shutdown
pub.sync:wait
Synchronization Folder
Summary of Elements in this Folder
pub.synchronization.latch:closeLatch
pub.synchronization.latch:isLatchClosed
pub.synchronization.latch:openLatch
pub.synchronization.xref:createXReference
pub.synchronization.xref:deleteByObjectId
pub.synchronization.xref:deleteXReference
pub.synchronization.xref:getCanonicalKey
pub.synchronization.xref:getNativeId
pub.synchronization.xref:insertXReference
Trigger Folder
Summary of Elements in this Folder
pub.trigger:createJMSTrigger
pub.trigger:createTrigger
pub.trigger:deleteJMSTrigger
pub.trigger:deleteTrigger
pub.trigger:disableJMSTriggers
pub.trigger:enableJMSTriggers
pub.trigger:resourceMonitoringSpec
pub.trigger:resumeProcessing
pub.trigger:resumeRetrieval
pub.trigger:suspendJMSTriggers
pub.trigger:suspendProcessing
pub.trigger:suspendRetrieval
TX Folder
Summary of Elements in this Folder
pub.tx:init
pub.tx:shutdown
pub.tx:resetOutbound
UniversalName Folder
Summary of Elements in this Folder
pub.universalName:find
pub.universalName:findDocumentType
pub.universalName:list
pub.universalName:listAll
Utils Folder
Summary of Elements in this Folder
pub.utils:deepClone
pub.utils:executeOSCommand
pub.utils:generateUUID
pub.utils:getServerProperty
pub.utils.messaging:migrateDocTypesTriggersToUM
pub.utils:transcode
pub.utils.ws:setCompatibilityModeFalse
WebSocket Folder
Summary of Elements in this Folder
pub.websocket:close
pub.websocket:disconnect
pub.websocket:getCookies
pub.websocket:getExtensions
pub.websocket:getHeaders
pub.websocket:getPathParameters
pub.websocket:getPathParameter
pub.websocket:getRequest
pub.websocket:getQueryParameters
pub.websocket:getQueryParameter
pub.websocket:getSubProtocols
pub.websocket:onBinary
pub.websocket:onClose
pub.websocket:onConnect
pub.websocket:onError
pub.websocket:onText
pub.websocket:ping
pub.websocket:pong
pub.websocket:send
XML Folder
Summary of Elements in this Folder
pub.xml:documentToXMLString
pub.xml:freeXMLNode
pub.xml:getNextXMLNode
pub.xml:getXMLNodeIterator
pub.xml:getXMLNodeType
pub.xml:loadEnhancedXMLNode
pub.xml:loadXMLNode
pub.xml:queryXMLNode
pub.xml:xmlNodeToDocument
pub.xml:xmlStringToEnhancedXMLNode
pub.xml:xmlStringToXMLNode
XMLData Folder
Summary of Elements in this Folder
pub.xmldata.domNodeToXMLData
pub.xmldata:getAttributes
pub.xmldata:getGroupObjects
pub.xmldata.getGroupValues
pub.xmldata:getInstanceTag
pub.xmldata:getNamespaceTags
pub.xmldata:queryXMLNode
pub.xmldata:setAttribute
pub.xmldata:setInstanceTag
pub.xmldata:setNamepaceTag
pub.xmldata:xmlDataToXMLString
XSLT Folder
Summary of Elements in this Folder
pub.xslt.Transformations:transformSerialXML
pub.xslt.Cache:removeAllTemplates
pub.xslt.Cache:removeTemplate
Developing Data Synchronization Solutions with webMethods Mobile Support
Introduction to the Mobile Data Synchronization
Overview
What Is Mobile Data Synchronization?
What Is webMethods Mobile Support?
Mobile Support Client
WmMobileSupport Package
Mobile Support Sync Store
Mobile Sync Components
webMethods Adapter
Data Synchronization in a Clustered Environment
Change Detection and Conflict Resolution
Configuring webMethods Mobile Support
Before You Configure Mobile Support
Configuring Mobile Support
Considerations for Using Mobile Support in a Clustered Environment
Deploying and Migrating Mobile Support Configuration
Developing Solutions Using Mobile Support
Overview
Step 1: Write the Server-Side Business Logic
Creating the Business Document Type
Writing the Adapter Services
Writing the Flow Services
Writing the Download Service
Writing the Upload Service
Writing the Notification Services
Step 2: Create a Mobile Sync Component
Step 3: Write the Mobile Application
Preparing to Use the Mobile Support Client
Creating a Context Instance
Setting Initialization Parameters
Writing the Logic to Initiate Download Requests
Writing the Logic to Initiate Synchronization Requests
Writing the Logic for Logging Activities
Step 4: Associate the Mobile Application with a Mobile Sync Component
Associating a Mobile Application with a Mobile Sync Component
Associating a Mobile Application with a Different Mobile Sync Component
Managing Mobile Sync Components
Enabling a Mobile Sync Component
Disabling a Mobile Sync Component
Editing a Mobile Sync Component
Suspending a Mobile Sync Component
Resuming a Mobile Sync Component
Deleting a Mobile Sync Component
Frequently Asked Questions
Questions about Mobile Support and Integration Server Quiesce Mode
Questions about Mobile Support Operations when Packages Are Disabled or Reloaded
Questions about Storing Business Data in the Sync Store
Built-In Services
Overview
wm.mobile.datasync:synchronize
wm.mobile.datasync.specs:downloadSpec
wm.mobile.datasync.specs:uploadSpec
Dynamic Server Pages and Output Templates Developer's Guide
Introduction to Dynamic Server Pages (DSPs)
Using Dynamic Server Pages (DSPs)
What Is a Dynamic Server Page?
What Does a DSP Look Like?
When Do You Use DSPs?
What Are the Advantages of Using DSPs?
Creating DSPs
File Encoding and Character Set Limitations
Publishing DSPs
Securing DSPs
Securing DSPs Against Unauthorized Access
Securing DSPs Against Cross Site Scripting Attacks
Securing DSPs Against CSRF Attacks
Limiting the External URLs that Can Be Used for Redirection
Requesting DSPs
Hyperlinks to DSPs
Using the DSP Tags
Begin...End Constructs
Invoking Services Using the %invoke% Tag
What Is Scope?
Why Does Scope Matter?
Ending the Scope of the Invoke Action
Referencing Variables In and Out of Scope
Passing Parameters with a DSP
Passing Parameters Between DSPs
Passing Parameters Between Services within a DSP
Catching Errors
Extracting Results from an Array Variable
Extracting Results from a Document
Using the %loop% Tag to Examine the Current Scope
Conditionally Executing Blocks of Code
Building Conditional Blocks With the %ifvar% Tag
Testing for a Particular Value
Building Conditional Blocks with the %switch% Tag
Specifying a Default Case
Inserting Text Files in a DSP
Specifying a List of Permitted URLs for Redirection
Arbitrarily Processing DSP Tags
Using Output Templates to Format Service Output
What is an Output Template?
What Does an Output Template Look Like?
When Does the Server Use an Output Template?
Using Output Templates to Return Output to HTTP Clients
Guidelines for Using HTML-Based Output Templates with HTTP Clients
Guidelines for Using XML-Based Output Templates with HTTP Clients
Using Output Templates to Return Output to SMTP and FTP Clients
Using Output Templates to Return Output to Wireless Devices
Guidelines for Creating WML Output Templates
Guidelines for Creating HDML Output Templates
Applying Output Templates Arbitrarily
Creating an Output Template
Assigning an Output Template to a Service
Securing Pages and Documents Created from Output Templates
Securing Documents and HTML Pages Against Cross Scripting Attacks
Limiting the External URLs that Can Be Used for Redirection
Tag Descriptions
Overview
%comment%
%ifvar%
%include%
%invoke%
%loop%
%loopsep%
%nl%
%rename%
%scope%
%switch%
%sysvar%
%validConst%
%value%
DSPs and Output Templates in Different Languages
Overview
Creating DSPs and Templates in Other Languages
Creating Localized DSPs and Templates
Creating a Default DSP or Template
Points to Remember
Using Localized DSPs and Templates
Setting Up Your Browser
Publishing Localized DSPs and Templates
Publishing a Localized DSP to the Server
Publishing a Localized Template to the Server
Requesting a Localized DSP
The localeID Value
For More Information
Flat File Schema Developer's Guide
Introduction to webMethods WmFlatFile Package
Concepts
What is a Flat File?
What is a Flat File Schema?
How Is a Flat File Schema Used to Parse Records?
Record Parsers
Record Identifiers
Extractors
Undefined Data
Default Records
What is a Flat File Dictionary?
When Should I Create a Flat File Dictionary?
Processing Flat Files Overview
Overview of Processing Flat Files
Formatting Inbound and Outbound Data
Processing Inbound Flat Files
Handling Large Flat Files
Processing Outbound Flat Files
Working with Elements in Flat File Schemas and Dictionaries
Overview
Floating Records
Examples: Parsing Inbound Floating Records
Examples: Parsing Outbound Floating Records
Extractors
Validators
Conditional Validators
Field Validators
Length Validator
Code List Validator
Byte Count Validator
Format Services
Creating Format Services
Working with Format Error Messages
Disabling Format Services
Managing Dictionary Dependencies on Format Services
Managing Flat File Dictionary Dependencies
Customizing the Flat File Configuration Settings
Sending and Receiving Flat Files
Overview
Flat File Content Handler and Content Type
Choosing the Service to Receive the Flat File from the Content Handler
Submitting a Flat File to Integration Server in a String Variable
Submitting a Flat File to Integration Server via HTTP
Building a Client that Posts a Flat File to a Service
Submitting a Flat File to Integration Server via FTP
FTPing a File From a webMethods Integration Server
Getting Results from an FTP’d Document
Submitting a Flat File to Integration Server via File Polling
Submitting a Flat File to Integration Server via an E-mail Message
Requirements for Submitting a Flat File Document via an E-mail Message
Getting Results from an E-mailed Document
Validation Errors
Validation Error Contents
General Error Entries in the errors Array
Entries for Conditional Validator Errors in the errorDetails Array
Validation Error Codes
Programming Creating Flat File Schemas and Dictionaries
Overview
Creating Flat File Dictionary Entries, Dictionaries, and Schemas
Creating Flat File Dictionary Entries
Creating an Entire Flat File Dictionary with Data
Creating an Empty Flat File Dictionary
Creating a Flat File Schema
Modifying Flat File Dictionary Entries, Dictionaries, and Schemas
Modifying an Existing Flat File Dictionary Entry
Modifying an Existing Flat File Dictionary
Modifying an Existing Flat File Schema
Deleting Flat File Dictionary Entries, Dictionaries, and Schemas
Sample Flow Services for Working with XML Files
Creating a Service that Retrieves the XML File
Retrieving Namespace Data to Write to an XML File
Flat File Byte Count Parser
Overview
Configuring the flat file byte count parser
Handling Partial Characters
Reading Partial Characters
Writing Partial Character Encodings
Stateful Encodings
Writing Stateful Encodings
Guaranteed Delivery Developer’s Guide
Introduction to Guaranteed Delivery Services
Overview of Guaranteed Delivery
Overview
What Is Guaranteed Delivery?
Indicating You Want to Use Guaranteed Delivery
How Transactions Are Managed
Customizing the Job Manager
Identifying Transactions
Specifying How Long Transactions Are Active
Handling Failures
Creating a Java Client that Uses Guaranteed Delivery
Overview
Sample Code (Synchronous Request)
Sample Code (Asynchronous Request)
Creating a Flow Service that Uses Guaranteed Delivery
Overview
Sample Flow (Synchronous Request)
Sample Flow (Asynchronous Request)
JMS Client Development Guide
Introduction to Using webMethods Integration Server for Building JMS Client
Introduction to JMS
JMS Messaging
Messaging Styles
Point-to-point (PTP) Messaging
Publish-Subscribe Messaging
Durable Subscriptions
Non-durable Subscriptions
JMS API Programming Model
Administered Objects
Types of Administered Objects
Connection Factories
Destinations
Connections
Sessions
Message Producer
Message Consumer
Message Selector
Messages
Message Structure
Message Acknowledgment
Working with JMS Triggers
About SOAP-JMS Triggers
Overview of Building a Non-Transacted JMS Trigger
Standard JMS Trigger Service Requirements
Creating a JMS Trigger
Adding JMS Destinations and Message Selectors to a JMS Trigger
Creating a Destination on the JMS Provider
About Durable and Non-Durable Subscribers
Creating a Message Selector
Adding Routing Rules to a Standard JMS Trigger
Creating a Local Filter
Managing Destinations and Durable Subscribers on the JMS Provider through Designer
Modifying Destinations or Durable Subscribers via a JMS Trigger in Designer
Building Standard JMS Triggers with Multiple Routing Rules
Guidelines for Building a JMS Trigger that Performs Ordered Service Execution
Enabling or Disabling a JMS Trigger
JMS Trigger States
Setting an Acknowledgement Mode
About Join Time-Outs
Join Time-Outs for All (AND) Joins
Join Time-Outs for Only One (XOR) Joins
Setting a Join Time-Out
About Execution Users for JMS Triggers
Assigning an Execution User to a JMS Trigger
About Message Processing
Serial Processing
Concurrent Processing
Message Processing and Message Consumers
Message Processing and Load Balancing
About Batch Processing for Standard JMS Triggers
Guidelines for Configuring Batch Processing
Using Multiple Connections to Retrieve Messages for a Concurrent JMS Trigger
Retrieving Multiple Messages for a JMS Trigger with Each Request
Configuring Message Processing
Fatal Error Handling for Non-Transacted JMS Triggers
Configuring Fatal Error Handling for Non-Transacted JMS Triggers
Transient Error Handling for Non-Transacted JMS Triggers
About Retry Behavior for Trigger Services
Service Requirements for Retrying a Trigger Service
Handling Retry Failure
Overview of Throw Exception for Retry Failure
Overview of Suspend and Retry Later for Retry Failure
Configuring Transient Error Handling for a Non-Transacted JMS Trigger
Exactly-Once Processing for JMS Triggers
Duplicate Detection Methods for JMS Triggers
Configuring Exactly-Once Processing for a JMS Trigger
Disabling Exactly-Once Processing for a JMS Trigger
Debugging a JMS Trigger
Building a Transacted JMS Trigger
Prerequisites for a Transacted JMS Trigger
Properties for Transacted JMS Triggers
Steps for Building a Transacted JMS Trigger
Fatal Error Handling for Transacted JMS Triggers
Configuring Fatal Error Handling for Transacted JMS Triggers
Transient Error Handling for Transacted JMS Triggers
Overview of Recover Only for Transaction Rollback
Overview of Suspend and Recover for Transaction Rollback
Configuring Transient Error Handling for Transacted JMS Triggers
Sending and Receiving JMS Messages
The JMS Services
Sending a JMS Message
How to Send a JMS Message
Sending a JMS Message and Waiting for a Reply
How to Send a Request Message and Wait for a Reply
How to Send a Request that Uses a Dedicated Listener to Retrieve Replies
How to Send a JMS Message and Specify a Reply Destination without Waiting for a Reply
Replying to a JMS Message
How to Send a Reply Message
Receiving a JMS Message Using Built-In Services
How to Actively Receive a JMS Message
Sending a JMS Message as Part of a Transaction
How to Send a JMS Message within a Transaction
Setting Properties in a JMS Message
Assigning an Activation to a JMS Message
Setting the UUID
Exactly-Once Processing for JMS Triggers
Overview of Exactly-Once Processing for JMS Triggers
Duplicate Detection Methods for JMS Triggers
Summary of Duplicate Detection Process for JMS Triggers
Delivery Count for JMS Messages
Document History Database for Use with JMS Triggers
What Happens when the Document History Database Is Not Available for a JMS Trigger?
Managing the Size of the Document History Database
Clearing Expired Entries from the Document History Database
Document Resolver Service for a JMS Trigger
Document Resolver Service and Exceptions for a JMS Trigger
Extenuating Circumstances for Exactly-Once Processing
Circumstances in which Duplicate Messages Can Be Processed
Circumstances in which New Messages Are Treated as Duplicates
Exactly-Once Processing and Performance
Transient Error Handling During Trigger Preprocessing
Server and Trigger Properties that Affect Transient Error Handling During Trigger Preprocessing
Overview of Transient Error Handling During Trigger Preprocessing
How Triggers Correspond to Durable Subscribers on Universal Messaging
Consuming JMS Messages Concurrently in a Load-Balanced Fashion
Introduction
Consuming JMS Messages Concurrently from the webMethods Broker
Configuring JMS Triggers, Integration Server, and webMethods Broker for Load-Balancing
Automatic Load Balancing Configuration for Durable Subscribers when Using the webMethods Broker
Consuming JMS Messages in Order with Multiple Consumers
Consuming JMS Messages in Order Using the webMethods Broker
Using JMS Trigger Groups
About JMS Trigger Groups
Creating a JMS Trigger Group
Managing JMS Triggers in a JMS Trigger Group
Using JMS Trigger Groups with Round Robin in Universal Messaging
Working with Cluster Policies
Introduction
Working with the Multisend Guaranteed Policy
Error Handling with the Multisend Guaranteed Policy
Error Handling for Transaction Type of NO_TRANSACTION
Error Handling for Transaction Type of XA_TRANSACTION or LOCAL_TRANSACTION
Transaction Logging with the Multisend Guaranteed Policy
Working with the Multisend Best Effort Policy
Overriding the Cluster Policy when Sending JMS Messages
How to Override the Cluster Policy when Sending a JMS Message
Exceptions when Overriding Cluster Policies
Building a Resource Monitoring Service
About a Resource Monitoring Service
Service Requirements
Building a Document Resolver Service
About a Document Resolver Service
Service Requirements
Transaction Management
Transaction Management Overview
Transactions
Transaction Types
XA Transactions
Implicit and Explicit Transactions
Implicit Transactions
Explicit Transactions
Built-In Transaction Management Services
MIME-S/MIME Developer’s Guide
Introduction to MIMIE and S/MIME Messages
Overview of MIME and S/MIME Messages
Overview
What Is MIME?
Basic Structure of a MIME Message
Header Fields
The Body
Multipart MIME Messages
What Is S/MIME?
Digital Certificates
Digital Signatures
Explicit and Implicit Signatures
Encryption
The MIME and S/MIME Services
Services Used to Construct MIME and S/MIME Messages
Services Used to Extract Data from MIME and S/MIME Messages
MIME Messages, MIME Entities, and MIME Objects
Building MIME and S/MIME Messages
Overview
Creating a MIME Message
How to Create a MIME Message
Example—Creating a Single-Part MIME Message
Example—Creating a Multipart MIME Message
Signing a MIME Message
How to Create a Signed S/MIME Message
Example—Signing a MIME Message
Encrypting a MIME Message
How to Create an Encrypted S/MIME Message
Example—Encrypting a MIME Message
Signing and Encrypting a MIME Message
Example—Signing and Encrypting a MIME Message
Extracting Data from MIME and S/MIME Messages
Overview
Extracting the Payload from a MIME Message
How to Extract the Payload from a MIME Message
Example—Extracting One Part from a Multipart MIME Message
Example—Extracting All Parts from a Multipart MIME Message
Extracting the Payload from a Signed MIME Message
How Do You Know Whether the Message Is Signed?
Working with InputStreams
What Happens when the Signature is Processed?
Error Codes and Messages
How to Extract the Payload from a Signed S/MIME Message
Example—Extracting Content from a Signed S/MIME Message
Extracting the Payload from an Encrypted MIME Message
How Do You Know Whether the Message Is Encrypted?
How to Extract the Payload from an Encrypted S/MIME Message
Example—Extracting Content from an Encrypted S/MIME Message
Extracting Data from a Signed and Encrypted MIME Message
Example—Extracting Content from a Signed and Encrypted S/MIME Message
Publish-Subscribe Developer’s Guide
Introduction to the Publish-and-Subscribe Model
An Introduction to the Publish-and-Subscribe Model
Introduction
What Is the Publish-and-Subscribe Model?
webMethods Components
Integration Server
webMethods Messaging Providers
Basic Elements in the Publish-and-Subscribe Model
Documents
Publishable Document Types
Triggers (webMethods Messaging Triggers)
Services
Adapter Notifications
Canonical Documents
Overview of Publishing and Subscribing
Introduction
Overview of Publishing to a webMethods Messaging Provider
Publishing Documents to the webMethods Messaging Provider
Publishing Documents When the webMethods Messaging Provider Is Not Available
Publishing Documents to a webMethods Messaging Provider and Waiting for a Reply
Overview of Subscribing from webMethods Messaging Provider
The Subscribe Path for Published Documents
The Subscribe Path for Delivered Documents When Using webMethods Broker
Overview of Local Publishing
Steps for Building a Publish-and-Subscribe Solution
Introduction
Step 1: Research the Integration Problem and Determine Solution
Step 2: Determine the Production Configuration
Step 3: Create the Messaging Connection Aliases
Step 4: Create the Publishable Document Types
Step 5: Make the Publishable Document Types Available
Step 6: Create the Services that Publish the Documents
Step 7: Create Trigger Services to Process the Documents
Step 8: Define the Triggers
Configuring the Integration Server to Publish and Subscribe to Documents
Introduction
Configuring the Connection to the Messaging Provider
Configuring Document Stores
Specifying a User Account for Invoking Services Specified in webMethods messaging triggers
Configuring Settings for a Document History Database
Configuring Integration Server for Key Cross-Reference and Echo Suppression
Configuring Integration Server to Handle Native Broker Events
Publishing Documents
The Publishing Services
Setting Fields in the Document Envelope
About the Activation ID
About UUID, EventIds, and Digital Event Services
Publishing a Document
How to Publish a Document
Publishing a Document and Waiting for a Reply
How to Publish a Request Document and Wait for a Reply
Debugging a Flow Service that Performs an Asynchronous Request/Reply with Universal Messaging
Delivering a Document
How to Deliver a Document
Cluster Failover and Document Delivery with webMethods Broker
Delivering a Document and Waiting for a Reply
How to Deliver a Document and Wait for a Reply
Impact of Universal Messaging Changes to Shared Durables on Document Delivery
Client IDs for Triggers and the Destination ID in pub.publish:deliver* Services
Replying to a Published or Delivered Document
Specifying the Envelope of the Received Document
How to Create a Service that Sends a Reply Document
Working with webMethods Messaging Triggers
Overview of Building a webMethods Messaging Trigger
webMethods Messaging Trigger Requirements
Trigger Service Requirements
Creating a webMethods Messaging Trigger
Creating Conditions
Using Filters with a Subscription
Creating Filters for Use with Universal Messaging
Universal Messaging Provider Filters and Encoding Type
Examples of Universal Messaging Provider Filters for Use with Protocol Buffers
Creating Filters for Use with webMethods Broker
Using Hints in Filters
Detecting Deadletters with Hints
Using Multiple Conditions in a webMethods Messaging Trigger
Using Multiple Conditions for Ordered Service Execution
Ordering Conditions in a webMethods Messaging Trigger
Disabling and Enabling a webMethods Messaging Trigger
Disabling and Enabling a webMethods Messaging Trigger in a Cluster or Non-Clustered Group
About Join Time-Outs
Join Time-Outs for All (AND) Join Conditions
Join Time-Outs for Only One (XOR) Join Conditions
Setting a Join Time-Out
About Priority Message Processing
Enabling and Disabling Priority Message Processing for a webMethods Messaging Trigger
About Execution Users for webMethods Messaging Triggers
Assigning an Execution User to a webMethods Messaging Trigger
About Capacity and Refill Level for the webMethods Messaging Trigger Queue
Guidelines for Setting Capacity and Refill Levels for webMethods Messaging Triggers
Setting Capacity and Refill Level for a webMethods Messaging Trigger
About Document Acknowledgements for a webMethods Messaging Trigger
Setting the Size of the Acknowledgement Queue
About Message Processing
Serial Processing
Serial Processing in a Cluster or Non-Clustered Group of Integration Servers
Serial Processing with the webMethods Broker in a Clustered or a Non-Clustered Group of Integration Servers
Serial Processing with Universal Messaging in a Clustered or a Non-Clustered Group of Integration Servers
Serial Triggers Migrated to Integration Server 10.3 or Later from Earlier Versions
Concurrent Processing
Selecting Message Processing
Changing Message Processing When webMethods Broker Is the Messaging Provider
Changing Message Processing When Universal Messaging Is the Messaging Provider
Synchronizing the webMethods Messaging Trigger and Durable Subscription on Universal Messaging
Fatal Error Handling for a webMethods Messaging Trigger
Configuring Fatal Error Handling for a webMethods Messaging Trigger
About Transient Error Handling for a webMethods Messaging Trigger
Service Requirements for Retrying a Trigger Service for a webMethods Messaging Trigger
Handling Retry Failure
Overview of Throw Exception for Retry Failure
Overview of Suspend and Retry Later for Retry Failure
Configuring Transient Error Handling for a webMethods Messaging Trigger
About Retrying Trigger Services and Shutdown Requests
Exactly-Once Processing for webMethods Messaging Triggers
Duplicate Detection Methods for a webMethods Messaging Trigger
Configuring Exactly-Once Processing for a webMethods Messaging Trigger
Disabling Exactly-Once Processing for a webMethods Messaging Trigger
Modifying a webMethods Messaging Trigger
Modifying a webMethods Messaging Trigger in a Cluster or Non-Clustered Group
Deleting webMethods Messaging Triggers
Deleting webMethods Messaging Triggers in a Cluster or Non-Clustered Group
Running a webMethods Messaging Trigger with a Launch Configuration
Creating a Launch Configuration for a webMethods Messaging Trigger
Running a webMethods Messaging Trigger
Testing Join Conditions
Debugging a webMethods Messaging Trigger
Enabling Trace Logging for All webMethods Messaging Triggers
Enabling Trace Logging for a Specific webMethods Messaging Trigger
Exactly-Once Processing for Documents Received by webMethods Messaging Triggers
Introduction
What Is Document Processing?
Overview of Exactly-Once Processing
Redelivery Count
Document History Database
What Happens When the Document History Database Is Not Available?
Documents without UUIDs
Managing the Size of the Document History Database
Document Resolver Service
Document Resolver Service and Exceptions
Extenuating Circumstances for Exactly-Once Processing
Exactly-Once Processing and Performance
Configuring Exactly-Once Processing
Building a Document Resolver Service
Viewing Exactly-Once Processing Statistics
Clearing Exactly-Once Processing Statistics
Transient Error Handling During Trigger Preprocessing
Server and Trigger Properties that Affect Transient Error Handling During Trigger Preprocessing
Overview of Transient Error Handling During Trigger Preprocessing
How Triggers Correspond to Durable Subscribers on Universal Messaging
Understanding Join Conditions
Introduction
Join Types
Subscribe Path for Documents that Satisfy a Join Condition
The Subscribe Path for Documents that Satisfy an All (AND) Join Condition
The Subscribe Path for Documents that Satisfy an Only one (XOR) Join Condition
Join Conditions in Clusters
Synchronizing Data Between Multiple Resources
Data Synchronization Overview
Data Synchronization with webMethods
Equivalent Data and Native IDs
Canonical Documents
Structure of Canonical Documents and Canonical IDs
Key Cross-Referencing and the Cross-Reference Table
How the Cross-Reference Table Is Used for Key Cross-Referencing
Echo Suppression for N-Way Synchronizations
How the isLatchClosed Field Is Used for Echo Suppression
Tasks to Perform to Set Up Data Synchronization
Defining How a Source Resource Sends Notification of a Data Change
When Using an Adapter with the Source
When Developing Your Own Interaction with the Source
Defining the Structure of the Canonical Document
Setting Up Key Cross-Referencing in the Source Integration Server
Built-In Services for Key Cross-Referencing
Setting up the Source Integration Server
Setting Up Key Cross-Referencing in the Target Integration Server
For N-Way Synchronizations Add Echo Suppression to Services
Built-in Services for Echo Suppression
Adding Echo Suppression to Notification Services
Incorporating Echo Suppression Logic into a Notification Service
Adding Echo Suppression to Update Trigger Services
Incorporating Echo Suppression Logic into an Update Service
Naming Guidelines
Naming Rules for Integration Server Elements
Naming Rules for webMethods Broker Document Fields
Building a Resource Monitoring Service
Overview
Service Requirements
REST Developer’s Guide
Introduction to Integration Server REST Processing
About Integration Server REST Processing
Overview
About REST Request Messages
Sending Responses to the REST Client
Status Line
Header Fields
Message Body
Setting Responses Using pub.flow:HTTPResponse
How webMethods Integration Server Processes REST Requests
Configuring a REST Resource Using the Legacy Approach
Processing Requests Using Partial Matching of URL Aliases
Configuring a REST V2 Resource
Considerations for Specifying the URL template in a REST V2 Resource Operation
Examples of Configuring REST Resources Using the URL Template-Based Approach
Configuring a REST V2 Resource Based on JSON API
Examples of Configuring REST Resources Based on JSON API
Setting Up a REST Application Using the Legacy REST Approach
Setting Up a REST Application on Integration Server
Setting Up a REST Application Using the Legacy REST Approach
Configuration
Converting an Existing Application to a REST Application
Setting Up a REST Application Using REST API Descriptor
Using REST API Descriptors for Your REST Application
Services for REST Resources Configured Using the URL Template-Based Approach
Configuration
Converting an Existing Application to a REST Application
Web Services Developer’s Guide
Introduction to Web Service Descriptors
Working with Web Services
What Are Web Service Descriptors?
About Provider Web Service Descriptors
Service Signature Requirements for Service First Provider Web Service Descriptors
Using XML Namespaces with Prefixes with Fields in Service Signatures
Handling Incomplete Service Signatures Using Wrapper Services
Creating a Service First Provider Web Service Descriptor
Protocol Mismatch Between Transport and Primary Port
Creating a WSDL First Provider Web Service Descriptor
About Consumer Web Service Descriptors
Creating a Consumer Web Service Descriptor
Supporting Elements for a Consumer Web Service Descriptor
About Web Service Connectors
Refreshing a Web Service Connector
Invoking a Web Service Using a Web Service Connector
About Response Services
About Refreshing a Web Service Descriptor
How Refresh Affects a Web Service Descriptor
Considerations for Refreshing a Web Service Descriptor
Refreshing a Web Service Descriptor
Viewing the WSDL Document for a Web Service Descriptor
WS-I Compliance for Web Service Descriptors
Modifying WS-I Compliance for a Web Service Descriptor
Reporting the WS-I Profile Conformance for a Web Service Descriptor
Changing the Target Namespace for a Web Service Descriptor
Viewing the Namespaces Used within a WSDL Document
Enabling MTOM/XOP Support for a Web Service Descriptor
Enabling SOAP Attachments for a Web Service Descriptor
Using pub.string:base64Encode with MTOM Implementations
Adding SOAP Headers to the Pipeline
Validating SOAP Response
Validating Schemas Associated with a Web Service Descriptor
Enabling Xerces Schema Validation for a Web Service Descriptor
Working with Binders
Binders and Mixed Use
Existing Web Service Descriptors with Mixed Use Binders
Binders and Mixed Style
Adding a Binder to Web Service Descriptor
Copying Binders Across Provider Web Service Descriptors
Changing the Binder Transport
Deleting a Binder from a Web Service Descriptor
Deleting an Operation from a Binder
Modifying the SOAP Action for an Operation in a Binder
Assigning a Web Service Endpoint Alias to a Binder
Configuring Use of the Client Side Queue
Working with Operations
Adding Operations
Adding an IS Service as an Operation
Adding an Operation from another Provider Web Service Descriptor
Using a 6.5 SOAP-MSG Style Service as an Operation
Modifying the Signature of a 6.5 SOAP-MSG Style Operation
Deleting Operations
Viewing the Operation Input and Output
Adding Headers to an Operation
Adding a Header to an Operation
About SOAP Fault Processing
About SOAP Fault Elements
Adding a Fault Element to an Operation
The $fault Variable
Modifying a Returned SOAP Fault
Viewing Document Types for a Header or Fault Element
Working with Handlers
Setting Up a Header Handler
Registering a Header Handler
Adding a Handler to a Web Service Descriptor
Deleting a Handler from a Web Service Descriptor
Working with Policies
Attaching a Policy to a Web Service Descriptor
Removing a Policy from a Web Service Descriptor
About Pre-8.2 Compatibility Mode
Setting Compatibility Mode
Features Impacted by Compatibility Mode
SOAP Message Exchange Patterns
Message Exchange Patterns that Integration Server Supports
How Integration Server Determines the MEP Type to Use
WSDL for Service First Providers
WSDL for WSDL First Providers and Consumers
How the MEP Type Affects the SOAP Response a Provider Returns
How <wsdl:output> and <wsdl:fault> Elements Affect a Consumer
How Adding Response Headers or Faults Affect In-Only MEP Operations
How the MEP Affects the Execution of Handlers
Considerations When Changing a Provider’s Compatibility Mode
Impacts of Changing a Provider’s Compatibility Mode to False
Impacts of Changing a Provider’s Compatibility Mode to True
Considerations When Changing a Consumer’s Compatibility Mode
Using SOAP over JMS with Web Services
Introduction
Pre-Requisites for Using SOAP/JMS
Using SOAP/JMS with Provider Web Service Descriptors
Run-Time Behavior for a Provider Web Service that Uses SOAP/JMS
Additional Guidelines for Using SOAP/JMS with Provider Web Service Descriptors
Using SOAP/JMS with Consumer Web Service Descriptors
Run-Time Behavior for a Web Service Connector that Uses a SOAP/JMS Binding
Additional Guidelines for Using SOAP/JMS with Consumer Web Service Descriptors
Using SOAP/JMS with Web Services with Transactions
Guidelines for Using Transactions with SOAP/JMS and Provider Web Service Descriptors
Guidelines for Using Transactions with SOAP/JMS and Consumer Web Service Descriptors
Asynchronously Invoking an In-Out Operation
Consumer Support for Robust In-Only Operations with SOAP/JMS Bindings
Working with Web Service Connectors
About Web Service Connectors
Signature for a Web Service Connector
How a Web Service Connector Represents the Input and Output Messages
About Transport and Fault Information Returned by a Web Service Connector
How a SOAP Fault is Mapped to the Generic Fault Output Structure
Setting Transport Headers for HTTP/S
Setting Transport Headers for JMS
Passing Message-Level Security Information to a Web Service Connector
Working with Response Services
About Response Services
Signature for a Response Service
Signature for a genericFault_Response Service
About Handlers and Handler Services
What Are Handlers and Handler Services?
Setting Up a Handler
Registering a Handler
About Request Handler Services
Request Handler Services and Status Codes
About Response Handler Services
Response Handler Services and Status Codes
About Fault Handler Services
Fault Handler Services and Status Codes
About Outbound Callback Services
What Are Outbound Callback Services?
Usage of Outbound Callback Services
Invoking Outbound Callback Services
MTOM Streaming
Configuring MTOM Streaming for a Web Service Descriptor
Integration Server Parameters for MTOM Streaming
Using MTOM Streaming for Service First Provider Web Service Descriptors
Using MTOM Streaming for WSDL First Provider Web Service Descriptors
Using MTOM Streaming for Consumer Web Service Descriptors
How MTOM Streaming Affects Saved Pipelines
Including SOAP Headers in the Pipeline
Anatomy of a SOAP Header in the Pipeline
Example of a SOAP Header in the Pipeline
Web Service Authentication and Authorization
Introduction
Authentication and Authorization for Consumer Web Service Descriptors
ACL Checking Scenarios for Consumer Web Service Descriptors
Authentication and Authorization for Provider Web Service Descriptors
ACL Checking Scenarios for Provider Web Service Descriptors
Authentication and Authorization for Consumer Web Service Descriptors While Processing Asynchronous Responses
ACL Checking Scenarios for Consumer Web Service Descriptors While Processing Asynchronous Responses
Authentication and Authorization for Provider Web Service Descriptors on an Earlier Web Services Implementation
ACL Checking Scenarios for Provider Web Service Descriptors on an Earlier Web Services Implementation
Transient Error Handling for Provider Web Service Descriptors
Introduction
Transient Error Handling for an Operation Invoked via SOAP over HTTP
Transient Error Handling for an Operation Invoked by a Non-Transacted SOAP-JMS Trigger
Transient Error Handling for an Operation Invoked by a Transacted SOAP-JMS Trigger
How Integration Server Builds Consumer and Provider Endpoint URLs
How Integration Server Builds the Consumer Endpoint URL
How the Consumer Web Service Endpoint Alias Affects the Endpoint URL
How Integration Server Builds the Provider Endpoint URL
How Integration Server Determines which Operation to Invoke
Determining the Operation for an HTTP/S Request
Determining the Operation for a SOAP/JMS Request
Fallback Mechanisms for Determining the Operation
Port Name Is Not Specified
Duplicate SOAP Action
SOAP Action Value Is Empty, Absent or Cannot Be Resolved
Array Handling for Document/Literal and RPC/Literal
How Integration Server Represents Arrays for Document/Literal and RPC/Literal
Backward Compatibility for Web Service Descriptors Created in Integration Server 7.x
XML Namespace Decoding for Array Elements
Defining Policies for Web Services (WS-Policy)
About WS-Policy
WS-Policy Files
Moving or Copying Web Service Descriptors with Attached Policies
Guidelines for Creating WS-Policy Files
Policy ID
About Updating WS-Policies
About Deleting WS-Policies
Securing Web Services (WS-Security)
WS-Security in Integration Server
Transport-Based vs. Message-Based Security
WS-Security and the SOAP Message Header
WS-Security and the Message Direction
About Securing Web Service Providers and Consumers
How You Can Secure SOAP Messages with WS-Security
WS-Security Certificate and Key Requirements
Overview
Certificate and Key Requirements for WS-Security
Requirements When Using Asymmetric Binding
Requirements When Using Symmetric Binding
About Certificate and Key Resolution Order
WS-Security Key Resolution Order: Web Services Consumer
Web Service Consumer: Response (Inbound Security) Detailed Usage and Resolution Order
Web Service Consumer: Request (Outbound Security) Detailed Usage and Resolution Order
WS-Security Key Resolution Order: Web Services Provider
Web Service Provider: Response (Outbound Security) Detailed Usage and Resolution Order
Web Service Provider: Request (Inbound Security) Detailed Usage and Resolution Order
Certificate Mapping User and Usage Resolution Order for WS-Security
Securing Web Services Using WS-SecurityPolicy
About Implementing WS-SecurityPolicy
Security Options You Can Achieve with WS-SecurityPolicy
Securing Web Services Using Policies Based on WS-SecurityPolicy
Requirements for Using SAML for Authentication
Identifying Trusted STSs to Integration Server
Using Kerberos for Authentication
WS-SecurityPolicy Files
WS-SecurityPolicy Assertions Reference
Protection Assertions
Integrity Assertions
Confidentiality Assertions
Required Elements Assertions
Required Parts Assertion
Token Assertions
Valid Values for <sp:IncludeToken> Attribute
Security Binding Assertions
Supporting Tokens
WSS: SOAP Message Security Options
Policies Based on WS-SecurityPolicy that Integration Server Provides
Username_Over_Transport
Username_Signature
Username_Encryption
Username_Signature_Encryption
X509Authentication
X509Authentication_Signature
X509Authentication_Encryption
X509Authentication_Signature_Encryption
SAMLAuthentication
SAMLAuthentication_Signature
SAMLAuthentication_Encryption.policy
SAMLAuthentication_Signature_Encryption.policy
KerberosAuthentication Policy
Securing Web Services Using the WS-Security Facility
About the Integration Server WS-Security Facility
Usage of WS-Security Standard for WS-Security Facility
Supported Types of Message Authentication
Message Security Options Supported by WS-Security Facility
Token References
Policy Files Used by the WS-Security Facility
Configuring the WS-Security Facility
Before Configuring the WS-Security Facility
Assigning a WS-Security Handler to a Web Service Descriptor
WS-Security Facility Policy Reference
Policy Element
SecurityPolicy Element
InboundSecurity and OutboundSecurity Elements
Setting a Policy Element’s Usage Attribute
Timestamp Element for Outbound Messages
Timestamp Element for Inbound Messages
UsernameToken Element
Signature Element for Outbound Messages
Signature Element for Inbound Messages
Encryption Element for Outbound Messages
Encryption Element for Inbound Messages
X509 Authentication Element for Outbound Messages
X509 Authentication Element for Inbound Messages
Sample Policy File
Policy Files Supplied with the WS-Security Facility
Consumer Policy Files
Provider Policy Files
Consumer and Provider Policy Files
Web Services Addressing (WS-Addressing)
About WS-Addressing in Integration Server
How WS-Addressing Works
About Endpoint Aliases for WS-Addressing
WS-Addressing Versions
Using WS-Addressing in Integration Server
Applying WS-Addressing to Web Service Descriptors
WS-Addressing Behavior of Web Service Descriptors
Behavior for Inbound Messages
Behavior for Outbound Messages
WS-Addressing Policies Provided by Integration Server
Accessing WS-Addressing Headers of a SOAP Message
Processing Responses Asynchronously
WS-Addressing and WSDL
Generation of the WS-Addressing Headers: Resolution Order and Usage
Web Service Consumer: Request (Outbound Message) Resolution Order
Web Service Provider: Response (Outbound Message) Resolution Order
Web Service Consumer: Request - Addressing Action Property Usage
Service First and WSDL First Provider Web Service Descriptor: Response (Outbound Message) - wsa:Action Detailed Usage
Web Services Reliable Messaging (WS-ReliableMessaging)
About Web Services Reliable Messaging in Integration Server
Using Reliable Messaging in Integration Server
Persistent Storage Support for Reliable Messaging Data
Limitations When Using Reliable Messaging in Integration Server
Provided WS-SecurityPolicies vs. WS-Security Facility Policies
Overview
Policies that Provide Username Authentication
Policies that Provide Authentication Using X.509 Certificates
Policies that Provide SAML Authentication
Policies that Provide Signature and Encryption Without Authentication
CDATA Blocks in Inbound and Outbound SOAP Messages
Support for Preserving CDATA Tag Delimiters in Inbound SOAP Messages
Support for Processing CDATA Blocks in Outbound SOAP Messages
Encoding CDATA Blocks in Outbound SOAP Messages
Omitting Well-Known Schema Locations from Generated WSDL
Preserving Namespace Declarations when Decoding xsd:any Elements
WmDB User’s Guide
Introduction to Accessing a Database Using WmDB Package
Database Drivers
Configuring Access to Database Systems
Overview
Supported Databases
Database Connection Information
About the Server Configuration File
Preloading JDBC Drivers at Server Initialization
Making the Java Classes for JDBC Drivers Accessible
Identifying Database Aliases
Enabling Database Connection Pooling
Updating Information for Database Aliases
Deleting Database Aliases
Accessing Databases with Services
Overview
Deciding Which Type of Service to Create
Creating Database Flow Services
Generating a Database Flow Service from an SQL Statement
Specifying a Dynamic SQL Statement
Using Question Marks (?) in SQL Statements
Using Template Tags in SQL Statements
Steps for Generating a Flow Service from an SQL Statement
Generating a Database Flow Service from a Table
Restricting the List of Database Tables
Steps for Generating the Flow Service from a Table
Output from the Flow Service
Creating Database Services with Java or C/C++
Built-in Database Services
Testing SQL Statements
Error Handling
Creating Clients that Access Databases
Invoking a Database Service from a Browser-based Client
Invoking a Built-in Service from a Java, C/C++, or VB Client
Determining Whether to Use the WmDB Package or the Adapter for JDBC
Overview
When to Use the WmDB Package
When to Use the webMethods Adapter for JDBC
Copyright
Welcome to Microservices Runtime and Integration Server 10.5
Copyright