Integrating On-Premises Applications
Document Conventions
Online Information
Service Development
About this Guide
Document Conventions
Online Information
Online Information
About webMethods Service Development
Before You Use Designer for Service Development
Opening the Service Development Perspective
Working with webMethods Integration Server
Working with Server Definitions
Creating Server Definitions
Fetching Server Definitions from an Integration Server
Importing Server Definitions
Exporting Server Definitions
Removing Server Definitions
Editing Server Definitions
Considerations for Process Development
Setting a Default Server Definition
Placing a Server Definition Offline
Bringing a Server Definition Online
Connecting to an Integration Server
Connecting to an Integration Server through Preferences
Disconnecting from an Integration Server
Disconnecting from an Integration Server via Preferences
Refreshing an Integration Server
Notification of Server Shutdown
Opening Integration Server Administrator
Viewing Integration Server Properties
Changing Passwords
Password Requirements
Changing Your Password
Synchronizing Passwords
Working with Elements
About Element Names
Package Names and Element Names
Creating New Elements
Guidelines for Naming Elements
Guidelines for Working with Elements
Opening Elements
Closing Elements
Editing and Saving Elements
Adding Comments for an Element
Configuring Dependency Checking for Elements
Controlling the Reuse of Elements Published to CentraSite
Allowing Editing of Derived Elements
Moving and Copying Elements
Guidelines for Moving and Copying All Types of Elements
Guidelines for Moving and Copying Services
Guidelines for Copying Elements Between Servers
Notes for Moving and Copying Adapter Notifications and Related Elements
Renaming Elements
Guidelines for Refactoring Elements
Refactoring Elements
Deleting Elements
Finding Dependents and References
What Is a Dependent?
Finding Dependents
What Is a Reference?
Finding References
Inspecting Pipeline References
Inspecting Pipeline References
Finding Elements
Guidelines for Searching Elements
Searching for Elements in Package Navigator
Performing a Quick Search of Elements in Package Navigator
Locating Invoked Services
Locating Referenced Document Types
Linking Open Editors
Filtering Displayed Elements
Hiding or Displaying Automatically Generated Flow Services
Creating Working Sets
Caching Elements
Clearing the Designer Cache
Exporting Elements
Viewing Server Files for an Element
Using Property Templates with Elements
Creating Property Templates
Applying Property Templates to Elements
Editing Property Templates
Deleting Property Templates
Importing Property Templates
Exporting Property Templates
Assigning and Managing Permissions for Elements
What Is an ACL?
What Happens When a Client Runs a Service with ACLs?
Is ACL Usage Required?
Creating ACLs
ACLs and Inheritance
Default ACLs and Inheritance
Assigning ACLs
Viewing ACL Information for a Server
ACLs and Locking
ACLs and Running/Debugging Services
ACLs and Creating, Viewing, and Deleting Elements
Troubleshooting ACL Usage
Locking and Unlocking Elements
What Is a Lock?
About Locking Elements
Locking Elements in Designer
Guidelines for Locking Java and C/C++ Services
Guidelines for Locking Templates
System Locking Elements
Viewing the Status of Locked Elements
Viewing Lock Status of Elements
Listing All of Your Locked Elements
Copying, Moving, or Deleting Locked Elements
Unlocking Elements
Unlocking Elements in Designer
Automatically Unlocking an Element Upon Saving
Troubleshooting
Lock and Unlock Problems
Package Management Problems
Save Problems
Other Problems
Frequently Asked Questions
Using the Local Service Development Feature
About the Local Service Development Workflow
How Does Local Service Development Differ from the VCS Integration Feature?
Supported Platforms and Eclipse Plug-ins
Supported Elements
Supported and Unsupported Actions
Prerequisites
Permissions and Locking
Permissions
System Locking and Local Service Development
Setting the Local Development Server
Creating a Local Service Development Project
Adding Folders and Elements to the VCS
Modifying Packages, Folders, or Elements in the VCS
Checking Out an Element from the VCS
Checking In Packages and Element to the VCS
Getting the Latest Version from the VCS
Getting a Specific Version from the VCS
Copying Packages from the VCS to Integration Server
Reloading a Package
Comparing Revisions of an Element
Building Java and C Services
Deleting a Package Associated with a Local Service Development Project
Deleting a Local Service Development Project
Using the VCS Integration Feature to Check Elements In and Out of a VCS
VCS Integration Supported Features
VCS Integration Unsupported Features
Locking Locally vs VCS Locking
System Locking and VCS Integration Feature
About Unlocking Elements with Integration Server Administrator
Adding New Packages and Elements to a VCS
Adding Existing Packages and Elements to a VCS
Modifying Elements that are in the VCS
Checking Out Packages and Elements
Checking In Packages and Elements
Reverting Changes to a Checked Out Package or Element
Getting the Latest Version from the VCS
Getting an Earlier Version from the VCS
Deleting Packages and Elements from the VCS
Restoring Deleted Items
Restoring a Deleted Package
Restoring a Deleted Folder or Element
Copying and Moving Folders or Elements
Renaming Packages, Folders, and Elements
Viewing the History of a Folder or Element
Version History Details
Working with Blaze Rules Services
Working with Web Service Descriptors
Working with webMethods Adapter Connections
Working with Java Services
Copying Java Services
Moving Java Services
Labeling Java Services in the VCS
Managing Packages
Creating a Package
Guidelines for Naming Packages
Documenting a Package
Accessing Package Documentation
Viewing Package Settings, Version Number, and Patch History
Assigning a Version Number to a Package
About Copying Packages Between Servers
Copying Packages
Reloading a Package
Comparing Packages
Deleting a Package
Exporting a Package
About Package Dependencies
Identifying Package Dependencies
Removing Package Dependencies
Assigning Startup, Shutdown, and Replication Services to a Package
What Is a Startup Service?
Assigning a Startup Service
Removing a Startup Service
What Is a Shut Down Service?
Assigning a Shutdown Service
Removing a Shutdown Service
What Is a Replication Service?
Assigning a Replication Service
Removing a Replication Service
Building Services
A Process Overview
Package and Folder Requirements
About the Service Signature
Guidelines for Specifying Input Parameters
Guidelines for Specifying Output Parameters
Declaring Input and Output Parameters
Using a Specification as a Service Signature
Using an IS Document Type to Specify Service Input or Output Parameters
Inserting Input and Output Parameters
About Service Run-Time Parameters
Maintaining the State of Service
Specifying the Run-Time State for a Service
About Service Caching
When Are Cached Results Returned?
Types of Services to Cache
Controlling a Service’s Use of Cache
Specifying the Duration of Cached Results
Refreshing Service Cache by Using the Prefetch Option
Configuring Caching of Service Results
Specifying the Execution Locale
About URL Aliases for Services
Creating a Path Alias for a Service
Automatically Saving or Restoring the Pipeline at Run Time
Configuring Saving or Restoring of the Service Pipeline at Run Time
Specifying the Default Format for an XML Document Received by the Service
Configuring HTTP Methods Allowed for a Service
About Automatic Service Retry
About the Maximum Retry Period
Configuring Service Retry
About Service Auditing
Service Auditing Use Cases
Error Auditing
Service Auditing
Auditing for Recovery
Auditing Long-Running Services
Configuring Service Auditing
Logging Input and Output Fields
Selecting Input or Output Fields for Logging
Logged Field Data Types in JDBC
Assigning a Custom Value to an Auditing Context
Using a Circuit Breaker with a Service
Considerations for Configuring a Circuit Breaker for a Service
Configuring a Circuit Breaker for a Service
About Universal Names for Services or Document Types
Implicit and Explicit Universal Names
Assigning, Editing, or Viewing an Explicit Universal Name
Deleting an Explicit Universal Name
The Universal Name Registry
Services You Use to Interact with the Universal Name Registry
About Service Output Templates
Creating an Output Template
Assigning an Output Template to a Service
Printing a Flow Service
Comparing Flow Services
Building Flow Services
What Is a Flow Service?
What Is a Flow Step?
What Is the Pipeline?
Building Services Using the Tree Tab or Layout Tab
Creating a New Flow Service
Creating an Empty Flow Service
Creating a Flow Service from an XML Document, DTD, or XML Schema
Creating a Flow Service from an XML Document
Creating a Flow Service from a DTD
Creating a Flow Service from an XML Schema Definition
Inserting Flow Steps
Changing the Position of a Flow Step
Changing the Level of a Flow Step
Setting Properties for a Flow Step
The INVOKE Step
Specifying the Service Property
Invoking a Built-In Service
Invoking a Service on Another Integration Server
Building an Invoke Step
The BRANCH Step
Branching on a Switch Value
Specifying the Switch Value
Specifying the Label Value
Branching on an Expression
Branching on Null and Empty Values
Specifying a Default Step
Using a SEQUENCE as the Target of a BRANCH
Building a BRANCH Step
The REPEAT Step
Specifying the REPEAT Condition
Setting the REPEAT Counter
When Does REPEAT Fail?
Using REPEAT to Retry a Failed Step
Using REPEAT to Retry a Successful Step
The SEQUENCE Step
Using SEQUENCE to Specify an Exit Condition
The LOOP Step
Specifying the Input Array
Collecting Output from a LOOP Step
About the Pipeline for a LOOP Step
Building a LOOP Step
The EXIT Step
Building an EXIT Step
The MAP Step
Working in the Layout Tab
What Is the Layout Tab
When Should You Use Layout Tab?
What Does a Flow Service Look Like in the Layout Tab?
Viewing Flow Steps in the Layout Tab
Viewing Steps that Contain Child Steps in the Layout Tab
Show or Hide the Grid Lines in the Flow Service Editor
Building a Flow Service in the Layout Tab
Inserting a Flow Step
Inserting a Flow Step Using the Palette View
Inserting a Flow Step Using the Context Menu
Notes for Inserting a Child Step into a BRANCH Step
Changing the Order of Steps in a Flow Service
Mapping Data in Flow Services
What Does the Pipeline View Contain?
Pipeline View for an INVOKE Step
Pipeline View for a MAP Step
Scrolling in Pipeline View
Viewing Full Namespace Path of Referenced Document Types
Printing the Pipeline
Basic Mapping Tasks
About Linking Variables
Creating a Link Between Variables
What Happens When Integration Server Executes a Link?
Example of Copying By Reference
Preventing Pipeline Values from Being Overwritten
Linking to Document and Document List Variables
Linking Variables of Different Data Types
Converting a String List to a Document List in the Pipeline
Converting Two String Lists to a Document List in the Pipeline
Linking to and from Array Variables in the Pipeline
Creating a Link to or from an Array Variable
Default Pipeline Rules for Linking to and from Array Variables
Deleting a Link Between Variables
Linking Variables Conditionally
Linking Multiple Source Variables to a Target Variable
Applying a Condition to a Link
About Assigning Values to Pipeline Variables
Assigning a Value to a Pipeline Variable
Assigning Global Variables to Pipeline Variables
Copying Assigned Values Between Pipeline Variables
Dropping Variables from the Pipeline
Adding Variables to the Pipeline
Working with Transformers
Using Built-In Services as Transformers
Inserting a Transformer
Linking Variables to a Transformer
Transformers and Array Variables
Example of Dimensionality Mismatch
Validating Input and Output for Transformers
Copying Transformers
Renaming Transformers
Debugging Transformers
Testing Flow Steps Before Running a Flow Service
Opening the Data Mapper View
Testing a Flow Step in the Data Mapper View
Mapping Using ForEach
Creating a ForEach Mapping
Specifying ForEach Mapping Properties
ForEach Mapping Rules
Performing Data Validation
Blueprints or Models Against which Data is Validated
Performing Input/Output Validation
Specifying Input/Output Validation via the Input/Output Tab
Specifying Input/Output Validation via the INVOKE Step
Performing Pipeline Validation
Performing Document Validation
Performing XML Validation in Integration Server
Performing Validation from within a Java Service
Validation Errors
Validation Exceptions
Preventing Running Out of Memory Error During Validation
Building Java Services
Overview of Building Java Services
Java Service Editor
Source Tab
Protected Sections of a Java Service
Editable Sections of a Java Service
Service Development Projects in the Local Workspace
About the Service Development Project Name
Format of a Service Development Project
How Java Services Are Organized on Integration Server
Creating a Java Service
Notes about Creating and Editing Java Services in Designer
Using an IData Object for the Java Service Input and Output
Generating Java Code from Service Input and Output Parameters
Example of Java Code Generated from Service Signature
Editing an Existing Java Service
Adding Classes to the Service Development Project
Compiling a Java Service
Performance When Compiling a Java Service
Generating Code a Java Service Can Use to Invoke a Specified Service
Generating Java Code to Invoke a Service
Example of Java Code Generated for Invoking a Service
Deleting a Java Service
Building Java Services in Your Own IDE
How Java Services are Organized on Integration Server
Requirements for the Java Service Source Code
IData Object for Java Service Input and Output
Adding Comments to Your Java Code for the jcode Utility
Example of Code Commented for the jcode Utility
Using the jcode Utility
Using jcode make/makeall to Compile Java Source
Using jcode frag/fragall to Split Java Source for Designer
Using jcode comp to Create Java Source from Fragments
Using jcode Shortcut Commands
Building Map Services
What Is a Map Service?
Building Map Services Using the Tree Tab or Graphical View Tab
Creating a Map Service
Creating a Map Service
Setting Properties for a Map Service
Working in the Graphical View tab
Debugging Map Services
Building C/C++ Services
The Java Code for a C/C++ Service
Overview of Building C/C++ Services
Prerequisites for Building C/C++ Services
C/C++ Service Editor
Source Tab
Protected Sections of a C/C++ Service
Editable Sections of a C/C++ Service
Service Development Projects in the Local Workspace
About the Service Development Project Name
Format of a Service Development Project
How C/C++ Services Are Organized on Integration Server
Creating a C/C++ Service
Editing an Existing C/C++ Service
Generating C/C++ Code from Service Input and Output Parameters
Adding Classes to the Service Development Project
Building the C/C++ Source Code
Compiling the C/C++ Source Code
Performance When Compiling a C/C++ Service
Generating Code a C/C++ Service Can Use to Invoke a Specified Service
Debugging C/C++ Services
Building Services from .NET Methods
Environment Setup for Creating .NET Services
.NET Service Editor
.NET Properties Tab
Creating a .NET Service
Modifying the .NET Assembly Information
Modifying the Class Lifetime for a .NET Service
Running a .NET Service in Designer
Building XSLT Services
What Is XSLT?
What Is an XSLT Service?
How Does an XSLT Service Work?
What Is a Translet?
About the XSLT Service Editor
Overview of Building XSLT Services
Creating an XSLT Service
XSLT Service Signature
Running an XSLT Service
Debugging an XSLT Service
Creating a Launch Configuration for an XSLT Service
Debugging an XSLT Service
Guidelines for the XSLT Style Sheet
Using Name/Value Pairs with an XSLT Service
Passing Name/Value Pairs from the Pipeline to the Style Sheet
Specifying New Values for Name/Value Pair
Defining Name/Value Pair as an XSLT Parameter
Passing Name/Value Pairs from the Style Sheet to the Pipeline
Sample Style Sheet: Adding Name/Value Pairs to the Pipeline
Configuring XSLT Transformer Factory Settings
Managing Cloud Connector Services
Creating a Cloud Connector Service
Editing a Cloud Connector Service for a SOAP-Based Provider
Editing a Cloud Connector Service for a REST-Based Provider
Viewing the Constraints Applied to Variables
Running Services
Using Launch Configurations to Run Services
Creating a Launch Configuration for Running a Service
Supplying Input Values to a Service
Entering Input for a Service
Specifying a Value for a String Variable
Specifying Values for a String List Variable
Specifying Values for a String Table Variable
Specifying Values for a Document Variable that Has Defined Content
Specifying Values for a Document Variable with No Defined Content
Specifying Values for a Document List Variable
Specifying a Value for an Object Variable
Specifying Values for an Object List Variable
Saving Input Values
Loading Input Values
Running a Service
Viewing Results from Running a Service
Messages Tab
Call Stack Tab
Pipeline Tab
Saving the Results
Restoring the Results
Running Services from Results view
Removing the Results from Results View
Pinning a Result to Results View
Sorting Results by Element Names in Results View
Running Services from a Browser
Debugging Flow Services
About Debugging Flow Services
About Debug Sessions
About the Debug Perspective
About Debug View
Creating Launch Configurations for Debugging Flow Services
Debugging a Flow Service
Stepping Through Flow Services
Stepping Through a Flow Service
Stepping Into and Out of a Child Service
Stepping Into and Out of a MAP Step
Stepping Into and Out of a ForEach Mapping
Using Breakpoints When Debugging Flow Services
Breakpoint States
Setting and Removing Breakpoints on Flow Step
Setting and Removing Breakpoints on a Transformer
Enabling and Disabling Breakpoints in a Flow Service
Skipping Breakpoints in a Flow Service
Disabling and Enabling Flow Steps and Transformers
Disabling and Enabling Conditions
Modifying the Flow Service Pipeline while Debugging
Changing Variable Values
Dropping Variables
Saving and Restoring the Flow Service Pipeline while Debugging
Saving the Flow Service Pipeline while Debugging
Saving the Pipeline to a File while Debugging
Restoring the Flow Service Pipeline while Debugging
Loading a Saved Pipeline while Debugging
Viewing Service Results from a Flow Service Debug Session
Using the Server Log for Debugging
Writing Information to the Server Log
Writing an Arbitrary Message to the Log
Dumping the Pipeline to the Log
Debugging Map Services
Debugging Java Services
About Debugging a Java Service while its Class Runs in Designer
About Test Harnesses
Creating a Test Harness
About Java Application Launch Configuration
Creating a Java Application Launch Configuration
Updating a Java Application Launch Configuration
How to Suspend Execution of a Java Class while Debugging
Debugging a Java Service while its Class Runs in Designer
Viewing Service Results from Debugging a Java Service
About Debugging a Java Service while it Runs in Integration Server
Benefits of Debugging Java Services Running in Integration Server
Drawbacks of Debugging Java Services Running in Integration Server
Setting Up Integration Server Version 9.7 or Later for Remotely Debugging a Java Service
Setting Up Integration Server Version 9.0, 9.5.x, or 9.6 for Remotely Debugging a Java Service
Creating a Java Project for an IS Package in Designer
Creating a Remote Java Application Launch Configuration
Debugging a Java Service while it Runs in Integration Server
Working with REST
Approaches for Developing REST Resources
Generating a REST Resource Using the Legacy Approach
Creating a REST Resource Using the Legacy Approach
About the Folder for REST Resources Created Using the Legacy Approach
Configuring a REST Resource Using the URL Template-Based Approach
Creating a REST V2 Resource
Defining a REST V2 Resource Operation
Example of Defining a REST V2 Resource Operation
Deleting a REST V2 Resource Operation
Working with REST API Descriptors
Overview of Creating a REST API Descriptor
Creating a REST API Descriptor
Editing General Information for a REST API Descriptor
Changing the Available MIME Types for a REST API Descriptor
Working with REST Resources in a REST API Descriptor
Adding REST Resources to a REST API Descriptor
Removing REST Resources from a REST API Descriptor
Setting the Path or Suffix for a REST Resource
Working with Operations
Changing the MIME Types for an Operation in a REST Resource
About the Operation Parameters
Reviewing and Changing the Assigned Source for an Operation Parameter
About Operation Responses
Adding an Operation Response
Removing an Operation Response
About REST Definitions
Viewing the Swagger Document for a REST API Descriptor
Mapping Integration Server Data Types to Swagger Data Types
Creating a REST API Descriptor from a Swagger Document
Refreshing a REST API Descriptor
Publishing REST API Descriptors to API Portal
Working with OData Services
Understanding OData Service Terminology
Supported and Unsupported OData Features
Overview of Creating an OData Service
Creating an OData Service
Creating an OData Service Using an External Source Type
Adding OData Elements to the OData Service
Adding Properties to the OData Elements
Adding Associations to OData Elements
Editing the OData Service
Synchronizing the External Entity Type
How Integration Server Processes an OData Service Request
Querying Data Using $filter
Working with Document Types
Creating an IS Document Type
Creating an Empty IS Document Type
Adding Fields to an IS Document Type
Creating an IS Document Type from an XML Document, DTD, or XML Schema
Creating an IS Document Type from an XML Document
Creating an IS Document Type from a DTD
Creating an IS Document Type from an XML Schema Definition
Creating IS Document Types from JSON Objects
Mapping JSON Data Types
Generating Fields from Unquoted Fields in a JSON Object
Creating an IS Document Type from a JSON Object
Creating an IS Document Type from a Broker Document Type
Creating an IS Document Type from an E-form Template
Notes About IS Document Types Created from E-form Templates
Creating a Document Type from a File in webMethods Content Service Platform
Creating a Document Type from a Flat File Schema
Determining How to Represent Complex Types in Document Types
Derived Types and IS Document Types
*doctype Fields in IS Document Types and Document Fields
*doctype Fields in IS Document Types
*doctype Fields in Document Fields
Registering Document Types with Their Schema Types
Generating Fields for Substitution Groups
*Any Fields in Document Types and Document Fields
About Run-time Processing for an IS Document Type that Complies with the Content Model
Editing Document Types
Important Considerations When Modifying Publishable Document Types
About Universal Names and Document Types
Printing an IS Document Type
Working with Publishable Document Types
Making a Document Type Publishable
About the Associated Provider Definition
About the Envelope Field
About the Properties Field
About Adapter Notifications and Publishable Document Types
Making a Document Type Unpublishable
About the Encoding Type for a Publishable Document Type
Using Protocol Buffers as the Encoding Type
Encoding Documents as Protocol Buffers during Document Publishing
Decoding Protocol Buffers
Setting the Encoding Type for a Publishable Document Type
About the Type of Document Storage
Document Storage Versus Broker Client Queue Storage
Setting the Document Storage Type for a Publishable Document Type
About the Time-to-Live for a Publishable Document Type
Setting the Time to Live for a Publishable Document Type
About Run-Time Validation for a Published Document
Specifying Document Validation for Instances of a Publishable Document Type
Deleting Publishable Document Types
About Testing Publishable Document Types
Creating a Launch Configuration for a Publishable Document Type
Testing a Publishable Document Type
About Synchronizing Publishable Document Types
Synchronization Status
Synchronization Actions
Combining Synchronization Action with Synchronization Status
Synchronizing a Single Publishable Document Type
Synchronizing Multiple Document Types Simultaneously
Synchronizing Document Types in a Cluster
Synchronizing Document Types Across a Gateway
Importing and Overwriting References During Synchronization
What Happens When You Overwrite Elements on the Integration Server?
What Happens If You Do Not Overwrite Elements on the Integration Server?
Publishing Documents as JMS Messages
Creating a Launch Configuration to Publish a Document as a JMS Message
Publishing a Document as a JMS Message
Working with XML Document Types
What Is an XML Document Type?
What Is XMLData?
Why Use XML Document Types Instead of IS Document Types?
Differences Between XML Document Types and IS Document Types
Limitations of XML Document Type Usage
Creating an XML Document Type
Working with Specifications
Creating a Specification
Working with Variables
Creating a Document Reference or a Document Reference List Variable
Using XML Namespaces and Namespace Prefixes with Variables
Guidelines for Using XML Namespaces and Prefixes with Web Service Descriptors
Assigning XML Namespaces and Prefixes to Variables
Assigning Display Types to String Variables
About Variable Constraints
Considerations for Object Constraints
Applying Constraints to a Variable
Customizing a String Content Type
Viewing the Constraints Applied to Variables
Working with Schemas
What Does an IS Schema Look Like?
Schema Browser
Component Details
Creating an IS Schema
Creating an IS Schema from XML Schemas that Reference Other Schemas
About Editing Simple Type Definitions
Editing a Simple Type Definition
About Schema Domains
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
Enabling Trace Logging for All JMS Triggers
Enabling Trace Logging for a Specific 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
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 9.9 or Later from 9.8 or Earlier
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 Named Object 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
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
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
Omitting xsd:any from the WSDL Document
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
Working with UDDI Registry
Opening UDDI Registry View
Connecting to a UDDI Registry
Disconnecting from a UDDI Registry
Refreshing a UDDI Registry Session
Browsing for Web Services in a UDDI Registry
Applying a Filter to UDDI Registry
Clearing an Applied Filter
Creating a Web Service Descriptor from a UDDI Registry
Publishing a Service to UDDI Registry
Deleting a Service from UDDI Registry
Working with Flat Files
Concepts
What Is a Flat File Schema?
What Is a Flat File Dictionary?
When Should I Create a Flat File Dictionary?
Creating Flat File Schemas
Creating the Flat File Schema
Specifying a Record Parser
Specifying a Delimited Record Parser for the Schema
Specifying a Fixed Length Record Parser for the Schema
Specifying a Variable Length Record Parser for the Schema
Specifying a Record Identifier
Defining the Schema Structure
Setting a Default Record
Allowing Undefined Data
Creating an Area
Specifying a Floating Record
Editing a Flat File Schema
Testing Flat File Schemas
Creating a Launch Configuration for a Flat File Schema
Testing a Flat File Schema
Creating Flat File Dictionaries
Creating a Flat File Dictionary
Adding Elements to the Flat File Dictionary
Setting Properties for the Flat File Dictionary
Editing a Flat File Dictionary
Defining Flat File Elements
Adding a Record Definition
Adding a Record Reference
Adding a Composite Definition
Adding a Composite Reference
Adding a Field Definition
Adding a Field Reference
Working with Adapters
About Adapter Connections
About Adapter Services
About Adapter Listeners
About Adapter Notifications
Subscribing to Events
What Happens When an Event Occurs?
Subscribing to Events
Creating Event Filters
Creating Event Filters for Services
Viewing and Editing Event Subscriptions
Suspending Event Subscriptions
Deleting an Event Subscription
Building an Event Handler
Invoking Event Handlers Synchronously or Asynchronously
About Alarm Events
About Audit Events
About Audit Error Events
About Exception Events
About Guaranteed Delivery Events
Guaranteed Delivery Events and Transaction Events
About JMS Delivery Failure Events
About JMS Retrieval Failure Events
About Port Status Events
About Replication Events
About Security Events
About Session Events
About Stat Events
About Transaction Events
Submitting and Receiving XML Documents
Submitting and Receiving XML in a String Variable
Sample Client Code to Submit an XML Document in a String Variable
Considerations When Coding the Target Service to Receive the XML Document that is Passed in a String Variable
Submitting and Receiving XML in $xmldata
Sample Client Code to Submit an XML Document in $xmldata
Considerations When Coding the Target Service to Receive the XML Document that is Passed in $xmldata
Submitting and Receiving XML via HTTP
Creating a Client that Submits an XML Document via HTTP
Using pub.client:http to Submit an XML Document via HTTP
About the xmlFormat Value
Submitting and Receiving XML via $xmldata without Parsing
Using pub.client:http to Submit $xmldata via HTTP
Submitting and Receiving XML via FTP
Naming the File that the Client is to Submit via FTP
Actions a Client Takes to Submit an XML Document via FTP
Actions a Client Takes to Retrieve Output from the Target Service
Considerations When Coding the Target Service to Receive the XML Document
Submitting and Receiving XML via E-mail
Actions a Client Must Take to Submit an XML Document via Email
Using pub.client:smtp to Submit an XML Document via Email
Considerations When Coding the Target Service to Receive the XML Document
Working with Load and Query Services
What Are the Load and Query Services?
Basic Concepts
About the pub.xml:loadXMLNode Service
About the pub.xml:loadEnhancedXMLNode Service
About the pub.xml:queryXMLNode Service
Building Services that Retry
Requirements for Retrying a Service
Example Service that Throws an Exception for Retry
Creating Client Code
Building a Java Client
Limitations when Generating Java Client Code
Files that Designer Generates for a Java Client
Generating Java Client Code
Building a C/C++ Client
Prerequisites for Generating C/C++ Client Code
Limitations when Generating C/C++ Client Code
Files that Designer Generates for a C/C++ Client
Generating C/C++ Client Code
Building a Browser-Based Client
Prerequisites for Building Browser-Based Client Code
URL Client Uses to Invoke Services
How Input Values are Passed to the Service the Browser-Based Client Invokes
When Browser-Based Clients Pass Multiple Values for the Same Input Variable
When Browser-Based Clients Pass Multiple Input Variables with the Same Name
How Integration Server Returns Output from the Service the Client Invoked
Building a REST Client
Comparing Integration Server Packages and Elements
Working with the Compare Editor
Change List Panel
Content Panel
Merging IS Elements
Comparing Packages and Elements
Comparing Integration Server Elements
Comparing Integration Server Packages or Folders
Connecting to webMethods API Portal for Publishing REST API Descriptors
Configuring a Connection to API Portal
Adding a Connection Configuration for API Portal
Editing a Connection Configuration for API Portal
Removing a Connection Configuration for API Portal
Changing the Default Connection Configuration for API Portal
API Portal Preferences
Document Expansion Preferences
Integration Server Preferences
Service Development Preferences
Adapter Service/Notification Editor Preferences
Compare Editor Preferences
Element Property Templates Preferences
Flow Service Editor Preferences
HTML Generation Preferences
Java/C Service Editors Preferences
Launching Preferences
Local Service Development Preferences
Package Navigator Preferences
Publishable Document Type Preferences
Results View Preferences
Run/Debug Preferences
Schema Editor Preferences
Web Service Descriptor Editor Preferences
Properties
Integration Server Properties
Event Manager Properties
My Locked Elements
Server ACL Information
Server Information
Package Properties
Package Information
Package Dependencies
Package Settings
Package Permissions
Package Replication Services
Package Startup/Shutdown Services
Element Properties
Element Information
Element Permissions
Element General Properties
REST Resource Configuration
Document Type Properties
General Properties for IS Document Types
webMethods Messaging Properties
Universal Name Properties
Flat File Dictionary Properties
General Properties for a Flat File Dictionary
Flat File Element Properties
Record Definition Properties
Record Reference Properties
Composite Definition Properties
Composite Reference Properties
Field Definition Properties
Field Reference Properties
Flat File Schema Properties
General Properties for a Flat File Schema
Default Record Properties
Settings Properties
Schema Definition Properties
JMS Trigger Properties
General Properties for Non-Transacted JMS Triggers
General Properties for Transacted JMS Triggers
Message Processing Properties
Fatal Error Handling Properties
Transient Error Handling with a Non-Transacted JMS Trigger
Transient Error Handling with a Transacted JMS Trigger
Exactly Once Processing Properties
webMethods Broker Properties
Link Properties
General Properties for Links
OData Service Properties
General Properties for OData Services
OData Element Properties
Entity Type Properties
Complex Type Properties
External Entity Type Properties
Simple Property Properties
General Properties for Simple Property
Facets Properties for Simple Property
Complex Property Properties
Association Properties
General Properties for Association
OData Association End Properties
OData Association Navigation Properties
REST V2 Resource Properties
REST API Descriptor Properties
General Properties for REST API Descriptors
REST Resource Properties
Operation Properties
REST Definition Properties
REST Definition Parameter Properties
Schema Properties
General Properties for IS Schemas
Schema Component Properties
All Content Model
Any Attribute Declaration
Any Element Declaration
Attribute Declaration
Attribute Reference
Choice Content Model
Complex Type Definition
Element Declaration
Element Reference
Empty Content
Mixed Content Model
Sequence Content Model
Simple Type Definition
Service Properties
General Properties for Services
Run Time Properties for Services
Transient Error Handling Properties
Audit Properties
Circuit Breaker Properties
Universal Name Properties for Services
Output Template Properties for Services
Specification Properties
General Properties for Specifications
Transformer Properties
General Properties for Transformers
Variable Properties
General Properties for Variables
Constraints Properties for a Variable
Constraints Applied to Variables
Web Service Connector Properties
General Properties for Web Service Connectors
Run Time Properties
Audit Properties
Universal Name Properties
Output Template Properties
Web Service Descriptor Properties
General Properties for Web Service Descriptors
Web Service Descriptor Operation Properties
Operation Properties
Body Element Properties
Header Element Properties
Fault Element Properties
Web Service Descriptor Binder Properties
General Properties for Binders
JMS Settings Properties for a Binder
JMS Message Details Properties for a Binder
Web Service Descriptor Header Handler Properties
webMethods Messaging Trigger Properties
General Properties for webMethods Messaging Triggers
Trigger Queue Properties
Message Processing Properties
Fatal Error Handling Properties
Transient Error Handling Properties
Exactly Once Properties
webMethods Flow Steps
BRANCH
Branching on a Switch Value
Branching on Expressions
BRANCH Properties
Conditions that Will Cause a BRANCH Step to Fail
EXIT
EXIT Properties
Examples of When to Use an EXIT Step
INVOKE
INVOKE Properties
Conditions that Will Cause an INVOKE Step to Fail
LOOP
LOOP Properties
Conditions that Will Cause a LOOP Step to Fail
MAP
MAP Properties
Example of When to Use a MAP Step
REPEAT
REPEAT Properties
When Does REPEAT Fail?
Examples of When to Use a REPEAT Step
SEQUENCE
SEQUENCE Properties
Conditions that Will Cause the SEQUENCE Step to Fail
Data Types
Data Types in IData Objects
Java Classes for Objects
How Designer Supports Tables
Icons
Package Navigator View Icons
UDDI Registry View Icons
Flat File Element Icons
Flow Step Icons
OData Service Icons
REST API Descriptor Icons
Schema Component Icons
Toolbars
Compare Editor Toolbar
Document Type Editor Toolbar
Flat File Schema and Dictionary Editors Toolbars
Package Navigator View Toolbar
Pipeline View Toolbar
REST API Descriptor Toolbar
Service Editor Toolbar
Results View Toolbar
Specification Editor Toolbar
UDDI Registry View Toolbar
Variables View Toolbar
Web Service Descriptor Editor Toolbar
Keyboard Shortcuts
Conditional Expressions
Guidelines for Writing Expressions and Filters
Syntax
Comparing Java Objects to Constants
Verifying Variable Existence
Operators for Use in Conditional Expressions
Relational Operators
Standard Relational Operators
Lexical Relational Operators
Logical Operators
Operator Precedence in Conditional Expressions
Addressing Variables
Addressing Variables that Contain Special Characters
Typing Special Characters in Expressions
Rules for Use of Expression Syntax with the Broker
Regular Expressions
Using a Regular Expression in a Mask
Regular Expression Operators
Validation Content Constraints
Content Types
Constraining Facets
webMethods Query Language
Overview
Object References
Sibling Operators
Object Properties
Property Masking
Administering Integration Server
About this Guide
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
How the Server Loads Java Classes
Class Loaders
OSGi Bundle Class Loader
Integration Server Class Loaders
Classpaths
How the Integration Server Classpaths Are Specified
Changing Classpath Information at Startup
How Class Loading Works
Class Loading Process
Where to Place Classes and Jar Files for Packages
Where to Place Custom and Third-Party Jar Files
Accelerating Class Loading
Integration Server Security
Logging
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
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
Running Multiple Integration Server Instances
Overview
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 Operation
Logging Off the Integration Server Administrator
Getting Help
The 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
Removing 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 Users
Disabling a User
Enabling a User
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
Configuring Integration Server to Work with Servers Running HTTP 1.0 and Above
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
Creating a Connection Pool
Configuring Ports
About Ports
Available Port Types
Default Ports
About the Port Alias
Package Associations
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
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
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
Configuring Integration Server for webMethods Messaging
Overview
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
Configuring Integration Server for JMS Messaging
Overview
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
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
About Using Software AG Universal Messaging as the JMS Provider
Adding JMS Provider Client Libraries to Integration Server Classpath
Configuring Endpoint Aliases for Web Services
Overview
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
Editing Global Claim Settings
Configuring Integration Server to Use Kerberos
Overview
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 an HTTP Interceptor
Overview of HTTP Interceptors
Consideration for Creating an HTTP Interceptor
Creating an HTTP Interceptor
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
Securing Communications with the Server
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
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
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
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
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
Authorization Grant Types Supported by Integration Server
Authorization Code Grant
Implicit 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
Viewing and Deleting Tokens
Viewing Tokens
Deleting 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 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
Sample Package
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
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
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 9.9 or Later from 9.8 or Earlier
Synchronizing the webMethods Messaging Trigger and Named Object 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
JMS Triggers Fail to Start
About WS Endpoint Triggers
Editing WS Endpoint 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
How the Server Uses Content Handlers
How the Server Chooses a Content Handler for an HTTP Request
How the 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
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 Port
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
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
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
Using Command Central to Manage Integration Server
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
Monitoring JMS Triggers Using the Integration Server Instance
Searching for JMS Triggers Using Integration Server Instance
Enabling, Disabling and Suspending a JMS Trigger
Monitoring Global Controls for JMS Triggers
Integration Server Configuration Types
Configuration Types that IntegrationServer-instanceName Supports
Working with Integration Server Configuration Types
Lifecycle Actions for Integration Server
Migrating an Integration Server Instance
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.art.
watt.broker.
watt.brokerCoder.
watt.cachedirective.
watt.cds.
watt.config.
watt.core.
watt.debug.
watt.debug2.
watt.infradc.
watt.net.
watt.security.
watt.server.
watt.ssl.
watt.ssh.
watt.wm.tnextdc.
watt.tx.
watt.um
watt.xslt.
Environment Variables for Use with Docker
Environment Variables
FIPS 140-2 Compliance
FIPS 140-2 Compliance
Using NTLM Authentication and Integrated Windows Authentication with Integration Server
Overview
Using NTLM Authentication when Integration Server Acts as the Client
Working with Integrated Windows Authentication
Activating and Deactivating Integrated Windows Authentication
Activating Integrated Windows Authentication
Deactivating Integrated Windows Authentication
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
WML and HDML Samples
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
Masking Session IDs in Integration Server Session and Server Logs
Server Log Facilities
About Server Log Facilities
Integration Server
WmMobileSupport Package
WmXSLT Package
Flat File
Mediator
Integration Server Built-In Services
About this Guide
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.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: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
Date Folder
Pattern String Symbols
Time Zones
Examples
Notes on Invalid Dates
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
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
Flat File Folder
Summary of Elements in the Flat File Folder
pub.flatFile:convertToString
pub.flatFile:convertToValues
pub.flatFile:FormatService
pub.flatFile:getSupportedEncodings
pub.flatFile.generate:createDocumentType
pub.flatFile.generate:createFFDictionary
pub.flatFile.generate:deleteFFDictionary
pub.flatFile.generate:deleteFFDictionaryEntry
pub.flatFile.generate:deleteFFSchema
pub.flatFile.generate:FFDictionary
pub.flatFile.generate:FFSchema
pub.flatFile.generate:findDependants
pub.flatFile.generate:findReferences
pub.flatFile.generate:getFFDictionaryAsXML
pub.flatFile.generate:getFFDictionaryEntryAsXML
pub.flatFile.generate:getFFSchemaAsXML
pub.flatFile.generate:listFFDictionaryEntries
pub.flatFile.generate:saveXMLAsFFDictionary
pub.flatFile.generate:saveXMLAsFFSchema
pub.flatFile.generate:updateFFDictionaryEntryFromXML
Flow Folder
Summary of Elements in this Folder
pub.flow:clearPipeline
pub.flow:debugLog
pub.flow:getCallingService
pub.flow:getLastError
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
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
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
OAuth Folder
Summary of Elements in this Folder
pub.oauth:authorize
pub.oauth:getAccessToken
pub.oauth:introspectToken
pub.oauth:refreshAccessToken
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: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: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
VCS Folder
Summary of Elements in this Folder
pub.vcs.admin:getUsers
pub.vcs.admin:removeCurrentUser
pub.vcs.admin:removeMultipleUsers
pub.vcs.admin:setCurrentUser
pub.vcs.admin:setMultipleUsers
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:getInstanceTag
pub.xmldata:getNamespaceTags
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
Universal Messaging
Overview
Universal Messaging Enterprise Manager
Introduction
Getting Started
Tab-by-Tab Overview
Administration Using Enterprise Manager
Enterprise View
Realm Administration
Creating and Starting a Realm Server
Connecting to Multiple Realms
Disconnecting from Realms
Editing Connection Information
Realm Profiles
Realm Federation
Realm Configuration
Zone Administration
Cluster Administration
Creating a Cluster
Deleting Clusters
Modifying Clusters
Cluster Channel Administration
Cluster Queue Administration
Viewing Cluster Information
Manage Inter-Cluster Connections
Creating and Managing Clusters with Sites
Channel Administration
Channel Creation
Channel Editing
Copying Channels
Creating Channel Joins
Channel Snoop
Channel Publishing
Channel Named Objects
DataGroup Administration
Creating DataGroups
Adding Existing DataGroups to DataGroups
Removing DataGroups from DataGroups
Deleting DataGroups
Queue Administration
Creating Queues
Editing Queues
Copying Queues
Queue Snoop
Using ACLs for role-based Security
Security Groups
Realm Entitlements
Channel Entitlements
Queue Entitlements
Interface VIA Rules
Scheduling
Universal Messaging Scheduling : Writing Schedule Scripts
Universal Messaging Scheduling : Calendar Triggers Schedules
Universal Messaging Scheduling : Conditional Triggers
Universal Messaging Scheduling : Tasks
Universal Messaging Scheduling: Editor
Scheduler Examples
Universal Messaging Scheduling : Example Realm Script
Universal Messaging Scheduling : Store Triggers Example
Universal Messaging Scheduling : Interface Triggers Example
Universal Messaging Scheduling : Memory Triggers Example
Universal Messaging Scheduling : Realm Triggers Example
Universal Messaging Scheduling : Cluster Triggers Example
Universal Messaging Scheduling : Counter Trigger Example
Universal Messaging Scheduling : Time Triggers Example
Universal Messaging Scheduling : Configuration Example
Integration with JNDI
TCP Interfaces, IP Multicast and Shared Memory
Overview of Working with Interfaces
Creating Interfaces
Starting Interfaces
Modifying Interfaces
Stopping Interfaces
Deleting Interfaces
SSL Interfaces
Interface Configuration
JavaScript Interface Panel
Interface plugins
Multicast Configuration
Shared Memory Configuration
Creating an SSL network interface to a Universal Messaging Realm Server
How to generate certificates for use
Plugins
File Plugin
XML Plugin
Proxy Passthrough Plugin
REST Plugin
SOAP Plugin
Servlet Plugin
XML Configuration: Overview
XML Configuration: Exporting To XML
XML Configuration: Importing From XML
XML Configuration: Sample XML File for EXPORT
Management and Monitoring Sections
Enterprise view
Management Information
Enterprise Summary
Clusters Summary
Clusters Status
Realms Summary
Realm Status
Realm Monitoring
Universal Messaging Enterprise Manager : Logs Panel
Realm Connections
Threads Status
Top
Audit Panel
Container Status
Container Monitor Panel
Channel Status
Data Group Status
Channel Connections
Queue Status
Interface Status
Scheduler view
Channel view
Queue view
Using the Enterprise Viewer
Using Command Central to Manage Universal Messaging
Managing Universal Messaging using Command Central
Securing Access to Command Central
Changing the Authentication Mode
Verifying the Outbound Authentication Settings
Using Unix Shell Scripts to Change Connection Credentials for Managed Products
Instance Management
Creating an Instance
Deleting an Instance
Authentication Configuration
Universal Messaging Configuration Types
Working with Universal Messaging Configuration Types
User Management
License Management
Ports Configuration
Configure NSP
Configure NHP
Configure NHPS
Configure NSPS
Memory Configuration
Realm Access Control Lists (ACLs)
Group Management
General Properties
JNDI Management
JNDI Connection Factories
JNDI Destinations
Channels Configuration
Queues Configuration
Zones
Java System Properties
Cluster Management
Before You Create a Universal Messaging Cluster
Cluster Configuration Fields
Cluster Configuration Tasks Supported
Cluster Migration
Universal Messaging Administration Types
Durable Subscribers
Channels
Queues
Universal Messaging Inventory
Universal Messaging Lifecycle Actions
Universal Messaging KPIs
Universal Messaging Run-time Monitoring Statuses
Universal Messaging and the Command Line Interface
Universal Messaging Commands
Command Line Administration Tools
Introduction to the Administration Tools
Starting the Tools using the Tools Runner Application
Performing Standard Administration Tasks on Realms and Clusters
Running a Configuration Health Check
Universal Messaging Administration API
Introduction
Administration API Package Documentation
Namespace Objects
nRealmNode
nLeafNode (Channels and Queues)
Realm Federation
Channel Join
Realm Server Management
Interfaces
Scheduling
Config
Clustering
Multicast
Security
Access Control Lists
Nirvana Admin API - Nirvana Security Groups
Realm Access Control List (nACL)
Channel Access Control List (nACL)
Queue Access Control List
Management Information
nRealmNode
nClusterNode
nLeafNode
Connection Information
Clustering
About this Guide
Document Conventions
Online Information
Online Information
An Overview of Clustering
What Is Clustering?
Load Balancing in a Cluster
What Data Is Shared in a Cluster?
Overview of Failover Support
Overview of Reliability
Guaranteed Delivery and Clustering
Checkpoint Restart
Putting It All Together
webMethods Integration Server Session Objects
Usage Notes for Session Storage
Scheduled Jobs
Client Applications
Remote Integration Servers in a Cluster
Installation and Setup
Overview
Considerations for Using Other webMethods Products in a Clustered Environment
Setting Up the webMethods Integration Servers in the Cluster
Server Environment
Switching from the Embedded Database to an External RDBMS
Using Terracotta as the Caching Software
Setting up the Terracotta Server Array for Use by the Cluster of Integration Servers
Enabling Clustering for an Integration Server
About Action on Startup Error Options
What Happens When Integration Server Cannot Connect to the Distributed Cache?
Controlling Logging for Caching
Scheduling Jobs to Run in the Cluster
Specifying Unique Logical Names for Integration Servers in a Cluster
Using Guaranteed Delivery with Clustering
Managing Server Clustering
Viewing the Servers in the Cluster
Removing a Server from the Cluster
Adding a Server Back into the Cluster
Taking a Server Offline
Bringing a Server Back Online
Increasing the Cache Size
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 Integration Server Cluster and Terracotta Server Array Handle Failures
What Happens when Integration Server Cannot Connect to the Terracotta Server Array?
Integration Server Cannot Download the tc-config.xml File
Solution
Integration Server Cannot Connect to the Servers in the tc-config.xml File
Solution
What Happens when Integration Server Is Disconnected from the Terracotta Server Array?
Solution
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?
Solution
Integration Agent
About this Guide
Document Conventions
Online Information
Online Information
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
Software AG CloudStreams Functionality
Configuring the VCS Integration feature
About this Guide
Overview
About the VCS Integration Feature
Locking Files Locally versus VCS Locking
System Locking and the VCS Integration Feature
How Does the VCS Integration Feature Differ from Local Service Development?
Terminology
Architecture
Basic Concepts
Summary of VCS Commands
Hierarchical Operation
Typical Work Flow
Understanding Package, Element, and File Behavior
Location of a Package
Package Contents and Interaction with the VCS Integration Feature
..\packages\packageName Directory
\code Directory
\config Directory
\doc Directory
\lib Directory
\ns Directory
\pub Directory
\resources Directory
\templates Directory
Applying Labels within the VCS Repository
Working with Web Service Descriptors
System Requirements
Platform, Hardware, and VCS Requirements
Visual SourceSafe Configuration
ClearCase Configuration
Subversion Configuration
Updating the Path Environment Variable For Subversion
Excluding File Types
Configuring the VCS Integration Feature
Overview
Configuring Integration Server and Designer
Removing the watt.server.ns.backupNodes Setting
Configuring Designer
Configuring the WmVCS Package to Work with Visual SourceSafe
Configuring the WmVCS Package to Work with ClearCase
Configuring the WmVCS Package to Work with Subversion
Connecting to Subversion for the First Time
Disconnecting from Subversion
Reconnecting to Subversion
Configuring Integration Server to Connect to a Subversion Repository through a Non-English Subversion Client
Configuring Access to the VCS Repository
Working with a Windows System
Creating VCS Users
Mapping One Integration Server User to One VCS User
Mapping Multiple Integration Server Users to One VCS User
Editing a User Mapping
Deleting a User Mapping
Enabling and Disabling the VCS Integration Packages
Temporarily Disabling the VCS Integration Feature
Enabling the VCS Integration Feature
Permanently Disabling the VCS Integration Feature
Removing the VCS Support Package
Working in a Shared Development Environment
General Behavior
Implementing a Shared Development Environment
Working with a Single Integration Server
Working with Multiple Integration Servers and VCS Servers
Working with Multiple Integration Servers and One VCS Server
Sharing Packages Among Integration Servers
Locking Files in a Shared Development Environment
Importing a Package from Another Integration Server
About the Manifest File
Behavior of the manifest.v3 File When Creating a New Package
Understanding Multiple User Accounts and VCS Integration
Security Considerations
General Security Considerations
About VCS Users
User Mappings for Visual SourceSafe and Subversion
VCS Commands
Logging
Checking of External Input
Validity of VCS History Information
Troubleshooting
Cannot Connect to the VCS Server
VCS Menu Commands Are Not Present
VCS Menu Commands Are Not Available
An "Access Denied" Exception Occurs When Saving an Element
Cannot Create a C/C++ Service
Cannot Get Latest Version of a C Service
Designer Loses Connection with Integration Server During Large Transactions
Designer Appears to Stop Responding After Applying a VCS Command
A Check-In Comment Is Not Recorded in the Revision History (Visual SourceSafe)
VCS Transactions Result in Unexpected Behavior (Visual SourceSafe)
DSPs and building output templates
About this Guide
Document Conventions
Online Information
Online Information
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
Processing Flat Files
About this Guide
Document Conventions
Online Information
Online Information
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
About this Guide
Document Conventions
Online Information
Online Information
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)
Managing MIME messages
About this Guide
Document Conventions
Online Information
Online Information
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
Creating REST applications
About this Guide
Document Conventions
Online Information
Online Information
About Integration Server REST Processing
Overview
About REST Request Messages