copy of 8-1 designer service development help
TRANSCRIPT
-
8/11/2019 Copy of 8-1 Designer Service Development Help
1/882
webMethods Designer Service Development Help
Version 8.1
May 2010
Page
-
8/11/2019 Copy of 8-1 Designer Service Development Help
2/882
This document applies to webMethods Designer Version 8.1 and to all subsequent releases.
Specifications contained herein are subject to change and these changes will be reported in subsequent release notes or new editions.Copyright 20082010 Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, United States of America, and/ortheir licensors.
The name Software AG, webMethods, and all Software AG product names are either trademarks or registered trademarks of Software AGand/or Software AG USA, Inc. and/or their licensors. Other company and product names mentioned herein may be trademarks of theirrespective owners.
Use of this software is subject to adherence to Software AGs licensing conditions and terms. These terms are part of the productdocumentation, located athttp://documentation.softwareag.com/legal/and/or in the root installation directory of the licensed product(s).
This software may include portions of third-party products. For third-party copyright notices and license terms, please refer to "LicenseTexts, Copyright Notices and Disclaimers of Third Party Products." This document is part of the product documentation, located athttp://documentation.softwareag.com/legal/and/or in the root installation directory of the licensed product(s).
Document ID: DES-SDH-81-20100528
yrightDocu-
t ID
http://documentation.softwareag.com/legal/http://documentation.softwareag.com/legal/http://documentation.softwareag.com/legal/http://documentation.softwareag.com/legal/http://documentation.softwareag.com/legal/http://documentation.softwareag.com/legal/ -
8/11/2019 Copy of 8-1 Designer Service Development Help
3/882
webMethods Designer Service Development Help Version 8.1 3
Table of Contents
About This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Documentation Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Online Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Part I. webMethods Service Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Before You Use Designer for Service Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1. Working with webMethods Integration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Working with Server Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Creating Server Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Fetching Server Definitions from an Integration Server . . . . . . . . . . . . . . . . . . . . . . . . 36
Importing Server Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Exporting Server Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Removing Server Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Editing Server Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Considerations for Process Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Setting a Default Server Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Placing a Server Definition Offline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Bringing a Server Definition Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Connecting to an Integration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Connecting to an Integration Server via Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . 42Disconnecting from an Integration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Disconnecting from an Integration Server via Preferences . . . . . . . . . . . . . . . . . . . . . 43
Refreshing an Integration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Notification of Server Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Opening Integration Server Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Viewing Integration Server Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Changing Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Password Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Changing Your Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Sychronizing Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2. Work ing wi th Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
About Element Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Package Names and Element Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Creating New Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Guidelines for Naming Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Guidelines for Working with Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Opening Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
-
8/11/2019 Copy of 8-1 Designer Service Development Help
4/882
Table of Contents
4 webMethods Designer Service Development Help Version 8.1
Closing Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Editing and Saving Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Using Property Templates with Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Creating Property Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Applying Property Templates to Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Editing Property Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Deleting Property Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Importing Property Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Exporting Property Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Configuring Dependency Checking for Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Setting Dependency Checking Safe Guards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Moving and Copying Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Guidelines for Moving and Copying All Types of Elements . . . . . . . . . . . . . . . . . . . . . 61
Guidelines for Moving and Copying Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Guidelines for Copying Elements Between Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Notes for Moving and Copying Adapter Notifications and Related Elements . . . . . . . . 63Moving and Copying Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Renaming Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Deleting Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Finding Dependents and References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
What Is a Dependent? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Finding Dependents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
What Is a Reference? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Finding References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Inspecting Pipeline References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Inspecting Pipeline References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Finding Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Searching for Elements in Package Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Locating Invoked Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Locating Referenced Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Linking Open Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Filtering Displayed Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Hiding or Displaying Automatically Generated Flow Services . . . . . . . . . . . . . . . . . . . . . . . 76
Creating Working Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Caching Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Clearing the Designer Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Exporting Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Viewing an Elements Corresponding Server Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3. Assigning and Managing Permiss ions fo r Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
What Is an ACL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
What Happens When a Client Runs a Service with ACLs? . . . . . . . . . . . . . . . . . . . . . 82
Is ACL Usage Required? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Creating ACLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
-
8/11/2019 Copy of 8-1 Designer Service Development Help
5/882
webMethods Designer Service Development Help Version 8.1 5
Table of Contents
ACLS and Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Default ACLs and Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Assigning ACLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Viewing ACL Information for a Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
How ACLs Affect Other Designer Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86ACLS and Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
ACLs and Running/Debugging Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
ACLs and Creating, Viewing, and Deleting Elements . . . . . . . . . . . . . . . . . . . . . . . . . 87
Troubleshooting ACL Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4. Lock ing and Unlocking Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
What Is a Lock? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Locking Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Locking Elements in Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Guidelines for Locking Java and C/C++ Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Guidelines for Locking Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
System Locking Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Viewing the Status of Locked Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Viewing Lock Status of Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Listing All of Your Locked Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Copying, Moving, or Deleting Locked Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Unlocking Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Unlocking Elements in Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Automatically Unlocking an Element Upon Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Lock and Unlock Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Package Management Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Save Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Other Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Frequently Asked Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5. Checking Elements In and Out of a VCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
VCS Integration Supported Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
VCS Integration Unsupported Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Locking Locally vs VCS Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
System Locking and VCS Integration Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
VCS Integration: Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Hierarchical Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Working with Blaze Rules Services and Web Service Descriptors . . . . . . . . . . . . . . . . 110
Working with webMethods Adapter Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
About Unlocking Elements with Integration Server Administrator . . . . . . . . . . . . . . . . 111
Working with Java Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Copying Java Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Moving Java Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Labeling Java Services in the VCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
-
8/11/2019 Copy of 8-1 Designer Service Development Help
6/882
Table of Contents
6 webMethods Designer Service Development Help Version 8.1
Adding Packages and Elements to a VCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Modifying Elements that are in the VCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Checking Out Packages and Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Checking In Packages and Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Reverting Changes to a Checked Out Package or Element . . . . . . . . . . . . . . . . . . . . . . . . 120Getting the Latest Version from the VCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Getting an Earlier Version from the VCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Deleting Packages and Elements from the VCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Restoring Deleted Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Restoring a Deleted Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Restoring a Deleted Folder or Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Copying and Moving Folders or Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Renaming Packages, Folders, and Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Viewing the History of a Folder or Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6. Managing Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Creating a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Guidelines for Naming Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Creating a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Documenting a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Accessing Package Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Viewing Package Settings, Version Number, and Patch History . . . . . . . . . . . . . . . . . . . . . 136
Assigning a Version Number to a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Copying Packages Between Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Copying Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Reloading a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Deleting a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Exporting a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
About Package Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Identifying Package Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Removing Package Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Assigning Startup, Shutdown, and Replication Services to a Package . . . . . . . . . . . . . . . . 144
What Is a Startup Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Assigning a Startup Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Removing a Startup Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
What Is a Shut Down Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Assigning a Shutdown Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Removing a Shutdown Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147What Is a Replication Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Assigning a Replication Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Removing a Replication Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7. Bui lding Serv ices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A Process Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Package and Folder Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
-
8/11/2019 Copy of 8-1 Designer Service Development Help
7/882
webMethods Designer Service Development Help Version 8.1 7
Table of Contents
Declaring a Service Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Specifying Input Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Specifying Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Declaring Input and Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Using a Specification as a Service Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Using an IS Document Type to Specify Service Input or Output Parameters . . . . 158
Inserting Input and Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Specifying Run-Time Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Maintaining the State of Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Specifying the Run-Time State for a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Configuring a Services Use of Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Types of Services to Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Controlling a Services Use of Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Specifying the Duration of Cached Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Using the Prefetch Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Configuring Caching of Service Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Specifying the Execution Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Setting Up URL Aliases for Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Creating a Path Alias for a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Using the Pipeline Debug Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Configuring Saving or Restoring of the Service Pipeline . . . . . . . . . . . . . . . . . . . . 169
Configuring Services to Retry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
About the Maximum Retry Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Setting Service Retry Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Configuring Service Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Service Auditing Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Error Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Service Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Auditing for Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Auditing Long-Running Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Setting Auditing Options for a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Assigning a Universal Name to a Service or Document Type . . . . . . . . . . . . . . . . . . . . . . . 177
Implicit and Explicit Universal Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Assigning, Editing, or Viewing an Explicit Universal Name . . . . . . . . . . . . . . . . . . . . . 179
Deleting an Explicit Universal Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
The Universal Name Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Services You Use to Interact with the Universal Name Registry . . . . . . . . . . . . . . 180
Assigning an Output Template to a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181Printing a Flow Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
8. Bui lding Flow Serv ices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
What Is a Flow Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
What Is a Flow Step? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
What Is the Pipeline? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Building Services Using the Tree Tab or Layout Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
-
8/11/2019 Copy of 8-1 Designer Service Development Help
8/882
Table of Contents
8 webMethods Designer Service Development Help Version 8.1
Creating a New Flow Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Inserting Flow Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Changing the Position of a Flow Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Changing the Level of a Flow Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Setting Properties for a Flow Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192The INVOKE Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Specifying the Service Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Invoking a Built-In Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Invoking a Service on Another Integration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Building an Invoke Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
The BRANCH Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Branching on a Switch Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Specifying the Switch Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Specifying the Label Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Branching on an Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Branching on Null and Empty Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Specifying a Default Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Using a SEQUENCE as the Target of a BRANCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Building a BRANCH Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
The REPEAT Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Specifying the REPEAT Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Setting the REPEAT Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
When Does REPEAT Fail? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Using REPEAT to Retry a Failed Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Using REPEAT to Retry a Successful Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
The SEQUENCE Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Using SEQUENCE to Specify an Exit Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212The LOOP Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Specifying the Input Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Collecting Output from a LOOP Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Building a LOOP Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
The EXIT Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Building an EXIT Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
The MAP Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
9. Work ing in the Layout Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
What Is the Layout Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
When Should You Use Layout Tab? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223What Does a Flow Service Look Like in the Layout Tab? . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Viewing Flow Steps in the Layout Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Viewing Steps that Contain Child Steps in the Layout Tab . . . . . . . . . . . . . . . . . . 226
Show or Hide the Grid Lines in the Flow Service Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Building a Flow Service in the Layout Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Inserting a Flow Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Inserting a Flow Step Using the Palette View . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
-
8/11/2019 Copy of 8-1 Designer Service Development Help
9/882
webMethods Designer Service Development Help Version 8.1 9
Table of Contents
Inserting a Flow Step Using the Context Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Notes for Inserting a Child Step into a BRANCH Step . . . . . . . . . . . . . . . . . . . . . . . . . 229
Changing the Order of Steps in a Flow Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10. Mapping Data in Flow Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
What Does the Pipeline View Contain? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Pipeline View for an INVOKE Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Pipeline View for a MAP Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Printing the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Basic Mapping Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Linking Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Creating a Link Between Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
What Happens When Integration Server Executes a Link? . . . . . . . . . . . . . . . . . . . . . 240
Example of Copying By Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Preventing Pipeline Values from Being Overwritten . . . . . . . . . . . . . . . . . . . . . . . 242
Linking to Document and Document List Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Linking Variables of Different Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Converting a String List to a Document List in the Pipeline . . . . . . . . . . . . . . . . . 244
Converting Two String Lists to a Document List in the Pipeline . . . . . . . . . . . . . . 245
Linking to and from Array Variables in the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Creating a Link to or from an Array Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Default Pipeline Rules for Linking to and from Array Variables . . . . . . . . . . . . . . . 248
Deleting a Link Between Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Linking Variables Conditionally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Linking Multiple Source Variables to a Target Variable . . . . . . . . . . . . . . . . . . . . . 253
Applying a Condition to a Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Assigning Values to Pipeline Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254Setting a Value for a Pipeline Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Copying Assigned Values Between Pipeline Variables . . . . . . . . . . . . . . . . . . . . . . . . 257
Dropping Variables from the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Dropping a Pipeline Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Adding Variables to the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Adding a Pipeline Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Working with Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Using Built-In Services as Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Inserting a Transformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Linking Variables to a Transformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Transformers and Array Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265Example of Dimensionality Mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Validating Input and Output for Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Copying Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Renaming Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Debugging Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
-
8/11/2019 Copy of 8-1 Designer Service Development Help
10/882
Table of Contents
10 webMethods Designer Service Development Help Version 8.1
11. Bui lding Java Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Overview of Building Java Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Java Service Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Source Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Protected Sections of a Java Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276Editable Sections of a Java Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Input/Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Service Development Projects in the Local Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
About the Service Development Project Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Format of a Service Development Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
How Java Services Are Organized on Integration Server . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Creating a Java Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Notes about Creating and Editing Java Services in Designer . . . . . . . . . . . . . . . . . . . 283
Generating Java Code from Service Input and Output Parameters . . . . . . . . . . . . . . . . . . . 284
Example of Java Code Generated from Service Signature . . . . . . . . . . . . . . . . . . . . . 285
Editing an Existing Java Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286Adding Classes to the Service Development Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Compiling a Java Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Performance When Compiling a Java Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Building a Java Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Prerequisites for Generating Java Client Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Limitations when Generating Java Client Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Files that Designer Generates for a Java Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Generating Java Client Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Generating Code a Java Service Can Use to Invoke a Specified Service . . . . . . . . . . . . . . 295
Generating Java Code to Invoke a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Example of Java Code Generated for Invoking a Service . . . . . . . . . . . . . . . . . . . . . . 296
12. Runn ing Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Using Launch Configurations while Running Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Creating a Launch Configuration for Running a Service . . . . . . . . . . . . . . . . . . . . . . . . 301
Supplying Input Values to a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Entering Input for a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Specifying a Value for a String Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Specifying Values for a String List Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Specifying Values for a String Table Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Specifying Values for a Document Variable that Has Defined Content . . . . . . . . . 311
Specifying Values for a Document Variable with No Defined Content . . . . . . . . . 312Specifying Values for a Document List Variable . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Specifying a Value for an Object Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Specifying Values for an Object List Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Saving Input Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Loading Input Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Running a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
-
8/11/2019 Copy of 8-1 Designer Service Development Help
11/882
webMethods Designer Service Development Help Version 8.1 11
Table of Contents
Viewing Service Results from Running a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Messages Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Call Stack Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Pipeline Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Saving the Service Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326Restoring the Service Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
13. Debugging Flow Servi ces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
About Debugging Flow Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
About Debug Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
About Debug Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
About Debug View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Creating Launch Configurations for Debugging Flow Services . . . . . . . . . . . . . . . . . . . . . . 333
Debugging a Flow Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Stepping Through Flow Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Stepping Through a Flow Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Stepping Into and Out of a Child Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Stepping Into and Out of a MAP Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Using Breakpoints When Debugging Flow Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Breakpoint States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Setting and Removing Breakpoints in a Flow Service . . . . . . . . . . . . . . . . . . . . . . . . . 342
Setting and Removing Breakpoints on Flow Step . . . . . . . . . . . . . . . . . . . . . . . . . 343
Setting or Removing Breakpoints on a Transformer . . . . . . . . . . . . . . . . . . . . . . . 343
Enabling and Disabling Breakpoints in a Flow Service . . . . . . . . . . . . . . . . . . . . . . . . 344
Skipping Breakpoints in a Flow Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Disabling Flow Steps, Transformers, and Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Disabling and Enabling Flow Steps and Transformers . . . . . . . . . . . . . . . . . . . . . . . . . 346Disabling and Enabling Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Modifying the Flow Service Pipeline while Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Changing Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Dropping Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Saving and Restoring the Flow Service Pipeline while Debugging . . . . . . . . . . . . . . . . . . . 352
Saving the Flow Service Pipeline while Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Saving the Pipeline to a File while Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Saving the Pipeline at Run Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Restoring the Flow Service Pipeline while Debugging . . . . . . . . . . . . . . . . . . . . . . . . . 354
Loading a Saved Pipeline while Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Loading the Pipeline at Run Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355Viewing Service Results from Debugging a Flow Service . . . . . . . . . . . . . . . . . . . . . . . . . . 356
14. Debugging Java Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
About Debugging a Java Service while its Class Runs in Designer . . . . . . . . . . . . . . . . . . 358
About Test Harnesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Creating a Test Harness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
About Java Application Launch Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
-
8/11/2019 Copy of 8-1 Designer Service Development Help
12/882
Table of Contents
12 webMethods Designer Service Development Help Version 8.1
Creating a Java Application Launch Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Updating a Java Application Launch Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
How to Suspend Execution of a Java Class while Debugging . . . . . . . . . . . . . . . . . . . . . . . 366
Debugging a Java Service while its Class Runs in Designer . . . . . . . . . . . . . . . . . . . . . . . . 367
Viewing Service Results from Debugging a Java Service . . . . . . . . . . . . . . . . . . . . . . 369About Debugging a Java Service while it Runs in Integration Server . . . . . . . . . . . . . . . . . 370
Benefits of Debugging Java Services Running in Integration Server . . . . . . . . . . . . . . 371
Drawbacks of Debugging Java Services Running in Integration Server . . . . . . . . . . . . 371
Setting Up Integration Server for Remotely Debugging a Java Service . . . . . . . . . . . . 372
Creating a Java Project for an IS Package in Designer . . . . . . . . . . . . . . . . . . . . . . . . 374
Creating a Remote Java Application Launch Configuration . . . . . . . . . . . . . . . . . . . . . 375
Debugging a Java Service while it Runs in Integration Server . . . . . . . . . . . . . . . . . . . 376
15. Working wi th Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Creating a Document Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Creating an Empty IS Document Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Adding Fields to an IS Document Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Creating an IS Document Type from an XML Document, DTD, or XML Schema . . . . 382
Creating an IS Document Type from an XML Document . . . . . . . . . . . . . . . . . . . 382
Creating an IS Document Type from a DTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Creating an IS Document Type from an XML Schema . . . . . . . . . . . . . . . . . . . . . 385
Expanding Complex Document Types Inline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Generating Fields for Substitution Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
About Schema Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Creating an IS Document Type from an E-form Template . . . . . . . . . . . . . . . . . . . . . . 391
Notes About IS Document Types Created from E-form Templates . . . . . . . . . . . . 394
Working with Publishable Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394Creating a Publishable Document Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Making a Document Type Publishable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
About the Associated Broker Document Type Name . . . . . . . . . . . . . . . . . . . . . . 398
About the Envelope Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
About Adapter Notifications and Publishable Document Types . . . . . . . . . . . . . . 401
Making Document Types Unpublishable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Specifying Document Storage Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Document Storage Versus Client Queue Storage . . . . . . . . . . . . . . . . . . . . . . . . . 403
Selecting Document Storage Type for a Publishable Document Type . . . . . . . . . 404
Specifying the Time to Live for a Publishable Document Type . . . . . . . . . . . . . . . . . . . 405
Setting the Time to Live for a Publishable Document Type . . . . . . . . . . . . . . . . . . 405Specifying Validation for a Publishable Document Type . . . . . . . . . . . . . . . . . . . . . . . 406
Setting Validation for an Individual Publishable Document Type . . . . . . . . . . . . . 407
Editing Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Important Considerations When Modifying Publishable Document Types . . . . . . . . . . 408
Deleting Publishable Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Synchronizing Publishable Document Types with the Broker . . . . . . . . . . . . . . . . . . . . . . . 410
Synchronization Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
-
8/11/2019 Copy of 8-1 Designer Service Development Help
13/882
webMethods Designer Service Development Help Version 8.1 13
Table of Contents
Synchronization Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Combining Synchronization Action with Synchronization Status . . . . . . . . . . . . . . . . . 413
Synchronizing a Single Publishable Document Type . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Synchronizing Multiple Document Types Simultaneously . . . . . . . . . . . . . . . . . . . . . . 416
Synchronizing Document Types in a Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419Synchronizing Document Types Across a Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Importing and Overwriting References During Synchronization . . . . . . . . . . . . . . . . . . 419
What Happens When You Overwrite Elements on the Integration Server? . . . . . 420
What Happens if You Do Not Overwrite Elements on the Integration Server? . . . 420
Testing Publishable Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Creating a Launch Configuration for a Publishable Document Type . . . . . . . . . . . . . . 421
Testing a Publishable Document Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
About Universal Names and Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Printing an IS Document Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
16. Work ing wi th Spec ifi cations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Creating a Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
17. Work ing wi th Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Creating a Document Reference or a Document Reference List Variable . . . . . . . . . . . . . 432
Assigning Properties to Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Assigning XML Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Guidelines for Assigning XML Namespaces to Web Service Descriptors . . . . . . . 433
Assigning XML Namespaces and Prefixes to Variables . . . . . . . . . . . . . . . . . . . . . . . . 434
Assigning Display Types to String Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Applying Constraints to Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Considerations for Object Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Applying Constraints to a Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Customizing a String Content Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Viewing the Constraints Applied to Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
18. Work ing wi th JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Overview of Building a Non-Transacted JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
JMS Trigger Service Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Creating a JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Adding JMS Destinations and Message Selectors to a JMS Trigger . . . . . . . . . . . . . . 445
Creating a Destination at the Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
About Durable and Non-Durable Subscribers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Creating a Message Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449Adding Routing Rules to a JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Creating a Local Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Managing Destinations and Durable Subscribers through Designer . . . . . . . . . . . . . . . . . . 452
Modifying Destinations or Durable Subscribers for a JMS Trigger . . . . . . . . . . . . . . . . . . . 453
Enabling or Disabling a JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
JMS Trigger States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Setting an Acknowledgement Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
-
8/11/2019 Copy of 8-1 Designer Service Development Help
14/882
Table of Contents
14 webMethods Designer Service Development Help Version 8.1
About Join Time-outs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Join Time-outs for All (AND) Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Join Time-outs for Only One (XOR) Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Setting a Join Time-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Assigning an Execution User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459Specifying an Execution User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Specifying Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Serial Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Concurrent Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Message Processing and Message Consumers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Message Processing and Load Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Processing Messages in Batches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Guidelines for Configuring Batch Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Configuring Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Fatal Error Handling for Non-Transacted JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Configuring Fatal Error Handling for Non-Transacted JMS Triggers . . . . . . . . . . . . . . 466Transient Error Handling for Non-Transacted JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . 467
Configuring Retry Behavior for Trigger Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Service Requirements for Retrying a Trigger Service . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Handling Retry Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Overview of Throw an Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Overview of Suspend and Retry Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Configuring Transient Error Handling for a Non-Transacted JMS Trigger . . . . . . . . . . 472
Exactly-Once Processing for JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Duplicate Detection Methods for JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Summary of Duplicate Detection Process for JMS Triggers . . . . . . . . . . . . . . . . . 475
Delivery Count for JMS Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478Document History Database for Use with JMS Triggers . . . . . . . . . . . . . . . . . . . . 479
What Happens When the Document History Database IsNot Available for a JMS Trigger? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Managing the Size of the Document History Database . . . . . . . . . . . . . . . . . 483
Clearing Expired Entries from the Document History Database . . . . . . . . . . . 483
Document Resolver Service for a JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Document Resolver Service and Exceptions for a JMS Trigger . . . . . . . . . . . 485
Configuring Exactly-Once Processing for a JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . 485
Disabling Exactly-Once Processing for a JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . 487
Extenuating Circumstances for Exactly-Once Processing . . . . . . . . . . . . . . . . . . . . . . 487
Circumstances in which Duplicate Messages Can Be Processed . . . . . . . . . . . . . 488Circumstances in which New Messages Are Treated as Duplicates . . . . . . . . . . . 489
Exactly-Once Processing and Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Building a Transacted JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Prerequisites for a Transacted JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Properties for Transacted JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Steps for Building a Transacted JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Fatal Error Handling for Transacted JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
-
8/11/2019 Copy of 8-1 Designer Service Development Help
15/882
webMethods Designer Service Development Help Version 8.1 15
Table of Contents
Configuring Fatal Error Handling for Transacted JMS Triggers . . . . . . . . . . . . . . 494
Transient Error Handling for Transacted JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . 495
Overview of Recover Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Overview of Suspend and Recover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Configuring Transient Error Handling for Transacted JMS Triggers . . . . . . . . . . . 499Debugging a JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Enabling Trace Logging for All JMS Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Enabling Trace Logging for a Specific JMS Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Building JMS Triggers with Multiple Routing Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Guidelines for Building a JMS Trigger that Performs Ordered Service Execution . . . . 502
Building a Resource Monitoring Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Service Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Building a Document Resolver Service for a Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Consuming JMS Messages Concurrently in a Load-Balanced Fashion . . . . . . . . . . . . . . . 504
Consuming JMS Messages Concurrently Using the webMethods JMS Provider . . . . 506
Configuring JMS Triggers, Integration Server, and webMethodsJMS Provider for Load-Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Automatic Load Balancing Configuration for DurableSubscribers when Using the webMethods JMS Provider . . . . . . . . . . . . . . . . . 507
Consuming JMS Messages in Order with Multiple Consumers . . . . . . . . . . . . . . . . . . 508
Consuming JMS Messages in Order Using the webMethods JMS Provider . . . . . 508
19. Work ing with Broker /Local Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Overview of Building a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Requirements for Broker/Local Trigger Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Validation of Broker/Local Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Creating a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Creating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Using Filters with a Subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Filter Evaluation at Design Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Filters and Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Using Hints in Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Detecting Deadletters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Creating a Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Using Multiple Conditions in a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Using Multiple Conditions for Ordered Service Execution . . . . . . . . . . . . . . . . . . . 522
Ordering Conditions in a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Disabling and Enabling a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524Disabling and Enabling a Broker/Local Trigger in a Cluster or Non-Clustered Group . 525
About Join Time-Outs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Join Time-Outs for All (AND) Join Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Join Time-Outs for Only One (XOR) Join Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Setting a Join Time-Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Using Priority Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Enabling and Disabling Priority Message Processing for a Broker/Local Trigger . . . . . 529
-
8/11/2019 Copy of 8-1 Designer Service Development Help
16/882
Table of Contents
16 webMethods Designer Service Development Help Version 8.1
Configuring Broker/Local Trigger Queue Capacity and Refill Level . . . . . . . . . . . . . . . . . . . 530
Guidelines for Broker/Local Trigger Queue Capacity and Refill Levels . . . . . . . . . . . . 531
Setting Broker/Local Trigger Queue Capacity and Refill Level . . . . . . . . . . . . . . . . . . . 531
Controlling Document Acknowledgements for a Broker/Local Trigger . . . . . . . . . . . . . . . . . 532
Setting the Size of the Acknowledgement Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534Determining Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
About Serial Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Serial Processing in Clustered Environments and Non-Clustered Groups . . . . . . 535
About Concurrent Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Selecting Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Changing Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Controlling Fatal Error Handling for a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . 540
Setting Fatal Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Controlling Transient Error Handling for a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . 541
Service Requirements for Retrying a Trigger Service for a Broker/Local Trigger . . . . . 542
Handling Retry Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543Overview of Throw Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Overview of Suspend and Retry Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Configuring Transient Error Handling for a Broker/Local Trigger . . . . . . . . . . . . . . . . . 546
About Retrying Trigger Services and Shutdown Requests . . . . . . . . . . . . . . . . . . . . . . 548
Overview of Exactly-Once Processing for Broker/Local Triggers . . . . . . . . . . . . . . . . . . . . 550
What Is Document Processing for Broker/Local Triggers? . . . . . . . . . . . . . . . . . . . . . . 550
Duplicate Detection Methods for a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . 551
Summary of Duplicate Detection Process for a Broker/Local Trigger . . . . . . . . . . 552
Redelivery Count for Published Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Document History Database for Use with Broker/Local Triggers . . . . . . . . . . . . . 556
What Happens When the Document History Database IsNot Available for a Broker/Local Trigger? . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Documents without UUIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Document Resolver Service for a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . 560
Document Resolver Service and Exceptions for a Broker/Local Trigger . . . . 561
Configuring Exactly-Once Processing for a Broker/Local Trigger . . . . . . . . . . . . . . . . . 561
Disabling Exactly-Once Processing for a Broker/Local Trigger . . . . . . . . . . . . . . . . . . 563
Modifying a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Modifying a Broker/Local Trigger in a Cluster or Non-Clustered Group . . . . . . . . . . . . 564
Deleting a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Deleting Broker/Local Triggers in a Cluster or Non-Clustered Group . . . . . . . . . . . . . . 565
Running a Broker/Local Trigger with a Launch Configuration . . . . . . . . . . . . . . . . . . . . . . . 566Creating a Launch Configuration for a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . 566
Running a Broker/Local Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Testing Join Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
20. Work ing wi th Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
About Adapter Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
About Adapter Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
-
8/11/2019 Copy of 8-1 Designer Service Development Help
17/882
webMethods Designer Service Development Help Version 8.1 17
Table of Contents
About Adapter Listeners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
About Adapter Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
21. Work ing with Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
What Are Web Service Descriptors and Web Service Connectors? . . . . . . . . . . . . . . . . . . 577
Exposing IS Services as Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Creating a Service First Provider Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . 579
Protocol Mismatch Between Transport and Primary Port . . . . . . . . . . . . . . . . . . . 581
Signature Restrictions for a Service First Provider Web Service Descriptor . . . . . 581
Signature Restrictions for Document/Literal . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Signature Restrictions for RPC/Encoded . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Signature Restrictions for RPC/Literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Handling Invalid Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Example: Creating a Wrapper Flow Service for an XSLT Service . . . . . . . . . 584
Using XML Namespaces with Prefixes with Fields in Service Signatures . . . 584
How Integration Server Represents Arrays in the WSDL Schemafor Document/Literal and RPC/Literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Backward Compatibility for Web Service Descriptors Createin Integration Server 7.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Creating a WSDL First Provider Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . 586
Invoking Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
Creating a Consumer Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
Supporting Elements for a Consumer Web Service Descriptor . . . . . . . . . . . . . . . 592
About Web Service Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Signature for a Web Service Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
How a Web Service Connector Represents the Input and Output Messages 599
Refreshing a Web Service Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Backward Compatibility for Existing Web Service Connectors . . . . . . . . . . . . . . . 600
Invoking a Web Service Using a Web Service Connector . . . . . . . . . . . . . . . . . . . . . . 600
Viewing the WSDL Document for a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . 601
WS-I Compliance for Web Service Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Modifying WS-I Compliance for a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . 602
Reporting the WS-I Profile Conformance for a Web Service Descriptor . . . . . . . . . . . 603
Changing the Target Namespace for a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . 603
Viewing the Namespaces Used within a WSDL Document . . . . . . . . . . . . . . . . . . . . . . . . . 604
Enabling MTOM/XOP Support for a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . 604
Enabling SOAP Attachments for a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . 604
Using pub.string:base64Encode with MTOM Implementations . . . . . . . . . . . . . . . . . . 605Adding SOAP Headers to the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Anatomy of a SOAP Header in the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Example of a SOAP Header in the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Validating SOAP Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Working with Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Adding Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Adding an IS Service as an Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
-
8/11/2019 Copy of 8-1 Designer Service Development Help
18/882
Table of Contents
18 webMethods Designer Service Development Help Version 8.1
Adding an Operation from another Provider Web Service Descriptor . . . . . . . . . . 612
Using a 6.5 SOAP-MSG Style Service as an Operation . . . . . . . . . . . . . . . . . . . . 613
Modifying the Signature of a 6.5 SOAP-MSG Style Operation . . . . . . . . . . . . 614
Deleting Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Viewing the Operation Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616Adding Headers to an Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Adding a Header to an Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Adding SOAP Fault Processing to an Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Adding a Fault Element to an Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
Viewing Document Types for a Header or Fault Element . . . . . . . . . . . . . . . . . . . . . . . 620
Working with Binders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Binders and Mixed Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Existing Web Service Descriptors with Mixed Use Binders . . . . . . . . . . . . . . . . . . 622
Adding a Binder to Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Copying Binders Across Provider Web Service Descriptors . . . . . . . . . . . . . . . . . . . . . 624
Deleting a Binder from a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624Deleting an Operation from a Binder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Modifying the SOAP Action for an Operation in a Binder . . . . . . . . . . . . . . . . . . . . . . . 625
Assigning a Web Service Endpoint Alias to a Binder . . . . . . . . . . . . . . . . . . . . . . . . . . 626
How Integration Server Builds the Consumer Endpoint URL . . . . . . . . . . . . . . . . 627
How the Consumer Web Service Endpoint Alias Affects the Endpoint URL . 628
How Integration Server Builds the Provider Endpoint URL . . . . . . . . . . . . . . . . . . 628
Working with Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
About Request Handler Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Request Handler Services and Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
About Response Handler Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Response Handler Services and Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 635About Fault Handler Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Fault Handler Services and Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Setting Up a Header Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Registering a Header Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Adding a Handler to a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Deleting a Handler from a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Authentication and Authorization for Web Service Descriptors . . . . . . . . . . . . . . . . . . . . . . 641
Authentication and Authorization for Consumer Web Service Descriptors . . . . . . . . . . 642
ACL Checking Scenarios for Consumer Web Service Descriptors . . . . . . . . . . . . 643
Authentication and Authorization for Provider Web Service Descriptors . . . . . . . . . . . 644
ACL Checking Scenarios for Provider Web Service Descriptors . . . . . . . . . . . . . . 647
22. Work ing wit h a UDDI Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Opening UDDI Registry View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Connecting to a UDDI Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Disconnecting from a UDDI Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Refreshing a UDDI Registry Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Browsing for Web Services in a UDDI Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
-
8/11/2019 Copy of 8-1 Designer Service Development Help
19/882
webMethods Designer Service Development Help Version 8.1 19
Table of Contents
Applying a Filter to UDDI Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Clearing an Applied Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Creating a Web Service Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Publishing a Service to UDDI Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Deleting a Service from UDDI Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
23. Using WS-Securi ty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Usage of WS-Security Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
The SOAP Message Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Securing Data at the Message Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Message Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Securing Web Service Providers and Consumers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
Supported Types of Message Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Message Security Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Signature Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Encryption Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Security Timestamps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Username and X.509 Certificate Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Token References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Policy Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Certificate and Key Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Encrypting and Decrypting Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Signing and Verifying Signed Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Configuring the WS-Security Facility . . . . . . . . . . . .