copy of 8-1 designer service development help

Upload: thotar

Post on 02-Jun-2018

222 views

Category:

Documents


0 download

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 . . . . . . . . . . . .