Impact Integration Web Services Server Developer Guide

180
www.bmc.com BMC Impact Integration Web Services Developer Guide Supporting BMC Impact Integration Web Services 8.6 July 2011

Transcript of Impact Integration Web Services Server Developer Guide

Page 1: Impact Integration Web Services Server Developer Guide

www.bmc.com

BMC Impact Integration Web ServicesDeveloper Guide

Supporting

BMC Impact Integration Web Services 8.6

July 2011

Page 2: Impact Integration Web Services Server Developer Guide

Contacting BMC Software

You can access the BMC Software website at http://www.bmc.com. From this website, you can obtain information about the company, its products, corporate offices, special events, and career opportunities.

United States and Canada

Address BMC SOFTWARE INC2101 CITYWEST BLVDHOUSTON TX 77042-2827 USA

Telephone 713 918 8800 or800 841 2031

Fax 713 918 8000

Outside United States and Canada

Telephone (01) 713 918 8800 Fax (01) 713 918 8000

© Copyright 2010 BMC Software, Inc.

BMC, BMC Software, and the BMC Software logo are the exclusive properties of BMC Software, Inc., are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other BMC trademarks, service marks, and logos may be registered or pending registration in the U.S. or in other countries. All other trademarks or registered trademarks are the property of their respective owners.

IBM and AIX are registered trademarks of International Business Machines Corporation.

Linux is the registered trademark of Linus Torvalds.

Java, Sun, JRE, and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc., in the U.S. and several other countries.

UNIX is a registered trademark of The Open Group.

The information included in this documentation is the proprietary and confidential information of BMC Software, Inc., its affiliates, or licensors. Your use of this information is subject to the terms and conditions of the applicable End User License agreement for the product and to the proprietary and restricted rights notices included in the product documentation.

Restricted rights legendU.S. Government Restricted Rights to Computer Software. UNPUBLISHED -- RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. Use, duplication, or disclosure of any data and computer software by the U.S. Government is subject to restrictions, as applicable, set forth in FAR Section 52.227-14, DFARS 252.227-7013, DFARS 252.227-7014, DFARS 252.227-7015, and DFARS 252.227-7025, as amended from time to time. Contractor/Manufacturer is BMC SOFTWARE INC, 2101 CITYWEST BLVD, HOUSTON TX 77042-2827, USA. Any contract notices should be sent to this address.

Page 3: Impact Integration Web Services Server Developer Guide

Customer support

You can obtain technical support by using the BMC Software Customer Support website or by contacting Customer Support by telephone or e-mail. To expedite your inquiry, see “Before contacting BMC.”

Support website

You can obtain technical support from BMC 24 hours a day, 7 days a week at http://www.bmc.com/support. From this website, you can

■ read overviews about support services and programs that BMC offers■ find the most current information about BMC products■ search a database for issues similar to yours and possible solutions■ order or download product documentation■ download products and maintenance■ report an issue or ask a question■ subscribe to receive proactive e-mail alerts when new product notices are released■ find worldwide BMC support center locations and contact information, including e-mail addresses, fax numbers, and

telephone numbers

Support by telephone or e-mail

In the United States and Canada, if you need technical support and do not have access to the web, call 800 537 1813 or send an e-mail message to [email protected]. (In the subject line, enter SupID:<yourSupportContractID>, such as SupID:12345). Outside the United States and Canada, contact your local support center for assistance.

Before contacting BMC

Have the following information available so that Customer Support can begin working on your issue immediately:

■ product information

— product name— product version (release number)— license number and password (trial or permanent)

■ operating system and environment information

— machine type— operating system type, version, and service pack or other maintenance level such as PUT or PTF— system hardware configuration— serial numbers— related software (database, application, and communication) including type, version, and service pack or

maintenance level

■ sequence of events leading to the issue

■ commands and options that you used

■ messages received (and the time and date that you received them)

— product error messages— messages from the operating system, such as file system full— messages from related software

3

Page 4: Impact Integration Web Services Server Developer Guide

License key and password information

If you have questions about your license key or password, use one of the following methods to get assistance:

■ Send an e-mail message to [email protected].

■ Use the Customer Support website at http://www.bmc.com/support.

4 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 5: Impact Integration Web Services Server Developer Guide

5

Page 6: Impact Integration Web Services Server Developer Guide

6 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 7: Impact Integration Web Services Server Developer Guide

ContentsChapter 1 Introduction 15

Intended audience for web services development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Support overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Security considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Internationalization considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Atrium service registration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Registering BMC II Web Services with the BMC UDDI server . . . . . . . . . . . . . . . 17

Overview of BMC Impact Integration Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Platform and required tools or components for development . . . . . . . . . . . . . . . . 18

BMC II Web Services overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19BMC II Web Services access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Features of the BMC II Web Services server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Components of the BMC II Web Services server . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Chapter 2 Securing web services 25

Securing BMC II Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Default keystore files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Modify the security configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Chapter 3 Guidelines for choosing client interfaces 31

Client components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Programming language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Guidelines for building a client interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Generating the client proxy code (client stubs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Summary of BMC II Web Services operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33BMC II Web Services client sample code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Implementing the BMC II Web Services operations . . . . . . . . . . . . . . . . . . . . . . . . 35

Chapter 4 BMC Impact Integration Web Services server Administration 43

Starting server instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Selector file overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44How the BMC II Web Services server reads selector files and parameters. . . . . . . . . 44Selector file description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Editing the selector file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Contents 7

Page 8: Impact Integration Web Services Server Developer Guide

Configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Configuration file parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Editing the configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

mcell.dir file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Appendix A BMC Impact Integration Web Services Data Types 63

Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Imported schema definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

baseClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66bufferType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66CellInfo_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66ClassDefInfo_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67ClassDefInfo_element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67className . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67classNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67classOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68componentCauseId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68componentId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69componentStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69componentStatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70connectionId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70context_nio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Cstatus_element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71cStatusHigh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71cStatusLow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72deleteBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72endDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72errorCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73eventID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73filterName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73GetEventsResponse_element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74GetQueryResultResponse_element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74getSubclasses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74imFailure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74imName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75long_Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75messageClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76messageID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76messageType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76modeToSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77num_of_components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77num_of_events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77num_of_results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8 Book Title

Page 9: Impact Integration Web Services Server Developer Guide

onlyImpacted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78password. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78QueryMode_element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79regID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79reliable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80resultCode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80resultHandle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80retrieveResultHandle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81securityToken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81serverName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81setOrCleared. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82SlotDefInfo_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82SlotDefInfo_element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82slotsList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82SMComponent_element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83SMComponentArray_element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83startDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83startIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84StateChangeType_element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84trueCause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85userName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Simple Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85IMMessageType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86IMBufferType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87DataType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88QueryMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Complex Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Arrays from Built-In Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Value Choices, Name-Value Pairs, and Custom Complex Types . . . . . . . . . . . . . 92Custom complex types in the WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Mapping: XSD data types to programming language data types . . . . . . . . . . . . . . . 102

Appendix B BMC Impact Integration Web Services API operations 103

PortType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

AckEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Disconnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107EndQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108GetCellInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109GetEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110GetFilterNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112GetQueryResultCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113QueryClassDefinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115QueryComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117QueryComponentEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118QueryComponentStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Contents 9

Page 10: Impact Integration Web Services Server Developer Guide

QueryComponentsByCondition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122QueryComponentsByStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124QueryData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126QueryEventByID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128QueryEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129QueryEventsByDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131QueryModelImpact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133QueryModelPossibleRootCauses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135RegisterStateChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137RetrieveQueryResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139SendEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141SetMaintenanceMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142SetManualStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145UnregisterStateChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Unsubscribe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Appendix C BMC Impact Manager Service 151

Glossary 153

Index 171

10 Book Title

Page 11: Impact Integration Web Services Server Developer Guide

FiguresBMC II Web Services server overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Structure of message selector set file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Sample message selector set header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Sample message selector set header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Figures 11

Page 12: Impact Integration Web Services Server Developer Guide

12 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 13: Impact Integration Web Services Server Developer Guide

TablesBMC II Web Services server API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Details for the iiwsssl.jks keystore file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Details for the iiwscacerts.jks keystore file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Details for the iiwsssl.cer keystore file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26BMC II Web Services server API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Components that support a receive interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Message selector set header contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Message selector header contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Message selector functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Message selector operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Keyword descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Configuration file parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Simple Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85Complex Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89CellInfo Child Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Tables 13

Page 14: Impact Integration Web Services Server Developer Guide

14 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 15: Impact Integration Web Services Server Developer Guide

C h a p t e r 1

1 Introduction

This chapter introduces the BMC Impact Integration Web Services Developers Guide.

Intended audience for web services development

The audience for the BMC Impact Integration Web Services Developer Guide is experienced developers who are knowledgeable about web services technologies: XML; Simple Object Access Protocol (SOAP); Web Services Description Language (WSDL); and Universal Description and Discovery Interface (UDDI). The web services audience should be acquainted with BMC ProactiveNet, BMC PATROL, and BMC Impact Manager. The web services audience should have experience in

■ writing code in one or more programming languages■ building client applications for web services interfaces ■ working with client proxy code (client stubs)■ generating secure sockets layer (SSL) certificate requests

Support overviewYou request the BMC Impact Integration Developer’s Kit through the BMC Developer Network website at http://devcon.bmc.com/. To obtain general support information, such as finding out how to extend the tools in the kit and develop integration applications, you can go to the BMC Developer Network. It provides developers with moderated peer support and offers a free, supportive Web site where you can get answers to your questions about developing integrations with the BMC Impact Manager product. For more information on joining, go to the BMC Developer Network Web site at: http://devcon.bmc.com/.

Chapter 1 Introduction 15

Page 16: Impact Integration Web Services Server Developer Guide

Deployment

If you have found a bug in the toolkit or an error in the documentation, please report it to BMC Customer Support. For information about how to contact support, see “Customer support” on page 3.

DeploymentThe output of the BMC Impact Integration Web Services projects are sets of archive (.aar) files.

The BMC II Web Services package is installed separately. For more information and installation instructions, see the BMC Impact Integration Web Services Web Services Getting Started Guide.

Security considerations

In this release, BMC II Web Services does not support WS-Security based authentication. It only supports the Transport-level security, the SSL security.

Internationalization considerations

Identify areas of your solution that must be able to support Level-1 internationalization. This level means your software should be able to deal with any non-ASCII characters from input and store them properly. If you are unsure of Level 1 internationalization requirement review them with an Internationalization architect.

Atrium service registrationThe BMC II Web Services component is installed separately. See the BMC Impact Integration Web Services Getting Started Guide for instructions about how to install this web services component.

16 BMC Impact Integration Web Services Developer Guide

Page 17: Impact Integration Web Services Server Developer Guide

Registering BMC II Web Services with the BMC UDDI server

Registering BMC II Web Services with the BMC UDDI server

The BMC II Web Services uddi_registry directory contains tools that you can use to access the BMC UDDI server. You can use the UDDI Registry tool to publish, unpublish, and look up the BMC II Web Services. You can invoke the UDDI Registry tool by using the following command line scripts under the uddi_registry/bin directory:

■ The iiws_uddi_publish script publishes the BMC II Web Services web service onto the BMC UDDI registry server.

■ The iiws_uddi_unpublish script un-publishes (deletes) the BMC II Web Services web service from the BMC UDDI registry server.

■ The iiws_uddi_findsvr script looks up the BMC II Web Services service and provides a printout of the service information, if found.

To use the command scripts

Before running the scripts, you must first verify the environment variables in the iiws_uddi_env script and edit the iiws_uddi_registry.properties file.

1 Verify the JAVA_HOME and IIWS_HOME environment variables in the bin/iiws_uddi_env script. If the value is not correct, edit the file and set it to the right value.

2 Edit the bin/iiws_uddi_registry.properties file to set the values for the following properties:

— uddiHostname: The hostname of the BMC UDDI registry server is running

— uddiPort: The Port number used by BMC UDDI Registry server

— uddiUsername: the user name for the BMC UDDI Registry server

— uddiPassword: The password for the BMC UDDI Registry server

— accessPointUrl: This is the endpoint for BMC II Web Services. You need to chose either the HTTP or the HTTPS URL.

3 After verifying the values in the iiws_uddi_env script and editing the values in iiws_uddi_registry.properties file, you can run the following command scripts:

■ To publish the BMC II Web Services to the BMC UDDI registry, runiiws_uddi_publish.

■ To unpublish the BMC II Web Services from the BMC UDDI registry, run iiws_uddi_unpublish.

Chapter 1 Introduction 17

Page 18: Impact Integration Web Services Server Developer Guide

Overview of BMC Impact Integration Web Services

Overview of BMC Impact Integration Web Services

BMC Impact Integration Web Services (BMC II Web Services) supports integrated, workflow-based applications that are required for business service management.

The BMC II Web Services is ported to Axis2/Java.

■ The BMC II Web Services provides support for:

— Sending events from the event source to BMC Impact Manager.— Retrieving data, events, and class definitions from BMC Impact Manager.— Subscribing to events and receiving events from BMC Impact Manager.

Platform and required tools or components for development

The following items are required tools or components for development:

■ Java 6 - it is important to install this prior to installing Tomcat

— JDK 6u16 or higher— JRE 6u16 or higher

■ Eclipse 3.3.2 (Europa)- minimal version, Gannymede will work fine as well.

■ Apache Tomcat 6.0.20

■ Axis2 1.5

The installation, quickstart, and user guides all have very good information to get you started

NOTE The BMC II Web Services provides a pre-built web service. The web services developer is responsible for building the client.

NOTE Version 7.3.01 of the BMC II Web Services server was built and deployed with the TIBCO® ActiveMatrix™ application. Previous to 7.3.01, it was built and deployed with the Systinet® server platform. Those platforms are not supported for this release.

18 BMC Impact Integration Web Services Developer Guide

Page 19: Impact Integration Web Services Server Developer Guide

BMC II Web Services overview

■ Axis2 1.5 WAR file

You'll need to copy this to the tomcat "webapps" directory.

BMC II Web Services overviewThe BMC II Web Services APIs enable you, as a web services developer, to build a platform-independent web services client that exchanges events and data with BMC Impact Manager instances.

The BMC II Web Services uses Apache Axis2 to build the web services. The BMC II Web Services is deployed into an Apache Tomcat 6 Web server.

Figure 1 depicts the interaction between the BMC II Web Services server, the BMC Impact Manager cell or cells, and the third-party client.

Chapter 1 Introduction 19

Page 20: Impact Integration Web Services Server Developer Guide

BMC II Web Services overview

Figure 1 BMC II Web Services server overview

The BMC II Web Services server package includes the following components:

■ The BMC II Web Services archive (ImpactManager.aar) file that provides BMC II Web Services API for clients exchanges events and data with BMC Impact Manager cells through request and response.

■ Web Services Description Language (WSDL), an XML document that defines the data types, messages, operations, and binding protocol of this web service.

■ The Axis2 distribution.

20 BMC Impact Integration Web Services Developer Guide

Page 21: Impact Integration Web Services Server Developer Guide

BMC II Web Services access

■ A Tomcat web server that provides the HTTP environment and loads BMC II Web Services.

■ UDDI help tools.

■ Client samples.

BMC II Web Services access

Clients can access BMC II Web Services through the service endpoint:

http://hostname:port/imws/services/ImpactManager

You can view the BMC II Web Services server wsdl file through the following example URLs:

http://hostname:port/imws/services/ImpactManager?wsdl

The default port is 9080.

https://hostname:port/imws/services/ImpactManager?wsdl

The default port is 9443.

Features of the BMC II Web Services server

The BMC II Web Services server provides operations for a web service client to exchange events and data with BMC Impact Manager cells. Features of BMC II Web Services server include

■ Send events to BMC Impact Manager cell.■ Query data and events from BMC Impact Manager cell.■ Query class definitions from BMC Impact Manager cell.■ Polling events from BMC Impact Manager cell.■ Other administrator tasks.

For more information about these features, see “Summary of BMC II Web Services operations” on page 33.

Chapter 1 Introduction 21

Page 22: Impact Integration Web Services Server Developer Guide

Features of the BMC II Web Services server

Table 1 lists the names and descriptions for the BMC II Web Services API.

Table 1 BMC II Web Services server API

Operations Descriptions

Send events

Connect Requests BMC II Web Services to connect with specific instances in the BMC Impact Manager network.

Disconnect Requests BMC II Web Services to disconnect from a connected instance.

SendEvent Sends an event to a connected BMC Impact Manager cell.

Query data, events, and service model

EndQuery Requests to end the query.

GetQueryResultCount Gets the total number of events or data objects that the BMC II Web Services server has retrieved in response to a query.

QueryClassDefinitions Retrieves the class and slot definitions of a specific base class and its subclasses.

QueryData Connects to a specific BMC Impact Manager cell and queries for data.

QueryComponent Connects to a specific BMC Impact Manager cell and retrieves the component data attributes.

QueryComponentsByCondition Connects to a specific BMC Impact Manager cell and queries for components by a specific condition.

QueryComponentsByStatus Connects to a specific BMC Impact Manager cell and queries for components by a specific status.

QueryComponentEvents Connects to a specific BMC Impact Manager cell and retrieves events associated with a component object.

QueryComponentStatus Connects to a specific BMC Impact Manager cell and queries for the status of specific components.

QueryEvents Connects to a specific BMC Impact Manager cell and queries for events.

QueryEventsByDate Connects to a specific BMC Impact Manager cell and queries for events that occurred within a specific date range.

QueryEventByID Connects to a specific BMC Impact Manager cell and queries for specific events by ID.

QueryModelImpact Retrieves possible consumer components of a specified component.

QueryModelPossibleRootCause Retrieves a component or components that have either an immediate, direct relationship with the specified component, or that have status that were propagated to the component.

22 BMC Impact Integration Web Services Developer Guide

Page 23: Impact Integration Web Services Server Developer Guide

Components of the BMC II Web Services server

Components of the BMC II Web Services server

This section describes the requirement of the BMC II Web Services server for the mcell.dir file, and it summarizes the different ways in which the BMC II Web Services server handles client interfaces.

mcell.dir

When the BMC II Web Services server is installed, an mcell.dir file is generated with two default entries. In addition to the local cell entry, which most BMC Impact Manager users are familiar with, it also includes an entry for the IIWSGatewayserver component. The following example shows the entries with the default port numbers.

RetrieveQueryResults Retrieves the results that are returned for a query.

UnregisterStateChange Remove integration with a cell, which stops the receipt of state change events.

Subscribe events

AckEvents Directs the web service client to notify the BMC II Web Services server that it has received the events.

GetEvents Enables the web service client to poll events from the BMC II Web Services server gateway.

Subscribe Allows the web service client to specify which event types it wants to receive. It opens the gateway server in BMC II Web Services server to receive events from the cell.

Unsubscribe Enables the web service client to stop its subscription to specified events.

Miscellaneous

GetCellInfo Obtains information about the BMC Impact Manager cells from the BMC II Web Services server.

GetFilterNames Retrieves the names of the available selectors to which the client can subscribe.

RegisterStateChange Registers integration with a cell, which enables receipt of state change events.

SetMaintenanceMode Sends a request to place a specified component in maintenance mode.

SetManualStatus Sends a request to set a designated manual status on the specified component.

cell local mc localhost:1828cell IIWSGatewayserver mc 127.0.0.1:1859

Table 1 BMC II Web Services server API

Operations Descriptions

Chapter 1 Introduction 23

Page 24: Impact Integration Web Services Server Developer Guide

Components of the BMC II Web Services server

In the standalone BMC II Web Services server installation, the mcell.dir file is installed under the $IIWS_HOME\Tomcat\webapps\imws\WEB-INF\etc or the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc directory.

IIWSGatewayserver

An essential component of the BMC II Web Services server is IIWSGatewayserver, which accepts connections and messages from BMC Impact Manager instances. It is enabled when the BMC II Web Services server starts. The IIWSGatewayserver receives events and messages from BMC Impact Manager instances and stores them in a buffer. The BMC II Web Services server receives the BMC Impact Manager events through the IIWSGatewayserver.

The IIWSGatewayserver defaults to the local host system (IP address of 127.0.0.1) of the BMC II Web Services server and listens for events on port number 1859.

For each BMC IM cell that sends events to the BMC II Web Services server, you specify the IIWSGatewayserver entry that identifies the server in the mcell.dir file of each sending cell.

BMC II Web Services configuration file

The BMC II Web Services configuration file, ImWebServices.conf, is a text file. The configuration file is stored in the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc directory. It is accessed at runtime by BMC II Web Services.

The ImWebServices.conf file contains parameters for MessageBuffer, event persistency, and parameters specific to BMC II Web Services.

BMC II Web Services selector file

The BMC II Web Services uses the selector file to define groups of criteria (called

selectors) that are used to identify and select events that propagate from BMC

Impact Manager cells. The default selector file iiws.selector is stored in the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc directory.

24 BMC Impact Integration Web Services Developer Guide

Page 25: Impact Integration Web Services Server Developer Guide

C h a p t e r 2

2 Securing web services

This chapter presents information on how to secure web services. It is addressed to developers or security administrators who are knowledgeable about the WS-Security standards and secure sockets layer (SSL) implementations.

Securing BMC II Web ServicesBMC II Web Services support Transport-level security, the SSL security. By default, Apache Tomcat 6 is configured to support both HTTP and HTTPS connections for one-way server SSL authentication. The HTTPS SSL protocol is TLS.

After installation, clients are able to connect to the BMC II Web Services through both HTTP and HTTPS connectors. If a customer wants to restrict the connection to only HTTPS, he must modify the Tomcat server configuration to set the connectors. For information about how to limit the HTTP connector, see “Modify the security configuration” on page 26.

Default keystore files

BMC II Web Services provide a set of keystore files for HTTPS connection. The keystore files are in the following directory:

$IIWS_HOME/Tomcat/webapps/imws/WEB-INF/

Chapter 2 Securing web services 25

Page 26: Impact Integration Web Services Server Developer Guide

Modify the security configuration

Table 2, Table 3, and Table 4 provide the details of those default keystore files.

Modify the security configuration

You can modify the security configuration so that BMC II Web Services is accessible only through HTTPS, and you can modify the keystore file.

Table 2 Details for the iiwsssl.jks keystore file

Keystore Description

FileName $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/security/iiwsssl.jks

Default keystore for BMC II Web Services used in HTTPS connector.

Type Java KeyStore (jks)

Alias name iiwsssl

Keystore Password

bmciiws

Key Password bmciiws

Table 3 Details for the iiwscacerts.jks keystore file

Keystore Description

FileName $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/security/iiwscacerts.jks

This keystore contains the public keys for common trusted certificate authorities. Customer can import this file into the client side and use it as the tustStore.

Type Java KeyStore (jks)

Password bmciiws

Table 4 Details for the iiwsssl.cer keystore file

Keystore Description

FileName $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/security/iiwsssl.cer

This file is a public x509 certificate for the iiwsssl key pair. If you already have your own certificate file, you can import the iiwsssl.cer file into your current certificate file so that your current certificate is trusted.

NOTE BMC Software recommends that you replace the default trustore and certificate files with those that meet your requirements. For more information about replacing the keystore, see “Modify the security configuration” on page 26.

26 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 27: Impact Integration Web Services Server Developer Guide

Modify the security configuration

Setting the HTTPS-only connector element

By default, Tomcat enables both HTTP and HTTPS connections. You can, however, configure security settings so that the BMC II Web Services is accessible only through HTTPS.

To set the HTTPS-only connector element

1 Open the server.xml file under the $IIWS_HOME/Tomcat/conf in a text editor.

2 In the server.xml file, locate the connector element by searching for the following string:

Define a SSL HTTP/1.1 Connector

The connector element looks similar to the following example:

3 Comment out the connector element by enclosing it in comment signs, as in the following example:

4 Save and Close the file.

5 Restart the BMC II Web Services Tomcat server.

Now the BMC II Web Services is accessible only through HTTPS

Changing the keystore file

BMC II Web Services uses the default keystore file. However, you can replace the default keystore file with a keystore file that you want to use.

To change the keystore file

1 Open the server.xml file under the $IIWS_HOME/Tomcat/conf in a text editor.

2 In the server.xml file, locate the connector element by searching for the following string:

<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" />

<!-<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" />-->

Chapter 2 Securing web services 27

Page 28: Impact Integration Web Services Server Developer Guide

Modify the security configuration

Define a SSL HTTP/1.1 Connector

The connector element looks similar to the following example:

3 Replace the iiwsssl.jks file with the keystore file that you want to use instead.

4 Save and Close the file.

5 Restart the BMC II Web Services Tomcat server.

Configuring a web service client to support SSL/HTTPS

To support SSL/HTTPS communication for your web service client, you must consider the

■ Web service framework on which you built the client code■ Security certificate that the server and client uses

BMC II Web Services server provides a default keystore and a security certificate, both of which you can use with the HTTPS server.

The following process demonstrates how to configure the client site to connect to the BMC II Web Services through HTTPS by using the BMC II Web Services default keystore files.

To configure a web service client to support HTTPS

1 Import the keystore certificate from the BMC II Web Services server. To import the keystore certificate, you can do one of the following:

■ Use the web service tool to import the Java Key Store files from the BMC II Web servers server web services URL.

<Connector port="9443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" maxThreads="200" acceptCount="100" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" keystoreFile="C:\Program Files\BMC Software\Impact Web Services\Tomcat\webapps\imws\WEB-INF\security\iiwsssl.jks" keystorePass="bmciiws" />

NOTE These instructions are based on a client that is built on the Axis Java framework. If your client was built on another framework, refer to the documentation for your framework for information about building a secure client.

28 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 29: Impact Integration Web Services Server Developer Guide

Modify the security configuration

■ Copy the following directory and all its files from the server to the client system:

$IIWS_HOME\Tomcat\webapps\imws\WEB-INF\security

2 Pass the trustStore and trustStorePassword environment variable values to the web service client upon its startup.

The trustStore environment variable stores the location of the Java Key Store file. The trustStorePassword environment variable is the password of the BMC II Web Services server keystore (the default password value is bmciiws).

In the Axis Java framework, you can define these two environment variables in the client startup script as in the following example:

3 Launch the client on the correct BMC II Web Services server endpoint according to the HTTP server configuration. For example, for the HTTPS server, the client should communicate with the server through the following endpoint:

https://hostname:port/imws/services/ImpactManager

:"java -Djavax.net.ssl.trustStore=C:\IIWS_client\security\iiwscacerts.jks - Djavax.net.sll.trustStorePassword=bmciiws"

Chapter 2 Securing web services 29

Page 30: Impact Integration Web Services Server Developer Guide

Modify the security configuration

30 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 31: Impact Integration Web Services Server Developer Guide

C h a p t e r 3

3 Guidelines for choosing client interfaces

This chapter describes guidelines for choosing a web services client interface that is compatible with the BMC II Web Services server. BMC neither supports nor endorses a particular client interface.

Client componentsWhen you build a client interface, you use these components:

■ the client source code that you generate using the WSDL code generator ■ the customized client code that you write

Programming language

You can use any programming language that is supported by web services and your toolkit of choice.

Chapter 3 Guidelines for choosing client interfaces 31

Page 32: Impact Integration Web Services Server Developer Guide

Guidelines for building a client interface

Guidelines for building a client interfaceThis section describes the steps that you must perform to build a web services client that is compatible with the server.

1. Determine the type of client that you want to create:

2. Chose the appropriate framework (toolkit) for constructing your web services client.

3. Use the WSDL source-code generator from your toolkit to generate the client proxy (client stub) from the WSDL.

4. Use the generated client proxy code as a basis and decide which functions to use in your client code.

5. Write the custom code for the selected client features.

6. Test the client.

Generating the client proxy code (client stubs)

To write the web service client, you first need to generate the client stub out of the web service WSDL by using the tool from the framework you selected. You can generate the client stubs against the web service WSDL through the URL or against the copy of the local web service WSDL file.

The following is an example of how you can generate the client stub by using the Axis2 wsdl2java tool:

"%AXIS2_HOME%\bin\wsdl2java.bat" -o iiwsClient -s -sp -p IIWS_Client_stub -S runtime -uri http://localhost:9080/imws/services/ImpactManager?wsdl

32 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 33: Impact Integration Web Services Server Developer Guide

Summary of BMC II Web Services operations

Summary of BMC II Web Services operationsBMC II Web Services server provides operations for a web service client to exchange events and data with BMC Impact Manager cells. BMC II Web Services server performs the following operations:

■ Send events to BMC Impact Manager cell.■ Query data and events from BMC Impact Manager cell.■ Query class definitions from BMC Impact Manager cell.■ Subscribe to and get events from BMC Impact Manager cell.■ Other administrator tasks.

These operations are defined in the ImpactManager.wsdl.

Table 5 provides you with the names and descriptions of the BMC II Web Services server operations.

Table 5 BMC II Web Services server API (part 1 of 2)

Operations Descriptions

Send events

Connect Requests BMC II Web Services to connect with specific instances in the BMC Impact Manager network.

Disconnect Requests BMC II Web Services to disconnect from a connected instance.

SendEvent Sends an event to a connected BMC Impact Manager cell.

Query data, events, and service model

EndQuery Requests to end the query.

GetQueryResultCount Gets the total number of events or data objects that the BMC II Web Services server has retrieved in response to a query.

QueryClassDefinitions Retrieves the class and slot definitions of a specific base class and its subclasses.

QueryData Connects to a specific BMC Impact Manager cell and queries for data.

QueryComponent Connects to a specific BMC Impact Manager cell and retrieves the component data attributes.

QueryComponentsByCondition Connects to a specific BMC Impact Manager cell and queries for components by a specific condition.

QueryComponentsByStatus Connects to a specific BMC Impact Manager cell and queries for components by a specific status.

Chapter 3 Guidelines for choosing client interfaces 33

Page 34: Impact Integration Web Services Server Developer Guide

Summary of BMC II Web Services operations

QueryComponentEvents Connects to a specific BMC Impact Manager cell and retrieves events associated with a component object.

QueryComponentStatus Connects to a specific BMC Impact Manager cell and queries for the status of specific components.

QueryEvents Connects to a specific BMC Impact Manager cell and queries for events.

QueryEventsByDate Connects to a specific BMC Impact Manager cell and queries for events that occurred within a specific date range.

QueryEventByID Connects to a specific BMC Impact Manager cell and queries for specific events by ID.

QueryModelImpact Retrieves possible consumer components of a specified component.

QueryModelPossibleRootCause Retrieves a component or components that have either an immediate, direct relationship with the specified component, or that have status that were propagated to the component.

RetrieveQueryResults Retrieves the results that are returned for a query.

UnregisterStateChange Remove integration with a cell, which stops the receipt of state change events.

Subscribe events

AckEvents Directs the web service client to notify the BMC II Web Services server that it has received the events.

GetEvents Enables the web service client to poll events from the BMC II Web Services server gateway.

Subscribe Allows the web service client to specify which event types it wants to receive. It opens the gateway server in BMC II Web Services server to receive events from the cell.

Unsubscribe Enables the web service client to stop its subscription to specified events.

Miscellaneous

GetCellInfo Obtains information about the BMC Impact Manager cells from the BMC II Web Services server.

GetFilterNames Retrieves the names of the available selectors to which the client can subscribe.

RegisterStateChange Registers integration with a cell, which enables receipt of state change events.

SetMaintenanceMode Sends a request to place a specified component in maintenance mode.

SetManualStatus Sends a request to set a designated manual status on the specified component.

Table 5 BMC II Web Services server API (part 2 of 2)

Operations Descriptions

34 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 35: Impact Integration Web Services Server Developer Guide

BMC II Web Services client sample code

BMC II Web Services client sample code

BMC II Web Services provides a complete set of client sample programs that help integration developers to build the BMC II Web Services client. The sample programs are located under $IIWS_HOME/Tomcat/webapps/imws/client_samples. Sample programs are developed on the Axis2 java framework.

To demonstrate the APIs, the BMC II Web Services provides mc_iiws.baroc file for client samples. The baroc file defines an IIWS_TEST_EV event and an IIWS_TEST_DATA data classes used in the BMC II Web Services client sample programs. To run the client sample, copy the baroc file to the cell’s KB directory, load and compile (mccomp), and restart the cell.

Implementing the BMC II Web Services operations

The rest of this chapter provides you with information on how to implement the BMC II Web Services client for

Implementing send events

You can create an BMC II Web Services client to send events from event source to the BMC Impact Manager cell. The client integration is responsible for designing and implementing the logic required to get the event from the event source, transfer it to BMC II Web Services event and send events to BMC II Web Services.

To enable a client to send events and data, call the following key operations in sequence:

1. Connect

Before you send events, you must invoke the Connect operation. The Connect operation establishes a connection between BMC II Web Services server and the specified BMC Impact Manager instance.

Execution of the Connect operation returns a connection ID. This connection ID is used in SendEvent and Disconnect operations. You can use this connection ID repeatedly until the Disconnect operation is called.

Because you are connecting to a specific BMC Impact Manager instance, you must add the cell information (name, encryption key, host, and port number) to the mcell.dir file that is located on the BMC II Web Services server.

2. SendEvent

Chapter 3 Guidelines for choosing client interfaces 35

Page 36: Impact Integration Web Services Server Developer Guide

Implementing the BMC II Web Services operations

Invoke the SendEvent operation to send an event to the BMC Impact Manager specified in the Connect operation. You must use the connection ID returned from the Connect operation for the destination cell.

If your client is an event provider, you can connect and call the sendEvent operation repeatedly to send events to the same cell. The connection ID is valid until a Disconnect operation is called.

3. Disconnect

The Disconnect operation terminates the connection between BMC II Web Services server and the specified BMC Impact Manager instance.

After the Disconnect operation is called, the specified connect ID is no longer valid.

Client samples

BMC II Web Services provides the send events client sample code under the %IIWS_HOME%\Tomcat\webapps\imws\client_samples\testSendEvents directory.

Implementing queries

Using the available query features, you can enable a client to:

■ Retrieve events, data from a specific BMC IM instance■ Retrieve component information about service model component instances■ Query root cause and impact for a service model

After the client specifies the initial query request with the particular BMC Impact Manager instance, the BMC II Web Services server establish the connection with the BMC Impact Manager cell. The BMC II Web Services returns a response with a result handle which is used by the client with each query request in the query cycle. The returned response also contains the total number of objects available to this query.

To complete the query, the client next requests a specified number of events or data objects, and the server responds with the specified number or the available number. The server response is the query result. To end the query cycle and disconnect from the BMC Impact Manager instance, the client sends an EndQuery request.

TIP 1. If your client application is an event provider, do not use the connect and disconnect

operations frequently. Connect once, using the same connect ID to send events for an entire session, and disconnect at the end of the session.

2. Always use the connect and disconnect operations in pairs. Do not leave too many connect operations without a disconnect.

36 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 37: Impact Integration Web Services Server Developer Guide

Implementing the BMC II Web Services operations

When querying, the client does not need to invoke a specific connection or disconnection request. With each query request, BMC II Web Services establishes a connection with a specific BMC Impact Manager instance. With the EndQuery, the BMC II Web Services disconnects from the BMC Impact Manager instance for this particular query request.

The query operations have their own connection protocol. You do not have to call the Connect operation before calling a query. You establish a separate query connection when you call a query operation.

To build your queries, invoke the following key operations in sequence:

1. One of the queries listed in Table 5 on page 33.

Invoke the specific query operation first. In the specific query, you identify what you are querying for and specify the BMC Impact Manager instance to which you are connecting. A query result handle is returned that is used to track all related queries in this sequence.

Because you are connecting to specific a BMC Impact Manager instance, you must add the cell information (name, encryption key, host, and port number) to the mcell.dir file residing on the BMC II Web Services server.

2. Get the total number of objects expected in the response to the query.

The response from the initial query contains the result count, which is the total number of objects available for this query.

Alternatively, you can call the getQueryResultCount operation to retrieve the result count from BMC II Web Services.

3. RetrieveQueryResult

The RetrieveQueryResult call specifies the number of events or data objects that the client wants to receive. The maximum number of objects each RetrieveQueryResult can get is defined by the MaxReturnEventListSize configuration parameter. The default value is 20. You can modify this value by changing the MaxReturnEventListSize parameter in the ImWebServices.conf file. See the BMC ProactiveNet Performance Management Web Services Getting Started Guide for more information.

NOTE For the service model queries, you must enter a component ID as an input parameter. You can obtain a component ID from the service model view in the BMC Impact Explorer or from the return values of other queries, such as QueryComponentsByCondition or QueryComponentsByStatus.

Chapter 3 Guidelines for choosing client interfaces 37

Page 38: Impact Integration Web Services Server Developer Guide

Implementing the BMC II Web Services operations

You can retrieve the entire range of results at once if the result count is not too large. You can ask to retrieve a specified number of results at one time. You can continue to retrieve the specified number in successive tries until you have retrieved all the results in the range.

You can also call the RetrieveQueryResult operation to retrieve a specified number of events or data objects starting from a certain index point. For example, if the query result count is 50, in the RetrieveQueryResult operation, you can specify a beginning point of 20 and indicate that you want to receive the next 10 events. You retrieve events 20 through 30.

4. EndQuery

The EndQuery call tells the BMC II Web Services server to end the query cycle.

Client samples

BMC II Web Services provides the query client sample code under the %IIWS_HOME%\Tomcat\webapps\imws\client_samples\testDataQueries directory. This sample program contains query examples for all the BMC II Web Services query operations. It demonstrates how to invoke the query request and how to retrieve the results.

Implementing query class definitions

Unlike other query information which needs the block of query, retrieve, and end query, the query class definitions API enrapture all three processes in a single API: queryClassDefinitions.

By using queryClassDefinitions, you can specify if you want to have data class def and event class def. You can retrieve a single class definition, or you can request to retrieve all the children classes from the base class you provided.

Client samples

You can find the query class definition sample in the %IIWS_HOME%\Tomcat\webapps\imws\client_samples\testDataQueries directory.

TIP The client must call the EndQuery operation to perform the following tasks:

■ Clean up the query context in the BMC II Web Services server■ Clean up the memory cache■ Close the connection with the BMC Impact Manager instance

38 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 39: Impact Integration Web Services Server Developer Guide

Implementing the BMC II Web Services operations

The iiwsClientQueryClassDefinitions() method shows how to invoke the query class definitions call. The printClassInfo() method demonstrates the details of how to retrieve the slot information and recursively walk through the children classes.

Implementing subscribe events

You can build a client interface that receives events propagated from a BMC Impact Manager cell.

Table 6 on page 39 describes the essential components for a client interface that receives events.

Selector choices

BMC II Web Services provides a default select file, the iiws.selector, which is located under the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc directory. The iiws.selector provides the following basic selectors:

■ Always matches■ Modifies■ EveryThing

Table 6 Components that support a receive interface

Component Description

IIWSGatewayserver The IIWSGatewayserver is a listen server. If there is client subscribe request, The IIWSGatewayserver will open a listen socket and accept events propagated from Impact manager cell

Propagate rules or event propagation policies

To receive events from BMC Impact Manager instances, you must define Propagate rules or event propagation policies in the cell for the event types to be sent. The BMC Impact Manager instance sends events to the IIWSGatewayserver based on the rules or polices that you have defined.

Note: You do not need to define Propagate rules or event propagation policies to receive service component state change events only.

Subscription requests To receive events, your client interface must invoke subscription requests through the Subscribe () operation.

Client then enter the polling loop the get events periodically from IIWS.

Selector Selectors define the criteria that determine which events your client receives. You specify a selector type in your subscription request.

Chapter 3 Guidelines for choosing client interfaces 39

Page 40: Impact Integration Web Services Server Developer Guide

Implementing the BMC II Web Services operations

You can add more selectors to the selector file or use your own selector file. For more information on the selector file and selector processing, see the BMC ProactiveNet Performance Management Web Services Getting Started Guide.

Reliable and non-reliable subscriptions

When sending the subscription request, the client needs to know whether you want a reliable subscription or an non-reliable subscription.

The life span of a reliable subscription is started when the Subscribe() call succeeds and ends when the client calls Unsubscribe().

The life span of an unreliable subscription ends when the client calls Unsubscribe() or the BMC II Web Services server is terminated.

For a reliable subscription, when BMC II Web Services is terminated, the client subscribe information is saved to the persistent file. When BMC II Web Services starts again, the client can continue to get events from this reliable subscription. The EventReceiverManager.dat persistent file is located under the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/log directory.

The SubscriptionManager.dat file under the same directory stores the descriptions for an unreliable subscriptions.

To build a client interface that receives events propagated from a BMC Impact Manager cell, invoke the following key operations in sequence:

1. Subscribe

If you need to receive events from a BMC Impact Manger, you can send the Subscribe request to BMC II Web Services. The subscribe request has the parameters of context and filterName and the flag that indicates whether this is a reliable or an unreliable subscription.

The context is a string that represents this subscribe request. The filterName is the name of a selector in the selector file, (for example, iiws.selector). The selector defines the criteria that determine which events this subscriber receives. The client context and filterName uniquely identify this particular subscription request. All the subsequent calls for the same subscription, (for example, GetEvents, AckEvents, and Unsubscribe) have to provide the same client context and filterName input parameters.

When the BMC II Web Services gateway server receives the events propagated from a cell, it maps the events against all the selectors for current subscriptions. If matches are found, the event is saved for each subscriber until the client retrieves it.

40 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 41: Impact Integration Web Services Server Developer Guide

Implementing the BMC II Web Services operations

2. GetEvents

After Subscribe succeeds, the client can call GetEvents periodically to retrieve events from BMC II Web Services. The GetEvent operation passes the same context and filterName that were in the Subscribe call. The third input parameter is num_of_events, which tells the BMC II Web Services gateway server the number of events that the client wants to retrieve during this operation.

The BMC II Web Services gateway server uses the context and filterName to locate the subscription. If found, and if there are events existing for this subscriber, events are returned to the client. The num_of_events returned in the response is the actual number of events this operation returned. It is always equal to or less than the value of the input num_of_events from the GetEvent request.

3. AckEvents

Following the GetEvents request, if the number of events returned (num_of_events) is lager than zero, the client must call the ActEvents operation. Upon receipt of the ActEvents request, the BMC II Web Services gateway server cleans up the events from the server side.

The number of events in the AckEvent operation must equal the number of events returned from the getEvent call. For example, from a client

Call the GetEvents request with a num_of_events input of 30.

There are 25 events returned, and the num_of_events in the returned GetEventsResponse is 25.

The client must call AckEvents with a num_of_events input of 25.

4.Unsubscrbe

The Unsubscribe operation terminates the subscription. After receiving this request, the BMC II Web Services gateway server cleans up all the saved events for this subscription and deletes subscription information from the server side.

Client samples

BMC II Web Services provides the subscribing and receiving events sample program under %IIWS_HOME%\Tomcat\webapps\imws\client_samples\testReceiveEvents.

NOTE The callbackURL input parameter is not used in the Subscribe API in BMC II Web Services 7.4.

Chapter 3 Guidelines for choosing client interfaces 41

Page 42: Impact Integration Web Services Server Developer Guide

Implementing the BMC II Web Services operations

Other Implementation consideration

Client binding timeout

Integration client may get time out exception if the request call to web services is in progress while timeout occurred in either socket level or in web services framework level. It is the responsibility of integration application to set the adequate binding timeout for the BMC II Web Services client. It is recommended that clients set the configurable binding-timeout properties to allow end user to adjust the value for their running environment.

The way set the binding timeout in client code is various depends on the language and framework client integration use. You can find the code example in the BMC II Web Services client sample code for Axis2 java program.

UTF-8 encoding

The Impact Manager cell required the all input string is UTF-8 encoded. BMC II Web Services does not translate string code. The BMC II Web Services client must specifically encode all the input strings to UTF-8 before sending them to BMC II Web Services.

42 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 43: Impact Integration Web Services Server Developer Guide

C h a p t e r 4

4 BMC Impact Integration Web Services server Administration

This chapter describes configuration files that affect how the underlying BMC II Web Services APIs interact with the BMC Impact Manager instances to which they connect. This appendix tells how to update the selector file (*.selector), the configuration file (*.conf), and the trace file (*.trace). It provides a summary of the mcell.dir file.

This chapter is addressed primarily to the application administrator. The administrator should be familiar with the configuration files of BMC Impact Manager.

This chapter describes the following topics:

Starting server instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Selector file overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44How the BMC II Web Services server reads selector files and parameters. . . . . . . . . 44Selector file description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Editing the selector file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Configuration file parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Editing the configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

mcell.dir file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Chapter 4 BMC Impact Integration Web Services server Administration 43

Page 44: Impact Integration Web Services Server Developer Guide

Starting server instances

Starting server instancesThe web services server administrator is responsible for starting and maintaining the server.

Selector file overviewThe BMC II Web Services APIs use the selector file to define groups of criteria (called selectors) that are used to identify and select messages which propagate from BMC Impact Manager instances. Messages that match all the criteria in a selector become available to the subscribe-polling mechanisms of BMC II Web Services.

The selector file is a case-insensitive text file. The selector file is required for BMC Impact Integration Web Services’ clients that receive events from BMC Impact Manager instances.

A default selector file, iiws.selector, is stored under the mcell directory. Its file path is designated in the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc directory, in the ImWebServices.conf file, as shown in the following example:

The BMC II Web Services server loads this selector file automatically.

How the BMC II Web Services server reads selector files and parameters

The BMC II Web Services Server uses selectors to match incoming events and to make them available to subscribing clients.

NOTE The selector file is not required for web service clients that only send events or data or that only launch queries.

svci:IIAPISelectorFile="C:\Program Files\BMC Software\ImpactIntegration Web Services/mcell/iiws.selector"

44 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 45: Impact Integration Web Services Server Developer Guide

Selector file description

When programming the web service client, you specify the selector name to invoke in the subscription request (Subscribe). The subscription call identifies the client and the selector name to the BMC II Web Services server. The BMC II Web Services server stores this information in a subscription table, in which selector entry names are mapped to specified client IDs.

During runtime, the BMC II Web Services server loads the selector file that the ImWebServices.conf file specifies. (Only one selector file is loaded per session.) The specified selector file applies to all the messages that propagate from all the BMC Impact Manager cells to which the server is connected.

Multiple clients can subscribe to the same selector entry in a web services session. Conversely, a single web service client can subscribe to different selectors in the same session by initiating multiple subscription calls, each specifying a different selector name.

As BMC Impact Manager events propagate to the BMC II Web Services server, the server accesses the specified selector file, which is loaded in memory. When a BMC Impact Manager message matches a selector parameter in the selector file, the server looks into the subscription table to get the clients that have invoked subscriptions with the matching selector parameter name. The server dispatches the event to all web service clients that have subscribed to the selector parameter name.

Selector file descriptionThe following topics describe the structure and content of message selector set files.

NOTE Whenever a client subscribes to multiple selectors, it runs the risk of receiving duplicate messages from a cell. The same message can satisfy the different criteria specified by each selector name and be forwarded to the subscribing client.

NOTE When an incoming BMC Impact Manager event arrives, BMC II Web Services server checks the event against all selectors in the selector set of the file. For each match of selector with event, it checks whether there is a subscription request from a subscribing web service client. It dispatches the event to each client that has a subscription with a matching selector entry.

Chapter 4 BMC Impact Integration Web Services server Administration 45

Page 46: Impact Integration Web Services Server Developer Guide

Characteristics

Characteristics

Message selector set files have the following characteristics:

■ Message selector set file criteria are not case sensitive.

■ The naming convention for message selector set files is integrationName.selector.

■ Message selector set file syntax is checked when the message selector set file is loaded. If the message selector set file contains problematic syntax, the BMC II Web Services API bmcii_loadSelectorSet() function will fail.

■ The contents of a message selector set file comprise a message selector set. The message selector set can contain one or more message selectors. However, a message selector set file can contain only one message selector set.

■ Each message selector in a message selector set must have a unique name. However, different message selector sets can have message selectors with identical names.

■ When a message selector set file is called by the BMC II Web Services API bmcii_matchSelectorSet() function, it is scanned from beginning to end. The selection process for the message stops the first time that a parameter in a message selector is matched to a parameter value in a message. Once a match is made, the remaining message selectors in a set are ignored.

If the bmcii_matchSelectorSetAll() function is called, the function continues to scan after a matching message selector is identified.

■ Because the message selector sets are scanned from beginning to end, the order of message selectors in a set and lines within a message selector are important to optimizing the matching process.

■ The $doselector function allows you to include message selectors and subselectors within a selector set. Message selectors and subselectors further refine the selector criteria.

■ The $doselector function invokes message subselectors.

■ The relationship between the criteria described in successive lines of a single stanza in a message selector is AND, unless otherwise indicated.

■ The message selector file supports the logical operators OR, AND, &&, and ||.

■ A message selector set can contain multiple stanzas of message selector criteria, nested one level deep. These multiple stanzas of message selector criteria are referred to as message selector groups. The logical relation between the groups can be expressed through an AND, OR, &&, or || connector.

46 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 47: Impact Integration Web Services Server Developer Guide

Characteristics

■ Each line in a message selector contains only one message selector criterion.

■ The message selector file supports the following comparison operators

■ greater-than (>)■ greater-than or equal to (>=)■ less-than (<)■ less-than or equal to (<=)

The message selector file supports these comparison operators for numerals only.

■ The message selector file supports the metaslot feature, which enables you to include information about the message. For example, you can use the metaslot to indicate the source of a message. You specify a metaslot by using the keyword metaslot, followed by a dot (.), to prefix the slot name: metaslot.classname=”EVENT”.

■ The message selector file supports required slots. A required slot keyword determines the required slot or slots in the message selector criteria. The message must have the specific required slot for it to match the message selector criteria.

The required slot keyword consists of the term reqdslot, followed by a dot (.), both of which you add as a prefix to the specific slot name: for example, reqdslot.msg=”TEXT”. To illustrate, if the message selector criteria specified that the slot msg is required (reqdslot.msg=”TEXT”), then a message that did not have the slot msg would fail the matching test.

The reqdslot keyword overrides the FailOnMissingSlot parameter when the latter is set equal to FALSE. That is, a message that does not have the designated required slot fails to meet the message selector criteria.

When the FailOnMissingSlot parameter is set equal to TRUE, the BMC II C APIs ignore the reqdslot keyword when they process the message to determine whether it meets the message selector criteria.

■ You can use the full range of regular expressions as values for message selector criteria. You can include any slots within the regular expression. The BMC II C APIs return the values of the slots at runtime. Within a regular expression, you can specify a slot with the keyword slot, followed by a dot (.): slot.host. The BMC II C APIs will return the value of host before sending the regular expression to the library.

Chapter 4 BMC Impact Integration Web Services server Administration 47

Page 48: Impact Integration Web Services Server Developer Guide

Format

Format

Figure 2 depicts the structure of the message selector set file.

Figure 2 Structure of message selector set file

Message selector set files must contain header information that describes the message selector set. The header information consists of

■ message selector set headers, described in “Message selector set header” on page 48

■ message selector headers, described in “Message selector header” on page 49

Message selector criteria are described in “Message selector criteria” on page 51.

Message selector set header

The message selector set header provides the entire set of message selectors in the file with identifying information and indicates whether the message selector set is enabled for use. A single message selector set header must precede all message selectors and their selector groups in the message selector set.

Table 7 on page 49 describes the required and optional message selector set header parameters that precede the message selectors in a set.

48 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 49: Impact Integration Web Services Server Developer Guide

Format

Message selector header

A message selector header

■ provides each set of message selector criteria in the file with identifying information

■ indicates how some message selector features will be implemented■ indicates whether the specific message selector criteria, including any message

selector groups included within it, are enabled for use

Table 7 Message selector set header contents

Parameter Description Inclusion

SelectorSetName= name of the message selector set

Note: The SelectorSetName can be seen in the Trace file. Use this functionality to debug problems with a specific message selector set.

Required

FormatVersion= minimum version of the BMC II Web Services Server required to run the message selector using this file

Optional

Version= version number of the message selector set file, specified manually by the developer or integration end-user

Optional

ChangeDate= date when the file last changed, specified manually by the developer or integration end-user

Optional

Description= free-text description of the entire message selector set

Optional

Enable= specifies whether the message selector set (and all message selectors in it) are enabled for use

Valid values:

■ TRUE – enabled■ FALSE – disabled

Required

Figure 3 Sample message selector set header

SelectorSetName=testselectorFormatVersion=2Version=7.1ChangeDate=November 14, 2007Description=This file contains the event selector testsEnable=TRUE

Chapter 4 BMC Impact Integration Web Services server Administration 49

Page 50: Impact Integration Web Services Server Developer Guide

Format

A message selector header must precede each collection of message selector criteria in the message selector set.

Table 8 describes the required and optional message selector header parameters that precede each message selector.

Table 8 Message selector header contents

Parameter Description Inclusion

SelectorName= name of the message selector, used by the BMC II Web Services Server to identify the message selector that will be used in selection

The name must be unique within the message selector set.

Required

Description= free-text description of the message selector Optional

FailOnMissingSlot= indicates whether the match for the message selector fails if a slot specified in the message selector criteria is missing from the message

Valid values:

■ TRUE – the match for the message selector fails if a slot specified in the message selector is missing from the message

■ FALSE – missing slots cause the line to be ignored

If the message that is being examined does not include any of the slots that are being tested by the message selector, the comparison will never result in a match. This is true even when the parameter statement is FailOnMissingSlot=false.

If you use the reqdslot keyword in the message selector criteria, it is in effect only when FailOnMissingSlot is set equal to false.

Optional

IsSubSelector Indicates whether the message selector can be called only by the $doselector() function. Valid values are true or false.

Optional

Enable= specifies whether the message selector is enabled for use

Valid values:

■ TRUE – enabled■ FALSE – disabled

Required

50 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 51: Impact Integration Web Services Server Developer Guide

Format

Message selector criteria

Each message selector in a message selector set is constructed of successive lines of comparison criteria. Each criterion is composed of a comparison expressed as an equation. Equation operators are listed in Table 10 on page 55.

Each line contains one criterion with an AND relationship implied between lines (unless otherwise indicated).

In addition, the message selector can consist of multiple groups of comparison criteria, each group related to the other through an AND, OR, ||, or && connector.

Format issues

Messages selector functions, which are internal to the message selector file, are described in Table 9 on page 52. Operators are described in Table 10 on page 55.

■ Each message selector in a set is enclosed in curly braces ({ }).

■ Message selector groups within a message selector are nested one level deep and also enclosed in curly braces. Do not nest message selector groups more than one level deep.

■ To the right of the operator is a slot, static text, or a function. On the left is a slot, regular expression, static text, or a function.

■ Explicit text that is used as a matching criterion must be enclosed in double-quotes (" ").

■ If a criterion fails but has an OR relationship with the following criterion, and that criterion is a match, then that criterion pair is a match.

■ The message selector functions scan each successive selector group in a message selector until it finds a match. Once they find a match, they stop searching.

■ The # symbol is used to comment out the rest of a line in a file. This symbol can be used to alter message selector functions, as well as conceal developer comments. When a line in a message selector is commented out, the selection function ignores it.

Figure 4 Sample message selector set header

SelectorName=EVENT_SELECTORDescription=Selectors for all events of class EVENTFailOnMissingSlot=falseIsSubSelector=trueEnable=TRUE

Chapter 4 BMC Impact Integration Web Services server Administration 51

Page 52: Impact Integration Web Services Server Developer Guide

Format

Do not comment out whole message selectors or selector sets. Instead, set the Enable parameter of the message selector set header or the message selector header to FALSE to disable the message selector set or selector.

EXAMPLE The $functionName resolves a specified function and compares the results of that operation to a slot in the message: for example,

$ClassName = "SECURITY_ALERT"

The $ClassName function returns the class name of the message. The returned value is compared to the value to the right of the operator (in this case, the class name, SECURITY_ALERT). If the message class name is SECURITY_ALERT, then the test is successful.

Table 9 Message selector functions (part 1 of 4)

Function Description

$HostName specifies the host name of the computer on which the message selection program is running: for example, $HostName="MYCOMPUTER".

This function can also be inserted in the new message as a slot value: for example, "MYCOMPUTER"=$HostName.

$ClassName class name of the source message. This function can also be inserted in the new message as a slot value to set the class value of a destination event.

Examples:

slot.imclass=$ClassName$ClassName="EVENT"

slot.slotname compares the value of slot.slotname in the message with the value specified to the right of the operator.

When the slot and the value are both present in the message, the criterion is considered a match.

Example: slot.severity = “Critical”

52 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 53: Impact Integration Web Services Server Developer Guide

Format

$doselector calls additional message selectors or subselectors, either or both of which can be linked to or included with an overarching message selector

$doselector is used as a single criterion in the message selector or subselector.

$ClassName!="EVENTS"$doselector(security_sel)slot.status != "OPEN"

The message selector examines the message class to determine whether it is “EVENTS.” Then, the message is compared to the security_sel selector. If that comparison is completed successfully (all criteria matching), the comparison process continues processing using the original message selector.

Example of $doselector calling a subselector:

SelectorName=SELECTOR_ONEDescription=does some quick checks then calls the sub selectorFailOnMissingSlot=falseEnable=TRUE{slot.host="bob"$doselector(SELECTOR_SUB)}

SelectorName=SELECTOR_SUBDescription=makes sure it is not a test eventFailOnMissingSlot=falseEnable=TRUE{slot.msg!="This is a test"$Class!="EVENT"}

Note: For a message to be considered a match to a message selector, it must match all the criteria of the message selector, including the criteria of message selectors or subselectors called by the $doselector function.

$slotPresent specifies a slot name that must appear in the message that is being examined for the criterion to be a match

Example: $SlotPresent(slot.severity)

Unlike the slot.slotname criterion also described in this table, the value of the slot is not considered.

Table 9 Message selector functions (part 2 of 4)

Function Description

Chapter 4 BMC Impact Integration Web Services server Administration 53

Page 54: Impact Integration Web Services Server Developer Guide

Format

$slotMissing specifies a slot name that must not appear in the message that is being examined for the criterion to be a match

Example: $SlotPresent(slot.severity)

Unlike the slot.slotname criterion also described in this table, the value of the slot is not considered.

$TimeT returns the number of seconds since January 1, 1970 in number format.

Examples:

mc_date=$TimeTSlot.mc_date=$TimeT

$Format similar to printf, uses %s to insert values into a string, expands \t and \n.

Note: %s is the only formatter available for $format.

Examples:

mc_origin=$format("%s:%s", slot.p_agent, slot.p_agent_port)$format("%s:%s", slot.p_agent, slot.p_agent_port)=mc_origin.

$LocalTime enables you to specify the local time using the same format parameters as strftime

Examples:

time=LocalTime("%I:%M:S%p")Slot.time=LocalTime("%I:%M:S%p")

$GmtTime enables you to specify GMT time using the same format as strftime

Examples:

time=$GmtTime("%I:%M:S%p)Slot.time=$GmtTime("%I:%M:S%p")

$subString extracts specified components of a string

Example: msg=$subString(slot.test, 0, 20)

where the first parameter (slot.test in the example) is the slot or string to divide; the second parameter (0 in example) is the index of the first character to include; and the third parameter (20 in example) is the number of characters to include.

$ToLower converts all of the characters in a string to lowercase

Example: mc_host=$ToLower(slot.hostname)

$ToUpper converts all of the characters in a string to upper case

Example: mc_domain=$ToUpper(slot.domain)

Table 9 Message selector functions (part 3 of 4)

Function Description

54 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 55: Impact Integration Web Services Server Developer Guide

Format

Table 10 describes the operators used for comparison in a message selector set file.

$GetListValue retrieves the value at a specified location in a slot list

Example: note=GetListValue(slot.notes, 3)

where the first parameter (slot.notes in the example) is the slot to be examined from the source message and the second parameter (3) is the index of the value to be retrieved.

$IpFromName performs a domain name server (DNS) lookup for the host name associated with the specified IP address

Example: IP=$IpFromName("hostname.domain")

$HostFromIp performs a DNS lookup for the IP address associated with the specified host name

Example: mc_host=$HostFromIp(slot.srcIP)

Table 10 Message selector operators (part 1 of 3)

Operators Description

= for a match, the result to the left of the equals ( = ) operator must equal the result to the right of the operator

Example: $Slot.Test = “EVENTS”

!= for a match, the result to the left of the not equals ( != ) operator must not equal the result to the right of the operator

Example: $ClassName!="EVENT"

=~ regular expression operator

If the message that is being evaluated by the message selector contains the specified parameter and parameter value, a match is made.

Example: slot.severity=~"MAJ*."

The message selector file supports multiple regular expression operators and keywords.

!=~ regular expression operator

If the regular expression fails to match, then the entire line succeeds. If the regular expression matches the value, then the line fails.

Example:

slot.severity!=~"MAJ~."

Table 9 Message selector functions (part 4 of 4)

Function Description

Chapter 4 BMC Impact Integration Web Services server Administration 55

Page 56: Impact Integration Web Services Server Developer Guide

Format

||OR

symbol and literal string, both of which specify an OR relationship between successive lines of message selector criteria or between successive message selector groups

Example: OR relationship between successive lines of criteria$HostName = “data301”||$HostName = “data400”

By default, AND relationships exist between successive lines of message selector criteria.

&&AND

symbol and literal string, both of which specify an AND relationship between successive lines of message selector criteria or between successive message selector groups

Example: AND relationship between message selector groups

{slot.Test=”EVENTS”slot.mc_host=”EVENTS”}AND{slot.Test=”EVENTS2”slot.mc_host=”EVENTS2”}

By default, AND relationships exist between successive lines of message selector criteria.

{ } indicates groups of alternate message selector criteria within an individual message selector. A group can be nested one level deep.

Example:

{

{slot.Test=”EVENTS”slot.mc_host=”EVENTS”}AND{slot.Test=”EVENTS2”slot.mc_host=”EVENTS2”}

}

Table 10 Message selector operators (part 2 of 3)

Operators Description

56 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 57: Impact Integration Web Services Server Developer Guide

Format

Table 11 on page 57 describes message selector keywords that are prefixed to specific slots to indicate their function: metadata, required, or readable value. Remember to include the trailing dot (.) when prefixing the keyword to the slot name.

> specifies a greater-than comparison. Used exclusively with numerical relationships

Example: slot.Test>10

>= specifies a greater-than or equal to comparison. Used exclusively with numerical relationships

Example: slot.Test>=11

< specifies a less-than comparison. Used exclusively with numerical relationships

Example: slot.Test<12

<= specifies a less-than or equal to comparison. Used exclusively with numerical relationships

Example: slot.Text<=11

Table 11 Keyword descriptions

Keyword Description

metaslot. designates a slot as a metaslot, which means a slot that provides information about the message. The keyword, followed by a dot, is prefixed to the slot name that it designates.

Example: metaslot.class_name="EVENT"

reqdslot. designates a slot as a required slot. If the FailOnMissingSlot parameter is set equal to FALSE and if the message does not contain the specified required slot, it will not pass the message selector criteria. If the FailOnMissingSlot parameter is set equal to TRUE, then the BMC II C APIs ignore the reqdslot indicator.

Example: reqdslot.msg="TEST"

slot. designates a readable slot value in regular expressions

slot.msg=~"event from slot.host"

The BMC II C APIs return the value of host before forwarding the regular expression to the expression library.

NOTE For additional information about selector files, see the BMC Impact Integration Developer’s Kit C API Developer Guide.

Table 10 Message selector operators (part 3 of 3)

Operators Description

Chapter 4 BMC Impact Integration Web Services server Administration 57

Page 58: Impact Integration Web Services Server Developer Guide

Editing the selector file

Editing the selector file

1 If necessary, copy the iiws.selector file from the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc directory to the working directory of your BMC II Web Services server installation.

2 In a text editor, open the iiws.selector.

3 Modify the different file components—selector set header, selector header, selector content, and operators—as needed.

4 Save the file using the file name of your choice and the file extension .selector. If you change the name of the selector file, modify the server instance parameter svci:IIAPISelectorFile in the ImWebServices.conf file accordingly.

5 Ensure that the selector file can be read by the user under whose permissions the web services server is running.

6 If the BMC II Web Services server is running, restart it to initialize the changes.

Configuration fileThe BMC II Web Services configuration file, ImWebServices.conf, is a text file. The configuration file is stored in the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc directory that resides on the BMC II Web Services server. It is accessed at runtime by the BMC II Web Services server.

The ImWebServices.conf file is preconfigured so that you do not have to modify the ImWebServices.conf file to run the BMC II Web Services server. Later, as you learn more about your integration needs, you can modify the parameters in the ImWebServices.conf file.

Configuration file parameters

Table 12 on page 59 lists and describes the configuration file parameters.

The default ImWebServices.conf file contains a subset of these values, plus unique configuration parameter values.

58 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 59: Impact Integration Web Services Server Developer Guide

Configuration file parameters

Table 12 Configuration file parameters (part 1 of 3)

Group Parameters Description

Message Buffer

MessageBufferKeepSent The number of seconds to keep sent messages buffered while waiting for an answer.

Default: 300 seconds

MessageBufferKeepWait The number of seconds that messages are retained in the buffer while waiting for the connection to be established

Default: 3600 seconds (one hour)

MessageBufferBaseSize The number of messages that can be stored in the message buffer.

Default: 5000 messages

MessageBufferSizeLimit The maximum number of messages that can be stored in the message buffer.

Default: 0

MessageBufferReconnectInterval (Optional) The number of seconds between attempts to connect to a BMC Impact Manager cell.

Default: 120

Notes:

■ The value of this parameter cannot be less than 60 seconds.

■ When a connection is established, the BMC II Web Services server sends buffered messages that are designated for the BMC Impact Manager cell with which a connection is established.

MessageBufferResendCount The number of times to resend unanswered messages.

Default: 1

MessageBufferExpandPercentage

The percentage that the message buffer can expand.

Default: 10

Chapter 4 BMC Impact Integration Web Services server Administration 59

Page 60: Impact Integration Web Services Server Developer Guide

Configuration file parameters

Event Persistency

PersistencyEnabled Enables persistency, which specifies additional buffering parameters when the buffer mode is No.

Valid values:■ No (Default)■ Yes

PersistencyLevel (Optional) The buffer mode used when the Default buffering mode is specified. This parameter is enabled only when the PersistencyEnabled parameter value is Yes.

Valid values:■ None (Default)■ Low ■ High

Note: These values are case-sensitive and should be entered as shown here.

PersistencyFileName The name of the file where the buffered messages are stored.

Default: log/imgw-mposter.dat

PersistencyCleanupSizeThreshold

The threshold size, in bytes, of the persistency file that activates garbage collection.

Default: 100000

PersistencyCleanupGarbageThreshold

The threshold percentage of the persistency file that activates garbage collection.

Default: 40 percent.

PersistencyDisconnectRemoveMessages

Indicates whether messages written to the persistency file are deleted when the integration is intentionally disconnected from a BMC Impact Manager cell.

Valid values:■ No ■ Yes (Default value)

Note: The contents of the file are not deleted when the integration terminates unexpectedly.

PersistencyCleanupRefuseFile Default: Yes

PersistencyStatisticsLevel Default: None

Table 12 Configuration file parameters (part 2 of 3)

Group Parameters Description

60 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 61: Impact Integration Web Services Server Developer Guide

Editing the configuration file

Editing the configuration file

1 Using a text editor, open the ImWebServices.conf file.

2 Optional. Modify the file to include any optional BMC II Web Services server parameters that you want to use. Table 12 on page 59 lists these parameters.

3 Save the file using the file name of your choice and the file extension .conf.

4 Ensure that the user can read the configuration file under the permissions that the BMC II Web Services server is running.

5 Restart the BMC II Web Services server.

Impact Manager Web services

GateWayserverName The gateway server for the BMC II Web Services server that, like a listener server, receives messages from the cell. The GateWayserverName parameter value and the name in the mcell.dir file of the BMC II Web Services must be the same.

Default: IIWSGatewayserver

MaxReturnEventListSize The maximum size of the event or data returned each time in response to RetrieveQueryResults or GetEvents.

Default: 20

MaxSubscriberNumber The maximum number of subscrptions allowed for the gateway server.

Default: 100

RecvBufferSize The maximum number of matching events stored in gateway persistent receiver buffer. If the number of events received exceed the RecvBufferSize, old events are removed from the persistent receiver buffer.

Default: 2000

SelectorFileName The file that defines the filter criteria used to identify and select the events that are propagated from Impact Managers.

Default: iiws.selector

NOTE The selector file is not required for web service clients that only send events or data or that only launch queries.

Table 12 Configuration file parameters (part 3 of 3)

Group Parameters Description

Chapter 4 BMC Impact Integration Web Services server Administration 61

Page 62: Impact Integration Web Services Server Developer Guide

mcell.dir file

mcell.dir fileThe mcell.dir file lists the identifying information for all BMC Impact Manager product instances (cells) and the event receivers (IIWSGatewayserver) to which your implementation can connect and communicate. It is used to look up a BMC Impact Manager product instance or web services server name and to determine its host, port, and encryption key.

TIP In the configuration file, ensure that the serverDirectoryName parameter points to the directory location of the mcell.dir file on the BMC II Web Services server.

62 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 63: Impact Integration Web Services Server Developer Guide

A p p e n d i x A

A BMC Impact Integration Web Services Data Types

This Appendix describes both the namespace definitions and the data types of the ImpactManager.wsdl.

Data typesThe BMC II Web Services data types consist of element declarations, simple data type definitions, and complex data type definitions. These data definitions and element declarations are defined within the <wsdl:types> section of the ImpactManager.wsdl itself and in four imported schema definition documents.

Imported schema definitionsThe ImpactManager.wsdl incorporates its own data type and element declarations and the data type definitions of four imported schema definition documents: Event.xsd BasicTypes.xsd, ImapiTypes.xsd, and ImapiElems.xsd.

NOTE The BMC Impact Integration Web Services use a document-style invocation, which passes literal XML documents in its message parts. The document-style invocation requires the element attribute. Consequently, the <wsdl:types> section consists mainly of element declarations.

Appendix A BMC Impact Integration Web Services Data Types 63

Page 64: Impact Integration Web Services Server Developer Guide

Elements

ElementsTable 13 describes the elements that the <wsdl:types> section exposes. These elements are derived from built-in, simple, and complex data types.

Table 13 Elements (part 1 of 2)

Element Built-in Data Type Simple Type Complex Type

baseClass string — —

bufferType — IMBufferType —

CellInfo_Array — — ArrayOf_CellInfo

ClassDefInfo_Array — — ArrayOf_ClassDefInfo

ClassDefInfo_element — — ClassDefInfo

className string — —

classNames string — —

classOnly boolean — —

comment string — —

componentCauseId string — —

componentId string — —

componentStatus string — —

componentStatusId string — —

condition string — —

connection long — —

connectionId long — —

context string — —

context_nio string — —

deleteBuffer boolean — —

endDate string — —

errorCode int — —

eventID string — —

filterName string — —

GetEventsResponse_element

— — GetEventsResponse

GetQueryResultResponse_element

— — GetQueryResultResponse

getSubclasses boolean — —

imFailure string — —

imname string — —

long_Response long — —

message — — Event

messageClass string — —

64 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 65: Impact Integration Web Services Server Developer Guide

Elements

messageID string — —

messageType — IMMessageType —

modeToSet string — —

num_of_components int — —

num_of_events int — —

num_of_results int — —

onlyImpacted boolean — —

password string — —

query string — —

QueryMode_element — — QueryMode

query_ev string — —

regID string — —

reliable boolean — —

resultCode int — —

resultHandle string — —

retrieveResultHandle string — —

securityToken string — —

serverName string — —

setOrCleared boolean — —

SlotDefInfo_Array — — ArrayOf_SlotDefInfo

SlotDefInfo_element — — SlotDefInfo

slotsList string — —

SMComponent_element — — SMComponent

SMComponentArray_element

— — ArrayOf_SMComponent

startDate string — —

startIndex long — —

StateChangeType_element

— — StateChangeType

timeout int — —

trueCause boolean — —

userName string — —

Table 13 Elements (part 2 of 2)

Element Built-in Data Type Simple Type Complex Type

Appendix A BMC Impact Integration Web Services Data Types 65

Page 66: Impact Integration Web Services Server Developer Guide

baseClass

baseClass

The declaration for the element baseClass is shown below. This element is used as an input parameter in the query operations QueryComponentsByStatus and QueryClassDefinitions. The baseClass value specifies the class at which the query starts.

bufferType

The element declaration for the element bufferType is shown below.

The bufferType element specifies one of the enumerated buffering routines defined under the simple type definition of IMBufferType in this namespace. The simple type from which the element is defined uses the built-in type string. The bufferType element is valid even when it carries no content. The buffertype element is part of the Connect_Request message.

See the description of the simple type IMBufferType under “IMBufferType” on page 87 for more information about the underlying simple type.

CellInfo_Array

The <wsdl:types> section describes the CellInfo_Array element. Its element declaration is shown below.

The CellInfo_Array element is defined from the complex type ArrayOf_CellInfo.

See the description of the ArrayOf_CellInfo complex type under “ArrayOf_CellInfo” on page 97 for more information about the underlying complex type.

<xsd:element name=”baseClass” nillable=”true” type=”xsd:string”/>

<xsd:element name=”bufferType” nillable=”true” type=”tns:IMBufferType”/>

<xsd:element name=”CellInfo_Array” type=”tns:ArrayOf_CellInfo”/>

66 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 67: Impact Integration Web Services Server Developer Guide

ClassDefInfo_Array

ClassDefInfo_Array

The element declaration for the element ClassDefInfo_Array is shown below.

This element references the complex type ArrayOf_ClassDefInfo, described on page 98.

ClassDefInfo_element

The element declaration for the element ClassDefInfo_element is shown below.

This element references the complex type ClassDefInfo, described on page 97.

className

The element declaration for className is shown below.

Used in the QueryClassDefinitions operation, the className parameter specifies the name of a particular class definition for the query to retrieve.

classNames

The element declaration for the element classNames is shown below.

<xsd:element name=”ClassDefInfo_Array”type=”tns:ArrayOf_ClassDefInfo”/>

<xsd:element name=”ClassDefInfo_element” type=”tns:ClassDefInfo”/>

<xsd:element name=”className” nillable=”true” type=”xsd:string”/>

<xsd:element name=”classNames” nillable=”true” type=”xsd:string”/>

Appendix A BMC Impact Integration Web Services Data Types 67

Page 68: Impact Integration Web Services Server Developer Guide

classOnly

The classNames value is defined by the built-in type string. It is valid even when it carries no content. The classNames element refers to a specific message class. Used in query operations, the classNames element specifies a class of related events for which the web service client is inquiring. Multiple class names can be passed in a single string value, with a pipe symbol (|) separating the class names.

The element classNames is part of the QueryEventsByDate_Request message. It is implemented with the startDate and endDate elements. See also “startDate” on page 83 and “endDate” on page 72.

classOnly

The declaration for the Boolean element classOnly is shown below.

Used in the QueryClassDefinitions operation, the classOnly element, if set to true, restricts the query to return class definitions only, not slots or slot definitions.

comment

The declaration for the element comment is shown below.

The comment element is used as input parameter in the SetMaintenanceMode and SetManualStatus operations. You can include explanatory text about the reason for setting the maintenance mode or the manual status of the component.

componentCauseId

The declaration for the element componentCauseId is shown below.

<xsd:element name=”classOnly” type=”xsd:boolean”/>

<xsd:element name=”comment” nillable=”true” type=”xsd:string”/>

<xsd:element name=”componentCauseId” nillable=”true” type=”xsd:string”/>

68 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 69: Impact Integration Web Services Server Developer Guide

componentId

componentId

The declaration for the element componentId is shown below.

The componentId parameter is used in several queries and operations. It specifies the universal data ID (mc_udid) of the component object to be retrieved.

componentStatus

The declaration for the element componentStatus is shown below.

The element componentStatus is used as a parameter for queries and operations. It specifies one of the computed statuses of a component: status, self_status, computed_status, impact_status, and manual_status.

componentStatusId

The declaration for the element componentStatusId is shown below.

condition

The element declaration for the element condition is shown below.

Used as an input parameter in the QueryComponentsByCondition operation, the condition element specifies the selection criteria for a component. It specifies the selection criteria in a where clause that follows Master Rule Language syntax and conventions.

<xsd:element name=”componentId” nillable=”true” type=”xsd:string”/>

<xsd:element name=”componentStatus” nillable=”true” type=”xsd:string”/>

<xsd:element name=”componentStatusId” nillable=”true” type=”xsd:string”/>

<xsd:element name=”condition” nillable=”true” type=”xsd:string”/>

Appendix A BMC Impact Integration Web Services Data Types 69

Page 70: Impact Integration Web Services Server Developer Guide

connection

connection

The <wsdl:types> section contains the element declaration for the element connection.

The connection value is the long integer assigned to a specific BMC Impact Manager instance connection request. (See also the connectionId element.) It is defined by the built-in type long. The connection element is part of the following messages:

■ Disconnect_Request■ SendEvent_Request

connectionId

The <wsdl:types> section contains the element declaration for the element connectionId.

The connectionId value is the long integer (with a minimum value of -9223372036854775808 and maximum of 9223372036854775807) assigned to a specific BMC Impact Manager instance connection request. It is defined by the built-in type long. The connectionId element is part of the following messages:

■ Connect_Request■ Connect_Response

context

The <wsdl:types> section contains the element declaration for the element context.

<xsd:element name=”connection” type=”xsd:long”/>

<xsd:element name=”connectionId” type=”xsd:long”/>

<xsd:element name=”context” nillable=”true” type=”xsd:string”/>

70 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 71: Impact Integration Web Services Server Developer Guide

context_nio

The context value is a literal or string representation (called the context ID) that identifies the web service client. It is defined by the built-in type string. It is valid even when it carries no content. The context element is part of the following messages:

■ Subscribe_Request■ Unsubscribe_Request

context_nio

The declaration for the element context_nio is shown below.

The context_nio element is used to specify web service clients in GetEvents and AckEvents operations.

Cstatus_element

The declaration for the element Cstatus_element is shown below.

The Cstatus_element references the complex type CStatus, which is described on page 100.

cStatusHigh

The declaration for the element cStatusHigh is shown below.

Used as a parameter in the QueryComponentsByStatus operation, it designates the highest component status value taken from the status values of self_status, computed_status, impact_status, and manual_status.

The CStatusHigh and CStatusLow parameter values define a range of values.

<xsd:element name=”context_ack” nillable=”true” type=”xsd:string”/>

<xsd:element name=”Cstatus_element”type=”tns:CStatus”/>

<xsd:element name=”cStatusHigh” nillable=”true” type=”xsd:string”/>

Appendix A BMC Impact Integration Web Services Data Types 71

Page 72: Impact Integration Web Services Server Developer Guide

cStatusLow

cStatusLow

The declaration for the element cStatusLow is shown below.

Also used as a parameter in the QueryComponentsByStatus operation, it designates the lowest component status value taken from the status values of self_status, computed_status, impact_status, and manual_status.

deleteBuffer

The <wsdl:types> section contains the element declaration for the element deleteBuffer.

The deleteBuffer value is a boolean indicator that tells whether to delete the persistent buffer (where the events and data are stored) when the web service disconnects from the BMC Impact Manager instance. It is defined by the built-in type boolean. The deleteBuffer element is part of the Disconnect_Request message.

endDate

The <wsdl:types> section contains the element declaration for the element endDate. Its element declaration is shown below.

The endDate value is defined by the built-in type dateTime. It is valid even when it carries no content. Used in query requests by the web service client, the endDate defines a specific date and time, typically in GMT. The web service client uses the endDate, along with the startDate, to make a query for events within a specified time frame. The endDate is part of the QueryEventsByDate_Request message.

<xsd:element name=”cStatusLow” nillable=”true” type=”xsd:string”/>

<xsd:element name=”deleteBuffer” type=”xsd:boolean”/>

<xsd:element name=”endDate” nillable=”true” type=”xsd:dateTime”/>

72 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 73: Impact Integration Web Services Server Developer Guide

errorCode

errorCode

The declaration for the element errorCode is shown below.

The errorCode element contains an integer that represents a BMC Impact Integration Web Services server error message. The SetManualStatus and SetMaintenanceMode operations return error codes in their responses.

eventID

declaration for the element eventID is shown below.

The event ID specifies the unique event identifier (mc_ueid) associated with the event that the client is requesting.

filterName

The <wsdl:types> section contains the element declaration for the element filterName.

The filterName value defines the name of the event filter (also called the selector) to which the web service client subscribes. Events that match the criteria of the specified selector are dispatched to the web service client. This element is defined by the built-in type string. It is valid even when it carries no content. The filterName element is part of the following messages:

■ Subscribe_Request■ Unsubscribe_Request

<xsd:element name=”errorCode” nillable=”true” type=”xsd:int”/>

<xsd:element name=”eventID” nillable=”true” type=”xsd:string”/>

<xsd:element name=”filterName” nillable=”true” type=”xsd:string”/>

Appendix A BMC Impact Integration Web Services Data Types 73

Page 74: Impact Integration Web Services Server Developer Guide

GetEventsResponse_element

GetEventsResponse_element

The declaration for the element GetEventsResponse_element is shown below.

The GetEventsResponse_element references the complex type GetEventsResponse, described on page 100.

GetQueryResultResponse_element

The declaration for the element GetQueryResultResponse_element is shown below.

The GetQueryResultResponse element references the complex type GetQueryResultResponse, described on page 100.

getSubclasses

The declaration for the Boolean element getSubclasses is shown below.

Used as Boolean indicator in the QueryComponentsByStatus operation, it indicates whether to extend the query to the subclasses of the designated base class.

imFailure

The declaration for the element imFailure is shown below.

The element imFailure is used in fault messages as the parameter that contains the fault error.

<xsd:element name=”GetEventsResponse_element” nillable=”true” type=”tns:GetEventsResponse”/>

<xsd:element name=”GetQueryResultResponse_element” nillable=”true” type=”tns:GetQueryResultResponse”/>

<xsd:element name=”getSubclasses”type=”xsd:boolean”/>

<xsd:element name=”imFailure” nillable=”true” type=”xsd:string”/>

74 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 75: Impact Integration Web Services Server Developer Guide

imName

imName

The <wsdl:types> section contains the element declaration for the element imName.

The imname element specifies the name of the BMC Impact Manager instance. It is defined by the built-in type string. It is valid even when it carries no content. The imname element is part of the Connect_Request message.

long_Response

The <wsdl:types> section contains the element declaration for the element long_Response.

The long_Response value is the long integer that represents the response element received from the web services component. It is defined by the built-in type long. The long_Response element is part of the Connect_Response message.

message

The <wsdl:types> section contains the element declaration for the element message. Its element declaration is shown below.

The message element contains the event information exchanged between BMC Impact Integration Web Services and the BMC Impact Manager instance. Its data type is a complex type called Event, defined in the schema definition file Event.xsd. This element of type Event is valid even when it carries no content. The message element is part of the SendEvent_Request message.

See the description of the Event complex type under “Event” on page 95 for more information about the underlying complex type.

<xsd:element name=”imName” nillable=”true” type=”xsd:string”/>

<xsd:element name=”long_Response” type=”xsd:long”/>

<xsd:element name=”message” nillable=”true” type=”event:Event”/>

Appendix A BMC Impact Integration Web Services Data Types 75

Page 76: Impact Integration Web Services Server Developer Guide

messageClass

messageClass

The <wsdl:types> section contains the element declaration for the element messageClass.

The messageClass value specifies the name of the class of the event or data. The value can be any valid class name. It is defined by the built-in type string. The messageClass element is part of the SendEvent_Request message.

messageID

The <wsdl:types> section contains the element declaration for the element messaageID. Its element declaration is shown below.

The messageID value is defined by the built-in type string. It is valid even when it carries no content. Used in query operations, the messageID represents the event ID or data ID of the information for which the web service client is inquiring. The messageID is part of the QueryEventByID_Request messages.

messageType

The <wsdl:types> section contains the element declaration for the element messageType.

The messageType element specifies one of the enumerated message types defined under the simple type definition of IMMessageType in this namespace. The simple type from which the element is defined uses the built-in type string. The messageType element is valid even when it carries no content. Used to send event or data information, the messagetype element is part of the SendEvent_Request message.

See the description of the simple type IMMessageType under “IMMessageType” on page 86 for more information about the underlying simple type.

<xsd:element name=”messageClass” type=”xsd:string”/>

<xsd:element name=”messageID” nillable=”true” type=”xsd:string”/>

<xsd:element name=”messageType” nillable=”true” type=”tns:IMMessageType”/>

76 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 77: Impact Integration Web Services Server Developer Guide

modeToSet

modeToSet

The declaration for the element modeToSet is shown below.

Used as an input parameter in the SetMaintenanceMode operation, it defines the maintenance mode that the operation will set.

num_of_components

The declaration for the element num_of_components is shown below.

The num_of_components element is an integer that indicates the number of components that a query returns.

num_of_events

The <wsdl:types> section contains the element declaration for the element num_of_events.

Used in query and polling operations, the num_of_events element represents both an input and an output argument. It is part of the GetEvents_Request and Response messages. Its value is an integer that defines the number of events that the web service client has requested and the number of events that the server is able to return per polling call or query.

The value of the request (the input argument) and the value of the response (the output argument) can be different.

When used in query operations, the num_of_events element is implemented with the startIndex element. See “startIndex” on page 84 for more information.

<xsd:element name=”modeToSet” nillable=”true” type=”xsd:string”/>

<xsd:element name=”num_of_components” type=”xsd:int”/>

<xsd:element name=”num_of_events” type=”xsd:int”/>

Appendix A BMC Impact Integration Web Services Data Types 77

Page 78: Impact Integration Web Services Server Developer Guide

num_of_results

num_of_results

The declaration for the element num_of_results is shown below.

Used as an input parameter in the RetrieveQueryResults operation, it specifies the number of query results that are requested.

onlyImpacted

The declaration for the element onlyImpacted is shown below.

The Boolean element onlyImpacted indicates whether the query is restricted to those events that affect the mode of the component (impact events), and not direct events that originate from the component. The onlyImpacted parameter is used in the QueryComponentEvent operation.

password

The <wsdl:types> section contains the element declaration for the element password.

The password element specifies the password that is defined for a BMC Impact Manager instance. It is defined by the built-in type string. It is valid even when it carries no content. The password element is part of the Connect_Request message.

query

The <wsdl:types> section contains the element declaration for the element query. Its element declaration follows.

<xsd:element name=”num_of_results” type=”xsd:int”/>

<xsd:element name=”onlyImpacted” type=”xsd:boolean”/>

<xsd:element name=”password” nillable=”true” type=”xsd:string”/>

78 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 79: Impact Integration Web Services Server Developer Guide

QueryMode_element

The query value is defined by the built-in type string. It is valid even when it carries no content. The web service client uses the query element to connect with specific BMC Impact Manager instances and initiate query requests for events or data.

The query element is part of the QueryEvents_Request and the QueryData_Request messages.

QueryMode_element

The declaration for the element QueryMode_element is shown below.

The QueryMode_element references the simple type QueryMode, described on page 88.

regID

The declaration for the element regID is shown below.

The regID element is the registration ID assigned to registration requests that are part of the RegisterStateChange and UnregisterStateChange operations. The registration ID is used to associate your integration component with the data instance that the RegisterStateChange operation creates in the BMC SIM cell.

<xsd:element name=”query” nillable=”true” type=”xsd:string”/>

NOTE The query contents have to be a valid Impact Manager cell communication commands for data and event manipulation. The syntax for the communication command is not within the scope of this documentation. Client developer needs to be familiar with cell communication commands to construct the query.

<xsd:element name=”QueryMode_element” type=”tns:QueryMode”/>

<xsd:element name=”regID” nillable=”true” type=”xsd:string”/>

Appendix A BMC Impact Integration Web Services Data Types 79

Page 80: Impact Integration Web Services Server Developer Guide

reliable

reliable

The declaration for the element reliable is shown below.

The Boolean indicator reliable is used in subscription requests to guarantee delivery of messages and to persist messages when the connections among the web service client, BMC II Web Services server, and the C APIs are disrupted.

resultCode

The declaration for the element resultCode is shown below.

The resultCode element contains an integer that specifies the server response to the unregister state change request.

resultHandle

The <wsdl:types> section contains the element declaration for the element resultHandle. Its element declaration is shown below.

The resultHandle value is defined by the built-in type string. It is valid even when it carries no content. The resultHandle element refers to an ID that the web service client attaches to its query requests. This ID is taken from the resultHandle value that the server sends to the client in its initial query response. The client uses the resultHandle element to identify a series of query requests in a query cycle.

It is part of the following query request messages:

■ GetQueryResultCount_Request■ EndQuery_Request

<xsd:element name=”reliable” type=”xsd:boolean”/>

<xsd:element name=”resultCode” type=”xsd:int”/>

<xsd:element name=”resultHandle” nillable=”true” type=”xsd:string”/>

80 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 81: Impact Integration Web Services Server Developer Guide

retrieveResultHandle

retrieveResultHandle

The declaration for the element retrieveResultHandle is shown below.

Used in query requests, the retrieveResultHandle element contains a string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in the query cycle.

securityToken

The declaration for the element securityToken is shown below.

The securityToken element is a placeholder for future security implementations.

serverName

The declaration for the element serverName is shown below.

The serverName element is a string type that specifies the name of the BMC II Web Services server that will be receiving the state change events through the RegisterStateChange operation.

EXAMPLE The web service client initiates a _queryEvents_Request. The BMC II Web Services server responds with a resultHandle of 100. The _getQueryResultCount, and _endQuery request messages that the client launches in the same query cycle carry the same resultHandle value of 100.

<xsd:element name=”retrieveResultHandle” nillable=”true” type=”xsd:string”/>

<xsd:element name=”securityToken” nillable=”true” type=”xsd:string”/>

<xsd:element name=”serverName” nillable=”true” type=”xsd:string”/>

Appendix A BMC Impact Integration Web Services Data Types 81

Page 82: Impact Integration Web Services Server Developer Guide

setOrCleared

setOrCleared

The declaration for the element setOrCleared is shown below.

Used in the bmiiws_setMaintenanceMode operation, the setorCleared Boolean indicator specifies whether the selected component is available to have its maintenance mode set.

SlotDefInfo_Array

The declaration for the element SlotDefInfo_Array is shown below.

The element SlotDefInfo_Array references the complex type, ArrayOf_SlotDefInfo, defined on page 100.

SlotDefInfo_element

The declaration for the element SlotDefInfo_element is shown below.

The SlotDefInfo_element references the complex type SlotDefInfo, described on page 99.

slotsList

The declaration for the element slotsList is shown below.

<xsd:element name=”setOrCleared” type=”xsd:boolean”/>

<xsd:element name=”SlotDefInfo_Array”type=”tns:ArrayOf_SlotDefInfo”/>

<xsd:element name=”SlotDefInfo_element”type=”tns:SlotDefInfo”/>

<xsd:element name=”slotsList” nillable=”true” type=”xsd:string”/>

82 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 83: Impact Integration Web Services Server Developer Guide

SMComponent_element

The slotsList is an output parameter for several queries. It is a string description that specifies the slot name or names, the values for which the query returns. The slot names in the string are separated by commas, as in ','. See also the complex type SlotDefInfo on page 99 for more information.

SMComponent_element

The declaration for the element SMComponent_element is shown below.

The SMComponent_element references the complex type SMComponent, described on page 98.

SMComponentArray_element

The declaration for the element SMComponentArray_element is shown below.

The SMComponentArray_element references the complex type ArrayOf_SMComponent, described on page 98.

startDate

The <wsdl:types> section contains the element declaration for the element startDate. Its element declaration is shown below.

The startDate value is defined by the built-in type dateTime. It is valid even when it carries no content. Used in query requests by the web service client, the startDate defines a specific date and time, typically in GMT. The web service client uses the startDate, along with the endDate, to make a query for events within a specified time frame. The startDate is part of the QueryEventsByDate_Request message.

<xsd:element name=”SMComponent_element” type=”tns:SMComponent”/>

<xsd:element name=”SMComponentArray_element”type=”tns:ArrayOf_SMComponent”/>

<xsd:element name=”startDate” nillable=”true” type=”xsd:dateTime”/>

Appendix A BMC Impact Integration Web Services Data Types 83

Page 84: Impact Integration Web Services Server Developer Guide

startIndex

startIndex

The <wsdl:types> section contains the element declaration for the element startIndex.

Used in query operations, the startIndex value is the long integer that indicates the position in the event or data object list from which the client can request a specific number of events or data objects from the BMC II Web Services server. The startIndex is implemented with the num_of_events element.

StateChangeType_element

The declaration for the element StateChangeType_element is shown below.

The StateChangeType_element references the complex type StateChangeType, described on page 101.

timeout

The <wsdl:types> section contains the element declaration for the element timeout.

The timeout value is the time that the SendEvent operation, which carries the event message, waits for a response from the BMC Impact Manager instance. If no response is received within the specified time, then the events and data are stored in the buffer—if one is defined for the BMC Impact Manager instance—and the SendEvent operation exits.

<xsd:element name=”startIndex” type=”xsd:long”/>

EXAMPLE A query has generated 100 events for the specified result handle ID. The web service client invokes a call to get the query results. The call specifies a startIndex of 50 and requests that 20 events (num_of_events value) be sent. The BMC II Web Services server returns events 50 through 69.

<xsd:element name=”StateChangeType_element”type=”tns:StateChangeType”/>

<xsd:element name=”timeout” type=”xsd:int”/>

84 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 85: Impact Integration Web Services Server Developer Guide

trueCause

The timeout element is defined by the built-in type int. The timeout element is part of the bmciis_send_Request message.

trueCause

The declaration for the element trueCause is shown below.

Used in the QueryModelPossibleRootCauses operation, the Boolean indicator trueCause specifies that, when set equal to true, the query traverses the provider components for the possible root cause. In most instances, the root cause is equal to the true cause of the component’s status.

userName

The <wsdl:types> section contains the element declaration for the element userName.

The userName element specifies the user name that is defined for a BMC Impact Manager instance. It is defined by the built-in type string. It is valid even when it carries no content. The userName element is part of the Connect_Request message.

Simple TypesTable 14 on page 85 lists the custom simple types that the ImpactManager.wsdl exposes and their corresponding built-in data types.

<xsd:element name=”trueCause” type=”xsd:boolean”/>

<xsd:element name=”userName” nillable=”true” type=”xsd:string”/>

Table 14 Simple Types

Simple Type Built-in Data Type

IMMessageType string

IMBufferType string

DataType string

QueryMode string

Appendix A BMC Impact Integration Web Services Data Types 85

Page 86: Impact Integration Web Services Server Developer Guide

IMMessageType

IMMessageType

The <wsdl:types> section contains the data definition for IMMessageType simple type.

The IMMessageType value specifies an enumeration of the types of messages that the web service client can exchange with the web service and the BMC Impact Manager instance. The messages contain the event or data object.

The simple type IMMessageType has a restriction declaration that specifies that the built-in data type string must be used to specify its custom values, which are described in the following table.

<xsd:simpleType name=”IMMessageType”><xsd:restriction base=”xsd:string”><xsd:enumeration value=”MSG_TYPE_NONE”/><xsd:enumeration value=”MSG_TYPE_NEW_EVENT”/><xsd:enumeration value=”MSG_TYPE_MOD_EVENT”/><xsd:enumeration value=”MSG_TYPE_NEW_DATA”/><xsd:enumeration value=”MSG_TYPE_OVERWRITE_DATA”/><xsd:enumeration value=”MSG_TYPE_MOD_DATA”/></xsd:restriction></xsd:simpleType>

Value Description

MSG_TYPE_NONE empty message

MSG_TYPE_NEW_EVENT message contains a new event object

MSG_TYPE_MOD_EVENT message contains information for modifying an existing event object

MSG_TYPE_NEW_DATA message contains a new data object

MSG_TYPE_OVERWRITE_DATA message contains information for modifying an existing data object. If the data object does not already exist, then this operation creates it.

MSG_TYPE_MOD_DATA message contains information for modifying an existing data object. The message type requires that the data_handle ID of the BMC Impact Manager instance is set to enable modification. It does not use the mc_udid identifier.

If the data object does not already exist, then this operation fails.

86 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 87: Impact Integration Web Services Server Developer Guide

IMBufferType

IMBufferType

The <wsdl:types> section contains the data definition for the simple type IMBufferType.

The IMBufferType value specifies an enumeration of the types of buffering routines that are available for connection calls to the BMC Impact Manager instance.

The simple type IMBufferType has a restriction declaration that specifies that the built-in data type string must be used to specify its custom values, which are described in the following table.

<xsd:simpleType name=”IMBufferType”><xsd:restriction base=”xsd:string”><xsd:enumeration value=”BMCII_BUFFER_MODE_DEFAULT”/><xsd:enumeration value=”BMCII_BUFFER_MODE_NONE”/><xsd:enumeration value=”BMCII_BUFFER_MODE_LOW”/><xsd:enumeration value=”BMCII_BUFFER_MODE_HIGH”/></xsd:restriction></xsd:simpleType>

Value Description

BMCII_BUFFER_MODE_DEFAULT

If the web services API cannot send the message to the BMC Impact Manager instance, the message is buffered in memory, but not saved to disk. The message is lost if the connection to the BMC Impact Manager instance is closed or if the BMC II Web Services server shuts down or terminates.

This default value refers to the value that is defined in the startup configuration file of the BMC II Web Services server. If no value is defined in the configuration file, then BMCII_BUFFER_MODE_NONE is used.

BMCII_BUFFER_MODE_NONE

No persistent buffering routine is available. The message is buffered in memory, but not saved to disk. Any events and data are lost if the BMC Impact Manager instance is unavailable.

BMCII_BUFFER_MODE_LOW

The message in the buffer is saved to a separate file on disk only if the web services API (SendEvent) cannot send the message. The message is saved on the disk until the web services API can complete its operation.

If the web services API fails to complete its operation, the message is lost.

BMCII_BUFFER_MODE_HIGH

The message in the buffer is saved immediately to a separate file, ensuring the message delivery. This buffer mode selection can be resource intensive because a copy of every message is saved to disk, even if the message is sent.

Appendix A BMC Impact Integration Web Services Data Types 87

Page 88: Impact Integration Web Services Server Developer Guide

DataType

DataType

The schema declaration file Basic Types.xsd contains the data definition of the simple type DataType.

The simple type DataType has a restriction declaration that specifies that the built-in data type string must be used to specify its values. These values consist of built-in data types (“BYTE,” “SHORT,” “INT,” and so forth) and elements derived from complex types (“BYTE_ARRAY,” “SHORT_ARRAY,” “INT_ARRAY,” and so forth).

Refer to “value” on page 93 for a description of the element value_element, defined from the complex type value, to see how the enumerated DataType values are implemented.

QueryMode

The <wsdl:types> section contains the data definition for the simple type QueryMode.

NOTE The buffer resides on the C API interface with the BMC Impact Manager network.

<xsd:simpleType name=”DataType”><xsd:restriction base=”xsd:string”><xsd:enumeration value=”BYTE”/><xsd:enumeration value=”SHORT”/> <xsd:enumeration value=”INT”/><xsd:enumeration value=”LONG”/><xsd:enumeration value=”FLOAT”/><xsd:enumeration value=”DOUBLE”/><xsd:enumeration value=”STRING”/><xsd:enumeration value=”BYTE_ARRAY”/><xsd:enumeration value=”SHORT_ARRAY”/><xsd:enumeration value=”INT_ARRAY”/><xsd:enumeration value=”LONG_ARRAY”/><xsd:enumeration value=”FLOAT_ARRAY”/><xsd:enumeration value=”DOUBLE_ARRAY”/><xsd:enumeration value=”STRING_ARRAY”/></xsd:restriction></xsd:simpleType>

88 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 89: Impact Integration Web Services Server Developer Guide

Complex Types

QueryMode defines which set of class definitions and respective subclasses are being queried: BMCII_EVENT_CLASSES or BMCII_DATA_CLASSES.

Complex TypesThe ImpactManager.wsdl incorporates two sets of complex types. One set is derived from XML schema files. The other set is derived from custom data types that are specific to the ImpactManager.wsdl.

The complex types are defined in the <wsdl:types> section and in the schema definition files Basic Types.xsd and the Event.xsd. The namespace that points to the Basic Types.xsd is imported into the Event.xsd file. The namespace that points to the Events.xsd is imported into the ImpactManager.wsdl.

Table 15 on page 89 describes the custom complex types that the ImpactManager.wsdl file exposes.

<xsd:simpleType name=”QueryMode”><xsd:restriction base=”xsd:string”><xsd:enumeration value=”BMCII_EVENT_CLASSES”/><xsd:enumeration value=”BMCII_DATA_CLASSES”/></xsd:restriction></xsd:simpleType>

Table 15 Complex Types (part 1 of 2)

Derived Element Complex Type Child Element Data Type (Child Element)

ByteArray ArrayOf_Byte byte_element byte

ShortArray ArrayOf_Short short_element short

IntArray ArrayOf_Int int_element int

LongArray ArrayOf_Long long_element long

FloatArray ArrayOf_Float float_element float

DoubleArray ArrayOf_Double double_element double

StringArray ArrayOf_String string_element string

Appendix A BMC Impact Integration Web Services Data Types 89

Page 90: Impact Integration Web Services Server Developer Guide

Arrays from Built-In Data Types

Arrays from Built-In Data Types

The Basic Types.xsd schema file defines the following arrays. Each array is a complex type with standard content.

value_element value byte_value byte

short_value short

int_value int

long_value long

float_value float

double_value double

string_value string

ShortArray —

IntArray —

LongArray —

FloatArray —

DoubleArray —

StringArray —

NameValue_element NameValue name string

value value

value_type DataType

NameValueArray_element

ArrayOf_NameValue NameValue_element NameValue

NameValueTable_element

TableOf_NameValue NameValueArray_element

ArrayOf_NameValue

Event_element Event (extending ArrayOf_NameValue)

subject string

EventArray_element ArrayOf_Event Event_element Event

— Cell_Info cell_name string

cell_type string

cell_hostname string

port unsigned int

encryption_key string

trusted_servers string

— ArrayOf_CellInfo CellInfo_element CellInfo

— execution_fault IMFailure string

Table 15 Complex Types (part 2 of 2)

Derived Element Complex Type Child Element Data Type (Child Element)

90 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 91: Impact Integration Web Services Server Developer Guide

Arrays from Built-In Data Types

The arrays are derived from their related XML schema definitions. Each array is further defined by a sequence that consists of a single child element. The child element has the attributes minOccurs and maxOccurs, with the defined values of 0 and unbounded respectively.

ArrayOf_Byte

ArrayOf_Short

ArrayOf_Int

ArrayOf_Long

NOTE Arrays are similar to the C/C++ structure types (struct). They are user-defined composite types.

<xsd:element name=”ByteArray” type=”btypes:ArrayOf_Byte”/><xsd:complexType name=”ArrayOf_Byte”><xsd:sequence><xsd:element name=”byte_element” minOccurs=”0” maxOccurs=”unbounded” type=”xsd:byte”/></xsd:sequence></xsd:complexType>

<xsd:element name=”ShortArray” type=”btypes:ArrayOf_Short”/><xsd:complexType name=”ArrayOf_Short”><xsd:sequence><xsd:element name=”short_element” minOccurs=”0” maxOccurs=”unbounded” type=”xsd:short”/></xsd:sequence></xsd:complexType>

<xsd:element name=”IntArray” type=”btypes:ArrayOf_Int”/><xsd:complexType name=”ArrayOf_Int”><xsd:sequence><xsd:element name=”int_element” minOccurs=”0” maxOccurs=”unbounded” type=”xsd:int”/></xsd:sequence></xsd:complexType>

<xsd:element name=”LongArray” type=”btypes:ArrayOf_Long”/><xsd:complexType name=”ArrayOf_Long”>

Appendix A BMC Impact Integration Web Services Data Types 91

Page 92: Impact Integration Web Services Server Developer Guide

Value Choices, Name-Value Pairs, and Custom Complex Types

ArrayOf_Float

ArrayOf_Double

ArrayOf_String

Value Choices, Name-Value Pairs, and Custom Complex Types

The remaining complex types define value choices, name-value pairs, and custom types.

<xsd:sequence><xsd:element name=”long_element” minOccurs=”0” maxOccurs=”unbounded” type=”xsd:long”/></xsd:sequence></xsd:complexType>

<xsd:element name=”FloatArray” type=”btypes:ArrayOf_Float”/><xsd:complexType name=”ArrayOf_Float”><xsd:sequence><xsd:element name=”float_element” minOccurs=”0” maxOccurs=”unbounded” type=”xsd:float”/></xsd:sequence></xsd:complexType>

<xsd:element name=”DoubleArray” type=”btypes:ArrayOf_Double”/><xsd:complexType name=”ArrayOf_Double”><xsd:sequence><xsd:element name=”double_element” minOccurs=”0” maxOccurs=”unbounded” type=”xsd:double”/></xsd:sequence></xsd:complexType>

<xsd:element name=”StringArray” type=”btypes:ArrayOf_String”/><xsd:complexType name=”ArrayOf_String”><xsd:sequence><xsd:element name=”string_element” minOccurs=”0” maxOccurs=”unbounded” type=”xsd:string”/></xsd:sequence></xsd:complexType>

92 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 93: Impact Integration Web Services Server Developer Guide

Value Choices, Name-Value Pairs, and Custom Complex Types

value

The schema definition file BasicTypes.xsd contains this data definition of value.

The complex type value can be any one of the defined child elements or referenced array elements within the <xsd:choice> and </xsd:choice> tags. These value choices consist of built-in data types and referenced array types.

NameValue

The schema definition file BasicTypes.xsd contains this data definition of the NameValue complex type.

The NameValue complex type specifies how a value element is represented. It consists of sequence of child elements:

<xsd:element name=”value_element” type=”btypes:value”/><xsd:complexType name=”value”><xsd:choice><xsd:element name=”byte_value” type=”xsd:byte”/> <xsd:element name=”short_value” type=”xsd:short”/><xsd:element name=”int_value” type=”xsd:int”/><xsd:element name=”long_value” type=”xsd:long”/><xsd:element name=”float_value” type=”xsd:float”/><xsd:element name=”double_value” type=”xsd:double”/><xsd:element name=”string_value” type=”xsd:string”/><xsd:element ref=”btypes:ByteArray”/><xsd:element ref=”btypes:ShortArray”/><xsd:element ref=”btypes:IntArray”/><xsd:element ref=”btypes:LongArray”/><xsd:element ref=”btypes:FloatArray”/><xsd:element ref=”btypes:DoubleArray”/><xsd:element ref=”btypes:StringArray”/></xsd:choice></xsd:complexType>

<xsd:element name=”NameValue_element”type=”btypes:NameValue”/><xsd:complexType name=”NameValue”><xsd:sequence><xsd:element name=”name” type=”xsd:string”/> <xsd:element name=”value” type=”btypes:value”/><xsd:element name=”value_type” type=”btypes:DataType” minOccurs=”0” maxOccurs=”1”/></xsd:sequence></xsd:complexType>

Appendix A BMC Impact Integration Web Services Data Types 93

Page 94: Impact Integration Web Services Server Developer Guide

Value Choices, Name-Value Pairs, and Custom Complex Types

The value_type element has the attributes minOccurs and maxOccurs, with the defined values of 0 and 1 respectively.

ArrayOf_NameValue

The schema definition file BasicTypes.xsd contains this data definition of the ArrayOf_NameValue complex type.

The complex type ArrayOf_NameValue can contain multiple child NameValue_elements. The complex type Event extends the ArrayOf_NameValue type (see “Event” on page 95).

TableOf_NameValue

The schema definition file BasicTypes.xsd contains this data definition of the TableOf_NameValue complex type.

The TableOf_NameValue complex type is defined by a sequence that consists of the child element NameValueArray_element, which is based on the complex type ArrayOf_NameValue. This child element has the attributes minOccurs and maxOccurs, with the respective values 0 and unbounded.

Child Element Data Type

name built-in type string

value the complex type value

value_type the simple type DataType

<xsd:element name=”NameValueArray_element” type=”btypes:ArrayOf_NameValue”/><xsd:complexType name=”ArrayOf_NameValue”><xsd:sequence><xsd:element name=”NameValue_element” minOccurs=”0” maxOccurs=”unbounded” type=”btypes:NameValue”/></xsd:sequence></xsd:complexType>

<xsd:element name=”NameValueTable_element” type=”btypes:TableOf_NameValue”/><xsd:complexType name=”TableOf_NameValue”><xsd:sequence><xsd:element name=”NameValueArray_element” minOccurs=”0” maxOccurs=”unbounded”type=”btypes:ArrayOf_NameValue”/></xsd:sequence></xsd:complexType>

94 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 95: Impact Integration Web Services Server Developer Guide

Value Choices, Name-Value Pairs, and Custom Complex Types

Event

The schema definition file Event.xsd contains this data definition of the Event complex type.

The complex type Event extends the complex type ArrayOf_NameValue through its complexContent element. The complex type Event is a special subset of the values defined by the complex type ArrayOf_NameValue. It is delineated by a sequence element that consists of the child element subject of the built-in data type string.

See also the “message” on page 75 for the description of an element that is derived from the Event complex type.

ArrayOf_Event

The schema definition file Event.xsd contains this data definition for the ArrayOf_Event complex type.

The complex type ArrayOf_Event defines a collection of event elements. The standard content of the ArrayOf_Event complex type is defined by a sequence that consists of the element Event_element of the complex type Event. The ArrayOf_Event type can contain zero or more Event_elements.

<xsd:element name=”Event_element” type=”event:Event”/><xsd:complexType name=”Event”><xsd:complexContent><xsd:extension base=”btypes:ArrayOf_NameValue”> <xsd:sequence><xsd:element name=”subject” type=”xsd:string”/></xsd:sequence></xsd:extension></xsd:complexContent></xsd:complexType>

<xsd:element name=”EventArray_element” type=”event:ArrayOf_Event”/><xsd:complexType name=”ArrayOf_Event”><xsd:sequence><xsd:element name=”Event_element” minOccurs=”0” maxOccurs=”unbounded” type=”event:Event”></xsd:sequence></xsd:complexType>

Appendix A BMC Impact Integration Web Services Data Types 95

Page 96: Impact Integration Web Services Server Developer Guide

Custom complex types in the WSDL

Custom complex types in the WSDL

CellInfo

The <wsdl:types> section describes the CellInfo complex type. Its data definition is shown below.

The CellInfo complex type contains a sequence of child elements that identify the important attributes of the BMC Impact Manager instance or an Impact Integration instance. Each element must be declared in the sequence specified in the data definition.

The information contained in the CellInfo complex type is similar to the information that the mcell.dir file defines. The child elements are defined as follows:

<xsd:complexType name=”CellInfo”>” <xsd:sequence><xsd:element name=”cell_name” type=”xsd:string”/><xsd:element name=”cell_type” type=”xsd:string”/> <xsd:element name=”cell_hostname” type=”xsd:string”/><xsd:element name=”port” type=”xsd:unsignedInt”/><xsd:element name=”encryption_key” type=”xsd:string”/><xsd:element name=”trusted_servers” type=”xsd:string”/></xsd:sequence></xsd:complexType>

Table 16 CellInfo Child Elements (part 1 of 2)

Element Data Type Description

cell_name string string description of the name of the BMC Impact Manager instance or an integration. For an Impact Integration Web Services integration, enter IIWSGatewayserver.

cell_type string string description that identifies the BMC Impact Manager instance as a cell or a gateway. Normally, you enter cell.

cell_hostname string string description that identifies the name of the system on which the instance resides

port unsignedInt numerical designation that specifies the port number through which the BMC Impact Manager instance or integration listens. The default for BMC Impact Manager instances is 1828; the default for IIWSGatewayserver is 1859.

96 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 97: Impact Integration Web Services Server Developer Guide

Custom complex types in the WSDL

ArrayOf_CellInfo

The <wsdl:types> section describes the ArrayOf_CellInfo complex type. Its data definition is shown below.

The complex type ArrayOf_CellInfo is collection of BMC Impact Manager or Impact Integration instances. Each instance is represented by the CellInfo_element child element. The type of the child element is based on the complex type CellInfo. It can contain zero or more CellInfo_elements.

See also “CellInfo_Array” on page 66 for a description of an element that is derived from the ArrayOf_CellInfo complex type.

ClassDefInfo

The data definition of the complex type ClassDefInf is shown below.

encryption_key

string string description of the encryption key that the BMC Impact Manager instance or integration uses. The default value is MC.

trusted_servers

string [not implemented in this release] string description that lists the host names or IP addresses of the authentication servers that are acceptable to the specified BMC Impact Manager instance or integration

<xsd:complexType name=”ArrayOf_CellInfo”>” <xsd:sequence><xsd:element minOccurs=”0” maxOccurs=”unbounded” name=”CellInfo_element” type=”tns:CellInfo”/></xsd:sequence></xsd:complexType>

<xsd:complexType name=”ClassDefInfo”><xsd:sequence><xsd:element name=”class_parent_idx” type=”xsd:int”/><xsd:element name=”class_child_cnt” type=”xsd:int”/><xsd:element name=”class_name” type=”xsd:string”/><xsd:element name=”child_list” type=””tns:ArrayOf_ClassDefInfo”/><xsd:element name=”slots_count” type=”xsd:int”/><xsd:element name=”slots_list” type=”tns:ArrayOf_SlotDefInfo”/></xsd:sequence></xsd:complexType>

Table 16 CellInfo Child Elements (part 2 of 2)

Element Data Type Description

Appendix A BMC Impact Integration Web Services Data Types 97

Page 98: Impact Integration Web Services Server Developer Guide

Custom complex types in the WSDL

This definition uses the types integers, strings, and arrays to specify class and slot information, including the position of the selected class within the class hierarchy.

ArrayOf_ClassDefInfo

The data definition of the complex type ArrayOf_ClassDefInfo is shown below.

The complex type ArrayOf_ClassDefInfo

SMComponent

The data definition of the complex type SMComponent is shown below.

ArrayOf_SMComponent

The data definition of the complex type ArrayOf_SMComponent is shown below.

Element Description

class_parent_idx integer assigned to the selected parent class

class_child_cnt number of child classes

class_name name of the selected class

child_list an array of class definitions of children of the selected parent class

slots_count number of slots in the selected class

slots_list string description that specifies the slot name or names, the values for which the query returns. The slot names in the string are separated by commas, as in ','.

<xsd:complexType name=”ArrayOf_ClassDefInfo”><xsd:sequence><xsd:element maxOccurs=”unbounded”minOccurs=”0”name=”items”type=”tns:ClassDefInfo”/><xsd:element name=”slots_list” type=”tns:ArrayOf_SlotDefInfo”/></xsd:sequence></xsd:complexType>

<xsd:complexType name=”SMComponent”><xsd:complexContent><xsd:extension base=”btypes:ArrayOf_NameValue”/></xsd:complexContent></xsd:complexType>

98 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 99: Impact Integration Web Services Server Developer Guide

Custom complex types in the WSDL

SlotDefInfo

The data definition of the complex type SlotDefInfo is shown below.

This definition uses string types to define the following elements:

<xsd:complexType name=”ArrayOf_SMComponent”><xsd:sequence><xsd:element maxOccurs=”unbounded”minOccurs=”0”name=”SMComponent_element”type=”tns:SMComponent”/></xsd:sequence></xsd:complexType>

<xsd:complexType name=”SlotDefInfo”><xsd:sequence><xsd:element name=”slot_name” type=”xsd:string”/><xsd:element name=”slot_type” type=”xsd:string”/><xsd:element name=”slot_rep_type” type=”xsd:string”/><xsd:element name=”slot_flags” type=”xsd:string”/><xsd:element name=”slot_def_val” type=”xsd:string”/></xsd:sequence></xsd:complexType>

Element Description

slot_name name of the slot in the selected class

slot_type indicates the type of value that the slot contains. The value can be a single entry or a list-of entry. It can be one of the following types:

■ STRING■ REAL■ POINTER■ INTEGER■ EnumTypeName

slot_rep_type slot representation type that indicate what the slot type represents. Possible values include date and class. If the slot representation type is not specified, it is represented by an asterisk (*).

Appendix A BMC Impact Integration Web Services Data Types 99

Page 100: Impact Integration Web Services Server Developer Guide

Custom complex types in the WSDL

ArrayOf_SlotDefInfo

The data definition of the complex type ArrayOf_SlotDefInfo is shown below.

CStatus

The data definition of the complex type CStatus is shown below.

GetEventsResponse

The data definition of the complex type GetEventsResponse is shown below.

slot_flags a Boolean indicator that indicates whether the slot has certain attributes. An uppercase character means that the attribute is true and does apply to the slot. A lower case character means that it is false and does not apply to the slot. The values are

■ r|R = read-only■ k|K = key■ p|P = parse■ d|D = dup_detect■ h|H = hidden

slot_def_value the default value, if any, assigned to the selected slot

<xsd:complexType name=”ArrayOf_SlotDefInfo”><xsd:sequence><xsd:element maxOccurs=”unbounded”minOccurs=”0”name=”SMComponent_element”type=”tns:SlotDefInfo”/></xsd:sequence></xsd:complexType>

<xsd:complexType name=”CStatus”><xsd:sequence><xsd:element name=”cmpStatus” type=”xsd:string”/><xsd:element name=”impStatus” type=”xsd:string”/><xsd:element name=”manStatus” type=”xsd:string”/><xsd:element name=”subStatus” type=”xsd:string”/></xsd:sequence></xsd:complexType>

<xsd:complexType name=”GetEventsResponse”><xsd:sequence>

Element Description

100 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 101: Impact Integration Web Services Server Developer Guide

Custom complex types in the WSDL

GetQueryResultResponse

The data definition of the complex type GetQueryResultResponse is shown below.

StateChangeType

The data definition of the complex type StateChangeType is shown below.

execution_fault

The data definition of the complex type execution_fault is shown below.

Execution_fault carries a string message that describes the operation executing errors. The execution_fault is generated by the BMC II Web Services server and thrown to the client through the web service infrastructure.

<xsd:element name=”response” type=”event:ArrayOf_Event”/><xsd:element name=”num_of_events” type=”xsd:int”/></xsd:sequence></xsd:complexType>

<xsd:complexType name=”GetQueryResultResponse”><xsd:sequence><xsd:element name=”response” type=”event:ArrayOf_Event”/><xsd:element name=”num_of_events” type=”xsd:int”/></xsd:sequence></xsd:complexType>

<xsd:complexType name=”StateChangeType”><xsd:sequence><xsd:element name=”bCompChange” type=”xsd:boolean”/><xsd:element name=”bCompDelete” type=”xsd:boolean”/><xsd:element name=”bRelChange” type=”xsd:boolean”/><xsd:element name=”bRelDelete” type=”xsd:boolean”/><xsd:element name=”bAll” type=”xsd:boolean”/></xsd:sequence></xsd:complexType>

<xsd:element name="execution_fault"><xsd:complexType><xsd:sequence><xsd:element name="IMFailure" nillable="true" type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element>

Appendix A BMC Impact Integration Web Services Data Types 101

Page 102: Impact Integration Web Services Server Developer Guide

Mapping: XSD data types to programming language data types

Mapping: XSD data types to programming language data types

The XSD data types have their equivalent data types in other programming languages, such as C++, Java™, and .NET. Your web services toolkit determines the default mappings of the XSD data types with those of the specific programming language.

For example, the Systinet WASP toolkit for C++ contains default mappings of XSD data types with C++ data types. You can find the runtime mapping information in the serialization.xml file and the mappings for the compiler in the wsdlc.xml. Refer to the Mappings topics in the Systinet documentation for more information.

102 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 103: Impact Integration Web Services Server Developer Guide

A p p e n d i x B

B BMC Impact Integration Web Services API operations

This Appendix describes the set of API operations currently defined by the Impact Manager port type. The following topics are described:

PortType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

AckEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Disconnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107EndQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108GetCellInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109GetEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110GetFilterNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112GetQueryResultCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113QueryClassDefinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115QueryComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117QueryComponentEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118QueryComponentStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120QueryComponentsByCondition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122QueryComponentsByStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124QueryData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126QueryEventByID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128QueryEvents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129QueryEventsByDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131QueryModelImpact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133QueryModelPossibleRootCauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135RegisterStateChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137RetrieveQueryResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139SendEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141SetMaintenanceMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142SetManualStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145UnregisterStateChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Unsubscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Appendix B BMC Impact Integration Web Services API operations 103

Page 104: Impact Integration Web Services Server Developer Guide

PortType

PortTypeThe port type Impact Manager groups the operations and the underlying messages of the BMC Impact Integration Web Services.

OperationsThe Impact Integration Web Service communicates via request/response exchanges. Accordingly, each operation contains an input element followed by an output element.

AckEvents

After a GetEvents call, the polling client is responsible for calling AckEvents to notify the BMC II Web Services server that it has received the events. The server removes the forwarded events from its local cache. The AckEvents call is required for both reliable and non-reliable subscriptions.

WSDL for AckEvents operation

WSDL messages for AckEvents

WARNING The value of the num_of_events input parameter must equal the number of events received from the GetEvents call. If not, lost events or duplicate events could have occurred.

<wsdl:operation name="AckEvents" parameterOrder="inargs"><wsdl:input message="tns:AckEvents_Request"/><wsdl:output message="tns:AckEvents_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="AckEvents_Request"> <wsdl:part element="elems:AckEvents" name="inargs"/> </wsdl:message> <wsdl:message name="AckEvents_Response"> <wsdl:part element="elems:NoValue_output" name="outargs"/> </wsdl:message>

104 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 105: Impact Integration Web Services Server Developer Guide

Connect

XSD schema for request and response for AckEvents

Parameters for AckEvents

Connect

The Connect operation allows the BMC II Web Services to connect with specific instances in the BMC Impact Manager network. The Connect operation is required when you want to send events to specific instances.

WSDL for Connect operation

<xsd:element name="AckEvents"><xsd:complexType><xsd:sequence><xsd:element name="filterName" nillable="true" type="xsd:string" /><xsd:element name="context_nio" nillable="true" type="xsd:string" /><xsd:element name="num_of_events" type="xsd:int" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

filterName In tns:filterName string type that identifies the name of the event filter that the client has selected. The client is requesting to subscribe to the events that match the criteria specified by the event filter.

context In tns:context string type that identifies the name of the Web Service client that is making the request

num_of_events In tns:num_of_events As the input argument, this is the integer that specifies the number of events the client seeks to receive per polling call.

NOTE The query operations use their own connection protocol, which is distinct from the Connect operation.

<wsdl:operation name="Connect" parameterOrder="inargs"> <wsdl:input message="tns:Connect_Request"/> <wsdl:output message="tns:Connect_Response"/> <wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/> </wsdl:operation>

Appendix B BMC Impact Integration Web Services API operations 105

Page 106: Impact Integration Web Services Server Developer Guide

Connect

WSDL message for Connect

XSD schema for request and response for Connect

Parameters for Connect

<wsdl:message name="Connect_Request"> <wsdl:part element="elems:Connect" name="inargs"/> </wsdl:message> <wsdl:message name="Connect_Response"> <wsdl:part element="elems:Connect_output" name="outargs"/> </wsdl:message>

<xsd:element name="Connect"><xsd:complexType><xsd:sequence><xsd:element name="userName" nillable="true" type="xsd:string"/><xsd:element name="password" nillable="true" type="xsd:string"/><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="bufferType" nillable="true" type="types:IMBufferType" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="Connect_output"><xsd:complexType><xsd:sequence><xsd:element name="connectionId" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

userName In tns:userName string type that specifies the user name defined for the instance

password In tns:password not currently used

imname In tns:imname string type that identifies the name of the BMC Impact Manager instance

bufferType In tns:bufferType a string type that indicates one of four values:

■ BMCII_BUFFER_MODE_DEFAULT■ BMCII_BUFFER_MODE_NONE■ BMCII_BUFFER_MODE_LOW■ BMCII_BUFFER_MODE_HIGH

See “IMBufferType” on page 87 for a description of the buffer types.

connectionId Out tnc:connectionId long integer that specifies the connection handle

106 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 107: Impact Integration Web Services Server Developer Guide

Disconnect

Disconnect

The Disconnect operation sends a request to the BMC II Web Services server, seeking to gracefully disconnect from the connected instance or instances.

WSDL for Disconnect operation

WSDL messages for Disconnect

XSD schema for request and response for Disconnect

Parameters for Disconnect

<wsdl:operation name="Disconnect" parameterOrder="inargs"><wsdl:input message="tns:Disconnect_Request"/><wsdl:output message="tns:Disconnect_Response"/> <wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="Disconnect_Request"> <wsdl:part element="elems:Disconnect" name="inargs"/> </wsdl:message><wsdl:message name="Disconnect_Response"> <wsdl:part element="elems:NoValue_output" name="outargs"/> </wsdl:message>

<xsd:element name="Disconnect"><xsd:complexType><xsd:sequence><xsd:element name="connection" type="xsd:long" /><xsd:element name="deleteBuffer" type="xsd:boolean" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

connection In tns:connection long integer that specifies the connection handle ID of the initiating connection

deleteBuffer In tns:deleteBuffer a boolean indicator that, when set to true, removes a persistent buffer as a result of the disconnect operation

Appendix B BMC Impact Integration Web Services API operations 107

Page 108: Impact Integration Web Services Server Developer Guide

EndQuery

EndQuery

The EndQuery operation terminates the query cycle. The EndQuery operation is invoked by the client after it has obtained the query results through the RetrieveQueryResults. In the EndQuery operation, the client sends the ID associated with the query cycle back to the BMC II Web Services server, notifying the server that the query has terminated.

WSDL for EndQuery operation

WSDL messages for EndQuery

XSD schema for request and response for EndQuery

WARNING You must invoke the EndQuery operation to terminate the query cycle. Otherwise, the query ID (resultHandle) is not cleaned up in the BMC II Web Services server, and the connection with the specified cell is not closed.

<wsdl:operation name="EndQuery" parameterOrder="inargs"><wsdl:input message="tns:EndQuery_Request"/><wsdl:output message="tns:EndQuery_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="EndQuery_Request"><wsdl:part element="elems:EndQuery" name="inargs"/></wsdl:message><wsdl:message name="EndQuery_Response"><wsdl:part element="elems:NoValue_output" name="outargs"/></wsdl:message>

<xsd:element name="EndQuery"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element>

108 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 109: Impact Integration Web Services Server Developer Guide

GetCellInfo

Parameters for EndQuery

GetCellInfo

The GetCellInfo operation enables the Web Service client to identify and obtain information about the BMC Impact Manager instances that are connected to the BMC II Web Services server. You do not have to be connected (Connect) to a BMC Impact Manager instance before you invoke this operation.

WSDL for GetCellInfo operation

WSDL messages for GetCellInfo

Name Direction Element Name Description

resultHandle In tns:resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

<wsdl:operation name="GetCellInfo" parameterOrder="inargs"><wsdl:input message="tns:GetCellInfo_Request"/><wsdl:output message="tns:GetCellInfo_Response"/> <wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="GetCellInfo_Request"> <wsdl:part element="elems:GetCellInfo" name="inargs"/></wsdl:message><wsdl:message name="GetCellInfo_Response"> <wsdl:part element="elems:GetCellInfo_output" name="outargs"/></wsdl:message>

Appendix B BMC Impact Integration Web Services API operations 109

Page 110: Impact Integration Web Services Server Developer Guide

GetEvents

XSD schema for request and response for GetCellInfo

Parameter for GetCellInfo

GetEvents

The GetEvents operation is a polling call that the client initiates to receive a specified number of a certain event type from the BMC Impact Manager network. You do not have to be connected (Connect) to an instance to get events, but you do have to invoke a subscription request (Subscribe).

WSDL for GetEvents operation

<xsd:element name="GetCellInfo"><xsd:complexType><xsd:sequence /></xsd:complexType></xsd:element>

<xsd:element name="GetCellInfo_output"><xsd:complexType><xsd:sequence><xsd:element name="CellInfo_Array" type="types:ArrayOf_CellInfo" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

cells Out tns:CellInfo_Array string and unsigned integer elements that specify the

■ instance or integration name■ host name of the system where the instance or

integration is installed■ port number■ encryption key■ type of instance or integration

<wsdl:operation name="GetEvents" parameterOrder="inargs"><wsdl:input message="tns:GetEvents_Request"/><wsdl:output message="tns:GetEvents_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

110 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 111: Impact Integration Web Services Server Developer Guide

GetEvents

WSDL messages for GetEvents

XSD schema for request and response for GetEvents

Parameters for GetEvents

<wsdl:message name="GetEvents_Request"> <wsdl:part element="elems:GetEvents" name="inargs"/></wsdl:message>

<wsdl:message name="GetEvents_Response"> <wsdl:part element="elems:GetEvents_output" name="outargs"/></wsdl:message>

<xsd:element name="GetEvents"><xsd:complexType><xsd:sequence><xsd:element name="filterName" nillable="true" type="xsd:string" /><xsd:element name="context_nio" nillable="true" type="xsd:string" /><xsd:element name="num_of_events" type="xsd:int" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="GetEvents_output"><xsd:complexType><xsd:sequence><xsd:element name="getEventsResponse" nillable="true" type="types:GetEventsResponse" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

filterName In tns:filterName string type that identifies the name of the event selector that the client has chosen. The client is requesting to subscribe to and get the events that match the criteria specified by the filterName. The value of the filterName should match the filterName value specified in the preceding Subscribe operation.

context In tns:context string type that identifies the name of the Web Service client that is making the request

Appendix B BMC Impact Integration Web Services API operations 111

Page 112: Impact Integration Web Services Server Developer Guide

GetFilterNames

GetFilterNames

The GetFilterNames operation enables the Web Service client to discover the range of selector names that it can subscribe to. The BMC II Web Services server returns a list of selectors that are currently defined in its selector file. You do not have to invoke the Connect operation to invoke the GetFilterNames operation.

WSDL for GetFilterNames operation

WSDL messages for GetFilterNames

num_of_events In/Out tns:num_of_events As the input argument, this is the integer that specifies the number of events the client seeks to receive per polling call. As the output argument, it indicates the number of events that the server is able to return.

response Out event:EventArray_element

complex type that specifies the name of one or more events that are being returned in response to the Web Service client’s polling call

<wsdl:operation name="GetFilterNames" parameterOrder="inargs"><wsdl:input message="tns:GetFilterNames_Request"/><wsdl:output message="tns:GetFilterNames_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="GetFilterNames_Request"> <wsdl:part element="elems:GetFilterNames" name="inargs"/></wsdl:message><wsdl:message name="GetFilterNames_Response"> <wsdl:part element="elems:GetFilterNames_output" name="outargs"/></wsdl:message>

Name Direction Element Name Description

112 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 113: Impact Integration Web Services Server Developer Guide

GetQueryResultCount

XSD schema for request and response for GetFilterNames

Parameter for GetFilterNames

GetQueryResultCount

The GetQueryResultCount operation tallies the total number of events or data objects that the BMC II Web Services server has retrieved in response to the query. In this operation, the client sends the query ID and a timeout duration to the BMC II Web Services server. The server responds with the total count of events or data objects that are available to the query.

WSDL for GetQueryResultCount operation

<xsd:element name="GetFilterNames"><xsd:complexType><xsd:sequence /></xsd:complexType></xsd:element><xsd:element name="GetFilterNames_output"><xsd:complexType><xsd:sequence><xsd:element name="StringArray" type="btypes:ArrayOf_String" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

filterNames Out btypes:StringArray string type that identifies one or more selector names currently available to the BMC II Web Services server and to which the client can subscribe to

<wsdl:operation name="GetQueryResultCount" parameterOrder="inargs"><wsdl:input message="tns:GetQueryResultCount_Request"/><wsdl:output message="tns:GetQueryResultCount_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

Appendix B BMC Impact Integration Web Services API operations 113

Page 114: Impact Integration Web Services Server Developer Guide

GetQueryResultCount

WSDL messages for GetQueryResultCount

XSD schema for request and response for GetQueryResultCount

Parameters for GetQueryResultCount

<wsdl:message name="GetQueryResultCount_Request"> <wsdl:part element="elems:GetQueryResultCount" name="inargs"/></wsdl:message><wsdl:message name="GetQueryResultCount_Response"> <wsdl:part element="elems:GetQueryResultCount_output" name="outargs"/></wsdl:message>

<xsd:element name="GetQueryResultCount"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string" /><xsd:element name="timeout" type="xsd:int" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="GetQueryResultCount_output"><xsd:complexType><xsd:sequence><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

resultHandle In tns:resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

timeout In tns:timeout integer that defines the duration for which the client waits for a response to its query from the BMC II Web Services server. If no response to the query is received, then this query request is terminated.

resultCount Out tns:long_Response string type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

114 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 115: Impact Integration Web Services Server Developer Guide

QueryClassDefinitions

QueryClassDefinitions

The QueryClassDefinitions operation provides two different types of queries of a specified BMC IM instance.

One query option retrieves the class and slot definitions of a specific base class and its subclasses.

The second query option retrieves the class and slot definitions of a specified class.

In either case you must choose whether you are querying the event or data classes. And both queries return their data in the form of a flat array.

WSDL for QueryClassDefinitions operation

WSDL messages for QueryClassDefinitions

<wsdl:operation name="QueryClassDefinitions" parameterOrder="inargs"><wsdl:input message="tns:QueryClassDefinitions_Request"/><wsdl:output message="tns:QueryClassDefinitions_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryClassDefinitions_Request"> <wsdl:part element="elems:QueryClassDefinitions" name="inargs"/></wsdl:message><wsdl:message name="QueryClassDefinitions_Response"> <wsdl:part element="elems:QueryClassDefinitions_output" name="outargs"/></wsdl:message>

Appendix B BMC Impact Integration Web Services API operations 115

Page 116: Impact Integration Web Services Server Developer Guide

QueryClassDefinitions

XSD schema for request and response for QueryClassDefinitions

Parameters for QueryClassDefinitions

<xsd:element name="QueryClassDefinitions"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="queryMode" type="types:QueryMode" /><xsd:element name="baseClass" nillable="true" type="xsd:string" /><xsd:element name="className" nillable="true" type="xsd:string" /><xsd:element name="classOnly" type="xsd:boolean" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="QueryClassDefinitions_output"><xsd:complexType><xsd:sequence><xsd:element name="classDefs" type="types:ArrayOf_ClassDefInfo" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance (cell)

queryMode In tns:queryMode_element

numeric indicator that determines which set of class definitions and respective subclasses are being queried: BMCII_EVENT_CLASSES (0) or BMCII_DATA_CLASSES (1)

baseClass In tns:baseClass string that specifies the base class at which the query starts. If you specify NULL, the query returns the top class specified by the queryMode: CORE_DATA or CORE_EVENT

If you specify a className parameter value, you do not enter a baseClass parameter value.

className In tns:className string that specifies the class name for which you want to retrieve information

If you specify a className parameter, you do not enter a baseClass parameter value.

116 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 117: Impact Integration Web Services Server Developer Guide

QueryComponent

QueryComponent

The QueryComponent operation retrieves the component data attributes of a specified component object.

WSDL for QueryComponent operation

WSDL messages for QueryComponent

classOnly In tns:classOnly Boolean indicator (0, 1) that restricts the query to a specified class name or expands the query to include the base class and its subclasses

Enter 0 if you are querying a base class and its subclasses.

Enter 1 if you are querying a specified class only (the className parameter).

classDefs Out tns:ClassDefInfo_array

an array of class definitions

<wsdl:operation name="QueryComponent" parameterOrder="inargs"><wsdl:input message="tns:QueryComponent_Request"/><wsdl:output message="tns:QueryComponent_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryComponent_Request"> <wsdl:part element="elems:QueryComponent" name="inargs"/></wsdl:message><wsdl:message name="QueryComponent_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

Name Direction Element Name Description

Appendix B BMC Impact Integration Web Services API operations 117

Page 118: Impact Integration Web Services Server Developer Guide

QueryComponentEvents

XSD schema for request and response for QueryComponent

Parameters for QueryComponent

QueryComponentEvents

The QueryComponentEvents operation sends a request to retrieve direct and impact events associated with a specific component. You have the option of retrieving only impact events.

<xsd:element name="QueryComponent"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="componentId" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance

componentId In tns:componentId string type that contains the universal data ID (mc_udid) of the component object

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

118 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 119: Impact Integration Web Services Server Developer Guide

QueryComponentEvents

WSDL for QueryComponentEvents operation

WSDL messages for QueryComponentEvents

XSD schema for request and response for QueryComponentEvents

<wsdl:operation name="QueryComponentEvents" parameterOrder="inargs"><wsdl:input message="tns:QueryComponentEvents_Request"/><wsdl:output message="tns:QueryComponentEvents_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryComponentEvents_Request"> <wsdl:part element="elems:QueryComponentEvents" name="inargs"/></wsdl:message><wsdl:message name="QueryComponentEvents_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

<xsd:element name="QueryComponentEvents"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="componentId" nillable="true" type="xsd:string" /><xsd:element name="slotsList" nillable="true" type="xsd:string" /><xsd:element name="onlyImpacted" type="xsd:boolean" /></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Appendix B BMC Impact Integration Web Services API operations 119

Page 120: Impact Integration Web Services Server Developer Guide

QueryComponentStatus

Parameters for QueryComponentEvents

QueryComponentStatus

The QueryComponentStatus operation retrieves a component’s status, as defined by its computed component status: status, self_status, computed_status, impact_status, and manual_status. It returns the following default slot values:

■ mc_udid■ status■ self_status■ computed_status■ impact_status■ manual_status

WSDL for QueryComponentStatus operation

Name Direction Element Name Description

imname In tns:imname string type that identifies the name of the BMC Impact Manager instance

componentId In tns:componentId string type that contains the universal data ID (mc_udid) of the component object

onlyImpacted In tns:onlyImpacted Boolean indicator (true/false) that indicates whether you want to retrieve only impact events, events that affect the mode of the component, and not direct events that originate from the component

slotsList In tns:slotsList string description that specifies the slot name or names, the values for which the query returns. The slot names in the string are separated by commas, as in ','.

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

<wsdl:operation name="QueryComponentStatus" parameterOrder="inargs"><wsdl:input message="tns:QueryComponentStatus_Request"/><wsdl:output message="tns:QueryComponentStatus_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

120 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 121: Impact Integration Web Services Server Developer Guide

QueryComponentStatus

WSDL messages for QueryComponentStatus

XSD schema for request and response for QueryComponentStatus

Parameters for QueryComponentStatus

<wsdl:message name="QueryComponentStatus_Request"> <wsdl:part element="elems:QueryComponentStatus" name="inargs"/></wsdl:message><wsdl:message name="QueryComponentStatus_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

<xsd:element name="QueryComponentStatus"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="componentId" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance

componentStatusId In tns:componentStatusId string type that contains the universal data ID (mc_udid) of the component object, the status of which you are requesting

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

Appendix B BMC Impact Integration Web Services API operations 121

Page 122: Impact Integration Web Services Server Developer Guide

QueryComponentsByCondition

QueryComponentsByCondition

The QueryComponentsByCondition operation retrieves an array of service model components that match the special Master Rule Language (MRL) conditions. These conditions follow the syntax and conventions of the MRL where-clause selection criteria. The criteria are a logical combination of expressions that define the slots associated with the component.

This query can span multiple cells to retrieve the specified service model components.

WSDL for QueryComponentsByCondition operation

WSDL message for QueryComponentsByCondition

<wsdl:operation name="QueryComponentsByCondition" parameterOrder="inargs"><wsdl:input message="tns:QueryComponentsByCondition_Request"/><wsdl:output message="tns:QueryComponentsByCondition_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryComponentsByCondition_Request"> <wsdl:part element="elems:QueryComponentsByCondition" name="inargs"/></wsdl:message><wsdl:message name="QueryComponentsByCondition_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

122 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 123: Impact Integration Web Services Server Developer Guide

QueryComponentsByCondition

XSD schema for request and response for QueryComponentsByCondition

Parameters for QueryComponentsByCondition

<xsd:element name="QueryComponentsByCondition"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="condition" nillable="true" type="xsd:string" /><xsd:element name="slotsList" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance

condition In tns:condition string type value that specifies the selection criteria in a where clause following Master Rule Language syntax and convention

Note: MRL syntax is case sensitive. Refer to the BMC Impact Manager Knowledge Base Reference Guide for guidelines on using MRL.

slotsList In tns:slotsList string description that specifies the slot name or names, the values for which the query returns. The slot names in the string are separated by commas, as in ','.

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

Appendix B BMC Impact Integration Web Services API operations 123

Page 124: Impact Integration Web Services Server Developer Guide

QueryComponentsByStatus

QueryComponentsByStatus

The QueryComponentsByStatus operation queries for service components that

■ have MC_SM_COMPONENT_STATUS values which match, are less than or equal to, or are greater than or equal to the specified status parameters; and

■ belong to the specified base class or subclass

This query can span multiple cells to retrieve the specified service model components.

WSDL for QueryComponentsByStatus operation

WSDL message for QueryComponentsByStatus

<wsdl:operation name="QueryComponentsByStatus" parameterOrder="inargs"><wsdl:input message="tns:QueryComponentsByStatus_Request"/><wsdl:output message="tns:QueryComponentsByStatus_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryComponentsByStatus_Request"> <wsdl:part element="elems:QueryComponentsByStatus" name="inargs"/></wsdl:message><wsdl:message name="QueryComponentsByStatus_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

124 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 125: Impact Integration Web Services Server Developer Guide

QueryComponentsByStatus

XSD schema for request and response for QueryComponentsByStatus

Parameters for QueryComponentsByStatus

<xsd:element name="QueryComponentsByStatus"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="lStatus" nillable="true" type="xsd:string" /><xsd:element name="hStatus" nillable="true" type="xsd:string" /><xsd:element name="baseClass" nillable="true" type="xsd:string" /><xsd:element name="getSubclasses" type="xsd:boolean" /><xsd:element name="slotsList" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imname string type that identifies the name of the BMC Impact Manager instance

lStatus In tns:cStatusLow string type value that indicates the lowest MC_SM_COMPONENT_STATUS value to be selected

If you enter only a value for the lStatus, the call selects statuses that are equal to or greater than the lowest status.

Appendix B BMC Impact Integration Web Services API operations 125

Page 126: Impact Integration Web Services Server Developer Guide

QueryData

QueryData

The QueryData operation is a flexible query operation that the Web Service client uses to define its own query to retrieve data. In this operation, the client connects with a specific BMC Impact Manager instance and starts a query for data. The BMC II Web Services server returns an ID that is used to identify all related queries in the query cycle.

hStatus In tns:cStatusHigh string type value that indicates the highest MC_SM_COMPONENT_STATUS value to be selected

If you enter only a value for the highest status, the call selects statuses that are equal to or less than the indicated highest value.

If you specify a range by entering values for both the lowest status and the highest status, then the call selects status values that are equal to or greater than the lowest status and equal to or less than the highest status.

For example, if you specify that the lowest status is equal to UNKNOWN and highest status is equal to MINOR, then the call selects components with statuses UNKNOWN, OK, INFO, WARNING, and MINOR.

baseClass In tns:baseClass string type that indicates the base class to be selected. Its default is BMC_AssetBase.

getSubClasses In tns:getSubClasses a Boolean indicator that, when set equal to true, selects subclasses of the designated base class. If bSubclasses is set equal to false, then the selection is restricted to the base class

slotsList In tns:slotsList string description that specifies the slot name or names, the values for which the query returns. The slot names in the string are separated by commas, as in ','.

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

Name Direction Element Name Description

126 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 127: Impact Integration Web Services Server Developer Guide

QueryData

The client can construct its own query contents to retrieve and manipulate data such as delete, modify data, and so on. The contents of the query input element have to be a valid Impact Manager cell communication command for data manipulation.

WSDL for QueryData operation

WSDL message for QueryData

XSD schema for request and response for QueryData

NOTE The syntax of the communication command is not within the scope of this guide. However, BMC II Web Services provides examples in client samples to demonstrate use cases. The integration developer needs to be familiar with cell communication commands to construct the query.

<wsdl:operation name="QueryData" parameterOrder="inargs"><wsdl:input message="tns:QueryData_Request"/><wsdl:output message="tns:QueryData_Response"/> <wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryData_Request"> <wsdl:part element="elems:QueryData" name="inargs"/></wsdl:message><wsdl:message name="QueryData_Response"><wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

<xsd:element name="QueryData"><xsd:complexType><xsd:sequence><xsd:element name="query" nillable="true" type="xsd:string" /><xsd:element name="imname" nillable="true" type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Appendix B BMC Impact Integration Web Services API operations 127

Page 128: Impact Integration Web Services Server Developer Guide

QueryEventByID

Parameters for QueryData

QueryEventByID

The QueryEventByID operation is one of the query operations that the Web Service client can request. In this operation, the client connects with a specific BMC Impact Manager instance and queries for a specific BMC Impact Manager event using its BMC Impact Manager universal event ID (mc_ueid). The BMC II Web Services server returns an ID that is used to identify all related queries in the query cycle.

WSDL for QueryEventByID

WSDL messages for QueryEventByID

Name Direction Element Name Description

query In tns:query string type that initiates a connection with a specified BMC Impact Manager instance and launches a query for event or data objects

imname In tns:imname string type that identifies the name of the BMC Impact Manager instance

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

<wsdl:operation name="QueryEventByID" parameterOrder="inargs"><wsdl:input message="tns:QueryEventByID_Request"/><wsdl:output message="tns:QueryEventByID_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryEventByID_Request"> <wsdl:part element="elems:QueryEventByID" name="inargs"/></wsdl:message><wsdl:message name="QueryEventByID_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

128 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 129: Impact Integration Web Services Server Developer Guide

QueryEvents

XSD schema for request and response for QueryEventByID

Parameters for QueryEventByID

QueryEvents

The QueryEvents operation is a flexible query operation that the Web Service client can use to define its own query to retrieve events. In this operation, the client connects with a specific BMC Impact Manager instance and starts a query for events. The BMC II Web Services server returns an ID that is used to identify all related

<xsd:element name="QueryEventByID"><xsd:complexType><xsd:sequence><xsd:element name="eventId" nillable="true" type="xsd:string" /><xsd:element name="imname" nillable="true" type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

eventID In tns:messageID string type that specifies the universal event ID (mc_ueid) of the event that is being queried

imname In tns:imname string type that identifies the name of the BMC Impact Manager instance

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

Appendix B BMC Impact Integration Web Services API operations 129

Page 130: Impact Integration Web Services Server Developer Guide

QueryEvents

queries in the query cycle. The client can construct its own query contents to retrieve and manipulate events, such as delete, modify events, and so on. The contents of the query input element have to be a valid Impact Manager (cell) communication command for event manipulation.

WSDL for QueryEvents operation

WSDL messages for QueryEvents

XSD schema for request and response for QueryEvents

NOTE The syntax of the communication command is not within the scope of this guide. However, BMC II Web Services provides examples in client samples to demonstrate use cases. The integration developer needs to be familiar with cell communication commands to construct the query.

<wsdl:operation name="QueryEvents" parameterOrder="inargs"><wsdl:input message="tns:QueryEvents_Request"/><wsdl:output message="tns:QueryEvents_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryEvents_Request"> <wsdl:part element="elems:QueryEvents" name="inargs"/></wsdl:message><wsdl:message name="QueryEvents_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

<xsd:element name="QueryEvents"><xsd:complexType><xsd:sequence><xsd:element name="query" nillable="true" type="xsd:string" /><xsd:element name="imname" nillable="true" type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

130 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 131: Impact Integration Web Services Server Developer Guide

QueryEventsByDate

Parameters for QueryEvents

QueryEventsByDate

The QueryEventsByDate operation is one of the query operations that the Web Service client can request. In this operation, the client connects with a specific BMC Impact Manager instance and queries for events that are grouped within a specific message class and that have occurred within a specific date range. The BMC II Web Services server returns an ID that is used to identify all related queries in the query cycle.

WSDL for QueryEventsByDate operation

WSDL message for QueryEventsByDate

Name Direction Element Name Description

query In tns:query string type that initiates a connection with a specified BMC Impact Manager instance and launches a query for event or data objects

imname In tns:imname string type that identifies the name of the BMC Impact Manager instance

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

<wsdl:operation name="QueryEventsByDate" parameterOrder="inargs"><wsdl:input message="tns:QueryEventsByDate_Request"/><wsdl:output message="tns:QueryEventsByDate_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryEventsByDate_Request"> <wsdl:part element="elems:QueryEventsByDate" name="inargs"/></wsdl:message><wsdl:message name="QueryEventsByDate_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

Appendix B BMC Impact Integration Web Services API operations 131

Page 132: Impact Integration Web Services Server Developer Guide

QueryEventsByDate

XSD schema for request and response for QueryEventsByDate

Parameters for QueryEventsByDate

<xsd:element name="QueryEventsByDate"><xsd:complexType><xsd:sequence><xsd:element name="startDate" nillable="true" type="xsd:dateTime" /><xsd:element name="endDate" nillable="true" type="xsd:dateTime" /><xsd:element name="classNames" nillable="true" type="xsd:string" /><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="slotsList" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

startDate In tns:startDate dateTime type that defines a specific date and time, usually in GMT. It defines the starting point in a date range.

endDate In tns:endDate dateTime type that defines a specific date and time, usually in GMT. It defines the ending point in a date range.

classNames In tns:classNames string type that refers to a specific message class which defines a group of related events

imname In tns:imname string type that identifies the name of the BMC Impact Manager instance

slotsList In tns:slotsList string description that specifies the slot name or names, the values for which the query returns. The slot names in the string are separated by commas, as in ','.

resultHandle Out resultHandle string type that specifies an ID used to identify and track a specific client query

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

132 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 133: Impact Integration Web Services Server Developer Guide

QueryModelImpact

QueryModelImpact

The QueryModelImpact operation retrieves possible consumer components of the specified component. Consumer components are the components that can receive the impacts of the specified component. It returns values (if available) for the following default slots:

■ mc_udid ■ status ■ CLASS ■ HomeCell

■ shadow_cells

This query can span multiple cells to retrieve the specified service model components.

WSDL for QueryModelImpact operation

WSDL messages for QueryModelImpact

<wsdl:operation name="QueryModelImpact" parameterOrder="inargs"><wsdl:input message="tns:QueryModelImpact_Request"/><wsdl:output message="tns:QueryModelImpact_Response"/> <wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryModelImpact_Request"> <wsdl:part element="elems:QueryModelImpact" name="inargs"/></wsdl:message><wsdl:message name="QueryModelImpact_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

Appendix B BMC Impact Integration Web Services API operations 133

Page 134: Impact Integration Web Services Server Developer Guide

QueryModelImpact

XSD schema for request and response for QueryModelImpact

Parameters for QueryModelImpact

<xsd:element name="QueryModelImpact"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="componentId" nillable="true" type="xsd:string" /><xsd:element name="slotsList" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance

componentId In tns:componentId string type that contains the universal data ID (mc_udid) of the component object

slotsList In tns:slotsList string description that specifies the slot name or names, the values for which the query returns. The slot names in the string are separated by commas, as in ','.

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

134 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 135: Impact Integration Web Services Server Developer Guide

QueryModelPossibleRootCauses

QueryModelPossibleRootCauses

The QueryModelPossibleRootCauses operation uses a Boolean TrueCause input parameter to retrieve a component or components that have either an immediate, direct relationship with the specified component or that have statuses which were propagated to the component.

It returns values (if available) for the following default slots:

■ mc_udid ■ status ■ CLASS ■ HomeCell

■ shadow_cells

This query can span multiple cells to retrieve the specified service model components.

WSDL for QueryModelPossibleRootCauses operation

WSDL messages for QueryModelPossibleRootCauses

<wsdl:operation name="QueryModelPossibleRootCauses" parameterOrder="inargs"><wsdl:input message="tns:QueryModelPossibleRootCauses_Request"/><wsdl:output message="tns:QueryModelPossibleRootCauses_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="QueryModelPossibleRootCauses_Request"> <wsdl:part element="elems:QueryModelPossibleRootCauses" name="inargs"/></wsdl:message><wsdl:message name="QueryModelPossibleRootCauses_Response"> <wsdl:part element="elems:QueryResultHandle_output" name="outargs"/></wsdl:message>

Appendix B BMC Impact Integration Web Services API operations 135

Page 136: Impact Integration Web Services Server Developer Guide

QueryModelPossibleRootCauses

XSD schema for request and response for QueryModelPossibleRootCauses

Parameters for QueryModelPossibleRootCauses

<xsd:element name="QueryModelPossibleRootCauses"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="componentId" nillable="true" type="xsd:string" /><xsd:element name="slotsList" nillable="true" type="xsd:string" /><xsd:element name="trueCause" type="xsd:boolean" /></xsd:sequence></xsd:complexType></xsd:element>

<xsd:element name="QueryResultHandle_output"><xsd:complexType><xsd:sequence><xsd:element name="resultHandle" nillable="true" type="xsd:string"/><xsd:element name="resultCount" type="xsd:long" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance

componentId In tns:componentCauseId

string type that contains the universal data ID (mc_udid) of the component object

slotsList In tns:slotsList string description that specifies the slot name or names, the values for which the query returns. The slot names in the string are separated by commas, as in ','.

136 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 137: Impact Integration Web Services Server Developer Guide

RegisterStateChange

RegisterStateChange

The RegisterStateChange operation registers your integration with a SIM cell, which enables you to receive state change events.

WSDL for RegisterStateChange operation

trueCause In tns:trueCause Boolean indicator that traverses the provider components of the specified component. If set equal to True, it returns:

Possible Related Problems: restricts the search to components with immediate, direct relationships to the specified component.

If set equal to False or left blank, it returns:

Causal Components: extends the search beyond the immediate, direct relationships to include components whose statuses were propagated to the specified component to cause the impact.

See also the BMC Impact Explorer GUI, specifically the Causes tab in the Service Component detail pane.

resultHandle Out resultHandle string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

resultCount Out resultCount xsd:long type that defines the total number of events or data objects that have been retrieved by the BMC II Web Services server in response to the client query

<wsdl:operation name="RegisterStateChange" parameterOrder="inargs"><wsdl:input message="tns:RegisterStateChange_Request"/><wsdl:output message="tns:RegisterStateChange_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

Name Direction Element Name Description

Appendix B BMC Impact Integration Web Services API operations 137

Page 138: Impact Integration Web Services Server Developer Guide

RegisterStateChange

WSDL message for RegisterStateChange

XSD schema for request and response for RegisterStateChange

Parameters for RegisterStateChange

<wsdl:message name="RegisterStateChange_Request"><wsdl:part element="elems:RegisterStateChange" name="inargs"/></wsdl:message><wsdl:message name="RegisterStateChange_Response"><wsdl:part element="elems:RegisterStateChange_output" name="outargs"/></wsdl:message>

<xsd:element name="RegisterStateChange"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="serverName" nillable="true" type="xsd:string" /><xsd:element name="changeType" type="types:StateChangeType" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="RegisterStateChange_output"><xsd:complexType><xsd:sequence><xsd:element name="registrationID" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance

serverName In tns:serverName string type that specifies the name of the BMC II Web Services server that will be receiving the state change events

138 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 139: Impact Integration Web Services Server Developer Guide

RetrieveQueryResults

RetrieveQueryResults

The RetrieveQueryResults operation retrieves some or all of the results that are returned for a query. The RetrieveQueryResults operation returns two parameters in its response message.

WSDL for RetrieveQueryResults operation

WSDL message for RetrieveQueryResults

changeType In tns:StateChangeType_element

indicates an array of possible state change event types. Valid values include

■ COMPONENT_CHANGE = 1■ COMPONENT_DELETE = 2■ RELATIONSHIP_CHANGE = 4■ RELATIONSHIP_DELETE = 8■ SC_ALL = 15

You can use the conditional AND operator && to combine two types: for example

RELATIONSHIP_CHANGE && RELATIONSHIP_DELETE

registrationID Out tns:regID integer that is assigned to this registration request

<wsdl:operation name="RetrieveQueryResults" parameterOrder="inargs"><wsdl:input message="tns:RetrieveQueryResults_Request"/><wsdl:output message="tns:RetrieveQueryResults_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="RetrieveQueryResults_Request"> <wsdl:part element="elems:RetrieveQueryResults" name="inargs"/></wsdl:message><wsdl:message name="RetrieveQueryResults_Response"> <wsdl:part element="elems:RetrieveQueryResults_output" name="outargs"/></wsdl:message>

Name Direction Element Name Description

Appendix B BMC Impact Integration Web Services API operations 139

Page 140: Impact Integration Web Services Server Developer Guide

RetrieveQueryResults

XSD schema for request and response for RetrieveQueryResults

Parameters for RetrieveQueryResults

<xsd:element name="RetrieveQueryResults"><xsd:complexType><xsd:sequence><xsd:element name="retrieveResultHandle" nillable="true" type="xsd:string" /><xsd:element name="startIndex" type="xsd:long" /><xsd:element name="timeout" type="xsd:int" /><xsd:element name="num_of_events" type="xsd:int" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="RetrieveQueryResults_output"><xsd:complexType><xsd:sequence><xsd:element name="results" type="btypes:TableOf_NameValue" /><xsd:element name="num_of_events" type="xsd:int" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

retrieveResultHandle

In tns:retrieveResultHandle

string type that contains the ID returned by the server’s response to the initial query request. This ID is attached to all query requests in this cycle.

startIndex In tns:startIndex integer that identifies the starting point from which the number of query results are returned

timeout In tns:timeout integer that defines the duration for which the client waits for a response to its query from the BMC II Web Services server. If no response to the query is received, then this query request is terminated

num_of_results In/Out tns:num_of_results As the input argument, this is the integer that specifies the number of results the client seeks to receive per polling call. As the output argument, it indicates the number of results that the server is able to return.

results Out bypes:NameValueTable_element

the query results that the server is able to return

140 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 141: Impact Integration Web Services Server Developer Guide

SendEvent

SendEvent

The SendEvent operation sends a message containing an event to the connected BMC Impact Manager instance. Along with the message, the SendEvent operation forwards the originating connection handle ID, and the timeout duration specifying the time between connection attempts. You must invoke the Connect operation before you can invoke the SendEvent operation.

WSDL for SendEvent operation

WSDL message for SendEvent

XSD schema for request and response for SendEvent

NOTE To stop sending events, you can stop issuing the SendEvent operation. You do not have to disconnect (Disconnect) from the BMC Impact Manager instance(s).

<wsdl:operation name="SendEvent" parameterOrder="inargs"><wsdl:input message="tns:SendEvent_Request"/><wsdl:output message="tns:SendEvent_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="SendEvent_Request"> <wsdl:part element="elems:SendEvent" name="inargs"/></wsdl:message><wsdl:message name="SendEvent_Response"> <wsdl:part element="elems:SendEvent_output" name="outargs"/></wsdl:message>

<element name="SendEvent_output"><complexType><sequence> <element name="response" nillable="true" type="xsd:string" /> </sequence> </complexType></element>

Appendix B BMC Impact Integration Web Services API operations 141

Page 142: Impact Integration Web Services Server Developer Guide

SetMaintenanceMode

Parameters for SendEvent

SetMaintenanceMode

The SetMaintenanceMode operation sends a request to place a specified component in maintenance mode.

Name Direction Element Name Description

connection In tns:connection a long integer representing a connection handle ID

message In tns:message an event or data type. This is a string value that extends the ArrayOf_NameValue type, which lists the name-value pairs available to the event description.

timeout In tns:timeout an integer type. It specifies the time that the send operation is to wait for a response from the instance before attempting to reconnect.

messageClass In tns:messageClass string that specifies the name of the class of the event or data. The value can be any valid class name.

messageType In tns:messageType type of message that the Web Service client can exchange with the Web Service and the BMC Impact Manager instance. The message contains the event or data object. The message type can be any of the following enumerated values:

■ MSG_TYPE_NONE■ MSG_TYPE_NEW_EVENT■ MSG_TYPE_MOD_EVENT■ MSG_TYPE_NEW_DATA■ MSG_TYPE_OVERWRITE_DATA■ MSG_TYPE_MOD_DATA

See “IMMessageType” on page 86 for a description of the value values.

response Out response literal or string message that the BMC II Web Services server sends as a reply to the request from the Web Service client. This element of type string is valid even when it carries no content.

142 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 143: Impact Integration Web Services Server Developer Guide

SetMaintenanceMode

WSDL for SetMaintenanceMode operation

WSDL messages for SetMaintenanceMode

XSD schema for request and response for SetMaintenanceMode

Parameters for SetMaintenanceMode

<wsdl:operation name="SetMaintenanceMode" parameterOrder="inargs"><wsdl:input message="tns:SetMaintenanceMode_Request"/><wsdl:output message="tns:SetMaintenanceMode_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="SetMaintenanceMode_Request"> <wsdl:part element="elems:SetMaintenanceMode" name="inargs"/></wsdl:message><wsdl:message name="SetMaintenanceMode_Response"> <wsdl:part element="elems:SetMaintenanceMode_output" name="outargs"/></wsdl:message>

<xsd:element name="SetMaintenanceMode"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="componentId" nillable="true" type="xsd:string" /><xsd:element name="setOrCleared" nillable="true" type="xsd:int" /><xsd:element name="modeToSet" nillable="true" type="xsd:string" /><xsd:element name="comment" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="SetMaintenanceMode_output"><xsd:complexType><xsd:sequence><xsd:element name="errorCode" nillable="true" type="xsd:int" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imname string type that identifies the name of the BMC Impact Manager instance

componentId In tns:componentId string type that contains the universal data ID (mc_udid) of the component object

Appendix B BMC Impact Integration Web Services API operations 143

Page 144: Impact Integration Web Services Server Developer Guide

SetManualStatus

SetManualStatus

The SetManualStatus operation sends a request to set a designated manual status on the specified component.

WSDL for SetManualStatus operation

WSDL message for SetManualStatus

setOrCleared In tns:setOrCleared Boolean indicator (true/false) that indicates whether the specified component is available to have its maintenance mode set

modeToSet In tns:modeToSet string description of the maintenance mode

comment In tns:comment string that describes the reason for setting or clearing the current maintenance mode

errorCode Out tns:errorCode integer that identifies a C API error code

<wsdl:operation name="SetManualStatus" parameterOrder="inargs"><wsdl:input message="tns:SetManualStatus_Request"/><wsdl:output message="tns:SetManualStatus_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="SetManualStatus_Request"> <wsdl:part element="elems:SetManualStatus" name="inargs"/></wsdl:message><wsdl:message name="SetManualStatus_Response"> <wsdl:part element="elems:SetManualStatus_output" name="outargs"/></wsdl:message>

Name Direction Element Name Description

144 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 145: Impact Integration Web Services Server Developer Guide

Subscribe

XSD schema for request and response for SetManualStatus

Parameters for SetManualStatus

Subscribe

Clients can call the Subscribe operation to guarantee event delivery. When sending the subscription request, the client needs to know whether you want a reliable subscription or an non-reliable subscription. The life span of a reliable subscription is started when the Subscribe() call succeeds and ends when the client calls Unsubscribe(). The life span of an unreliable subscription ends when the client calls Unsubscribe() or the BMC II Web Services server is terminated.

<xsd:element name="SetManualStatus"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="componentId" nillable="true" type="xsd:string" /><xsd:element name="statusSet" nillable="true" type="xsd:int" /><xsd:element name="componentStatus" nillable="true" type="xsd:string" /><xsd:element name="comment" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="SetManualStatus_output"><xsd:complexType><xsd:sequence><xsd:element name="errorCode" nillable="true" type="xsd:int" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance

componentId In tns:componentId string type that contains the universal data ID (mc_udid) of the component object

componentStatus

In tns:componentStatus string type that specifies the manually defined status of the component

comment In tns:comment string that describes the reason for setting or clearing the current maintenance mod

errorCode Out tns:errorCode integer that identifies a web services error

Appendix B BMC Impact Integration Web Services API operations 145

Page 146: Impact Integration Web Services Server Developer Guide

Subscribe

For a reliable subscription, when BMC II Web Services is terminated, the client subscribe information is saved to the persistent file. When BMC II Web Services starts again, the client can continue to get events from this reliable subscription. The EventReceiverManager.dat persistent file is located under the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/log directory.

The SubscriptionManager.dat file under the same directory stores the descriptions for an unreliable subscriptions.

WSDL for Subscribe operation

WSDL message for Subscribe

XSD schema for request and response for Subscribe

<wsdl:operation name="Subscribe" parameterOrder="inargs"><wsdl:input message="tns:Subscribe_Request"/><wsdl:output message="tns:Subscribe_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="Subscribe_Request"> <wsdl:part element="elems:Subscribe" name="inargs"/></wsdl:message><wsdl:message name="Subscribe_Response"> <wsdl:part element="elems:NoValue_output" name="outargs"/></wsdl:message>

<element name="Subscribe"> <complexType> <sequence> <element name="filterName" nillable="true" type="xsd:string" /> <element name="context" nillable="true" type="xsd:string" /> <element name="callbackURL" nillable="true" type="xsd:string" /> <element name="reliable" type="xsd:boolean" /> </sequence> </complexType></element>

146 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 147: Impact Integration Web Services Server Developer Guide

UnregisterStateChange

Parameters for Subscribe

UnregisterStateChange

The UnregisterStateChange operation removes the registration ID assigned to the request to receive state change events and thus stops your integration from receiving state change events.

WSDL for UnregisterStateChange operation

WSDL message for UnregisterStateChange

Name Direction Element Name Description

filterName In tns:filterName string type that identifies the name of the event filter that the client has selected. The client is requesting to subscribe to the events that match the criteria specified by the event filter.

context In tns:context string type that identifies the name of the Web Service client that is making the request

reliable In tns:reliable Boolean indicator (true/false) that shows whether the subscription request uses guaranteed delivery

<wsdl:operation name="UnregisterStateChange" parameterOrder="inargs"><wsdl:input message="tns:UnregisterStateChange_Request"/><wsdl:output message="tns:UnregisterStateChange_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

<wsdl:message name="UnregisterStateChange_Request"> <wsdl:part element="elems:UnregisterStateChange" name="inargs"/></wsdl:message><wsdl:message name="UnregisterStateChange_Response"> <wsdl:part element="elems:UnregisterStateChange_output" name="outargs"/></wsdl:message>

Appendix B BMC Impact Integration Web Services API operations 147

Page 148: Impact Integration Web Services Server Developer Guide

Unsubscribe

XSD schema for request and response for UnregisterStateChange

Parameters for UnregisterStateChange

Unsubscribe

The Unsubscribe operation enables the Web Service client to stop its subscription to specified events. If connected (Connect) to BMC IM instances, you do not have to disconnect (Disconnect) to stop receiving events.

WSDL for Unsubscribe operation

<xsd:element name="UnregisterStateChange"><xsd:complexType><xsd:sequence><xsd:element name="imname" nillable="true" type="xsd:string"/><xsd:element name="registrationID" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="UnregisterStateChange_output"><xsd:complexType><xsd:sequence><xsd:element name="resultCode" type="xsd:int" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

imname In tns:imName string type that identifies the name of the BMC Impact Manager instance

registrationID In tns:regID integer that is assigned to this registration request

resultCode Out tns:resultCode integer that specifies the server response to the unregister state change request

<wsdl:operation name="Unsubscribe" parameterOrder="inargs"><wsdl:input message="tns:Unsubscribe_Request"/><wsdl:output message="tns:Unsubscribe_Response"/><wsdl:fault message="tns:Execution_Fault" name="Execution_Fault"/></wsdl:operation>

148 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 149: Impact Integration Web Services Server Developer Guide

Unsubscribe

WSDL message for Unsubscribe

XSD schema for request and response for Unsubscribe

Parameters for Unsubscribe

<wsdl:message name="Unsubscribe_Request"> <wsdl:part element="elems:Unsubscribe" name="inargs"/></wsdl:message><wsdl:message name="Unsubscribe_Response"> <wsdl:part element="elems:NoValue_output" name="outargs"/></wsdl:message>

<xsd:element name="Unsubscribe"><xsd:complexType><xsd:sequence><xsd:element name="filterName" nillable="true" type="xsd:string" /><xsd:element name="context" nillable="true" type="xsd:string" /></xsd:sequence></xsd:complexType></xsd:element>

Name Direction Element Name Description

filterName In tns:filterName string type that identifies the name of the event filter that the client has selected. The client is requesting to unsubscribe from the events that match the criteria specified by the event filter.

context In tns:context string type that identifies the name of the Web Service client that is making the request

Appendix B BMC Impact Integration Web Services API operations 149

Page 150: Impact Integration Web Services Server Developer Guide

Unsubscribe

150 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 151: Impact Integration Web Services Server Developer Guide

C h a p t e r C

C BMC Impact Manager Service

This appendix describes the BMC Impact Manager service that can be accessed through the Impact Manager port.

The BMC Impact Manager service consists of the single port Impact Manager. This port specifies where you can access the Impact Manager binding, through which the portType operations and messages are transmitted. The binding, and therefore the service, can be accessed via the endpoint (URI) described by the location attribute of the soap:address child element of the Impact Manager port.

The service element of the ImpactManager.wsdl is declared below:

When configuring your BMC II Web Services server, you can specify the address location (URI) where the web service client or clients can access it. At runtime, this address is read by the BMC II Web Services server and is made available through the soap:address element of the <wsdl:service> section.

For example, if your BMC II Web Services server is configured to start at the endpoint http://abc:6070/imapi, then the ImpactManager.wsdl reveals the address location as a value of the <soap:address> element.

<wsdl:service name=”ImpactManager”><wsdl:port name=”ImpactManager” binding=”tns:ImpactManager”><soap:address location:”urn:unknown-location-uri”/></wsdl:port></wsdl:service>

<soap: address location:”http://abc:6070/imapi”/>

Appendix C BMC Impact Manager Service 151

Page 152: Impact Integration Web Services Server Developer Guide

152 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 153: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Glossary

Note: The definitions of terms common to web services are derived from the W3C working draft Web Services Glossary at http://www.w3.org/TR/ws-gloss/. Copyright © 2004 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. The definition of terms common to event distribution systems are derived from the online computing dictionaries at WhatIs.com and Foldoc.org.

.load fileA file that specifies the order in which a directory’s files are to be loaded and read by a BMC Impact Manager instance.

.map file See adapter map file.

.mrl fileA file that contains rule and collector definitions written in the Master Rule Language (MRL). Event and service management processing rules and collectors are stored in .mrl files and in compiled .wic files.

/etc/mcell On UNIX platforms, the directory that contains the setup_env.sh and setup_env.csh scripts, which set the environment variables used by the product software.

AAcknowledge

The event operation action that acknowledges the existence of an event. See also local action.

Acknowledged statusThe event status that results from an Acknowledge event operation action; it means that an operator has acknowledged the event's existence.

Glossary 153

Page 154: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

action1. Generally, a procedure that is invoked to produce a specific result. It can be a script or a call to an executable that is invoked automatically in response to an event, or it can be a manual intervention. Actions can be scheduled or immediately invoked locally or remotely.

2. In BMC Impact Manager, an executable that can be run by a cell. Actions are called in an Execute rule. Users can request the execution of actions in the BMC Impact Explorer. See also local action.

adapterA background process that audits data from various sources, evaluates it for specific conditions, and creates the corresponding events. Adapters also transform event data into the format understood by BMC Impact Manager.

adapter instanceAn adapter that is defined in the adapter configuration file. The definition is given a name and specifies an adapter type, such as a log file adapter.

adapter map fileA text file that defines the translation of a message between one event format and another. It is also known as a .map file.

administratorThe person responsible for administrative tasks within the product.

aliasSee service component alias.

APISee Application Program Interface (API).

Application Program Interface (API)A set of externalized functions that allow interaction with an application.

assetAn object instance in the BMC Atrium Configuration Management Database (BMC Atrium CMDB). There are two types of assets in the BMC Atrium CMDB: non-service components, such as desks and other non-IT physical assets, and service components which are components that participate in the delivery of enterprise services.

asynchronous web servicesA message exchange pattern in which the sender and receive do not have to communicate at the same time in a precise sequence. For example, a request message can be stored and delivered at a later time. Neither sender nor receiver depends on the immediate completion of the request. Contrast with synchronous web services.

154 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 155: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

attributeA characteristic or property of an object, such as a common data model service model component class. An attribute may contain a value.

BBAROC Language

Basic Recorder of Objects in C. A structured language used to create and modify class definitions. A class definition is similar to a structure in the C programming language. The elements in a structure are called slots.

bindingsIn Web Services Description Language, the method that defines how SOAP messages are exchanged through an underlying protocol. They are a formal set of rules for carrying a SOAP message over a transport mechanism. In BMC II Web Services, the messages are communicated via SOAP over HTTP. See also SOAP encoding.

BMC Atrium CMDB Common Data Model (BMC Atrium CMDB CDM)An extensible schema that provides a unified representation of configuration items and their relationships to each other. It is used to store asset data (such as hardware information, service management information, and people information) and to provide a mechanism for linking that information to provide a complete view of how all assets are connected and can affect each other.

BMC Atrium CMDB Reconciliation EngineThe BMC Atrium CMDB application used to merge data from multiple sources, such as topology or configuration discovery, into a consistent dataset.

BMC Atrium Configuration Management Database (BMC Atrium CMDB)The database application that is the common datastore for asset, configuration management, and service model data in BMC Business Service Management products. It enables BMC products to share IT management and monitoring data and perform service management.

BMC Desktop Status Indicator (BMC DSI)An icon that appears in the desktop system tray of a computer to show the current status of an object being monitored by BMC Impact Portal. To view the status page of the monitored object, you double-click the icon.

BMC Event Manager (BMC EM)A real-time event management product license package that provides event management, including event collection, correlation, enrichment, and integration. It enables IT operations staff to focus the proper resources on resolving the most critical events.

BMC II See BMC Impact Integration (BMC II) product.

Glossary 155

Page 156: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

BMC IMSee BMC Impact Manager (BMC IM).

BMC Impact Explorer (BMC IX)A console with which you can connect to any number of instances of BMC Impact Managers, examine the events stored in them, and perform event and service management activities.

BMC Impact Integration (BMC II) productAn interface that enables the synchronized, bidirectional flow of events and data between a BMC Impact Manager instance or instances and another BMC Software product or a specific third-party product.

BMC Impact Integration (BMC II) Web ServicesA web services client developer package that includes a built-in web service, a server, and a sample client. It enables web service client developers to build a client that can connect to and exchange events with the BMC Impact Manager network.

BMC Impact Manager (BMC IM)The BMC Impact product that provides automated event and service-impact management. It runs as a service on supported Windows platforms and as a daemon on UNIX platforms, and can be distributed throughout a networked enterprise and connected in various topologies to support IT goals.

BMC Impact Manager instanceAn installation of the BMC Impact Manager product on a host computer. Compare with cell.

BMC Impact Publishing serverThe BMC Impact Portal service or daemon that obtains the service model from the BMC Atrium CMDB and publishes (distributes) it to the designated service impact management cell or cells.

BMC Impact PortalThe BMC Portal console module that you use to monitor the status of business services and their components. See also console module.

BMC Impact ReportingThe BMC Impact Solutions component that you use to create and view long-term reports.

BMC PortalA BMC licensed product that consists of the BMC Portal server (infrastructure) and console modules, each of which deliver specific Business Service Management (BSM) functionality. The BMC Impact Portal is an example of a console module.

BMC Reporting FoundationThe base component on which BMC Software reporting systems and solutions are built.

156 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 157: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

BMC Service Impact Manager (BMC SIM)A real-time service impact management product license package that provides technologies for both service impact and event management (SIEM). BMC SIM identifies related applications and the underlying systems and databases of any software or infrastructure component and ties systems-level monitoring to the supported business services, enabling IT personnel to respond quickly to problems that threaten the delivery of business services.

Business Service Management (BSM)A dynamic method for connecting key business services to the IT systems that manage them. BSM enables users to understand and predict how technology changes will affect their business, and how changes in the business affect the IT infrastructure.

Ccell

The event processing engine that collects, processes, and stores events within a BMC Impact Manager instance. Each cell uses the information in the associated Knowledge Base to identify the type of events to accept and how to process and distribute them. See also mcell.dir file.

CI See Configurable Instance.

Configurable Instance

class1. A data storage element. In database terms, it relates to a table in a database or a form in the Remedy AR System.

2. In BMC Impact Manager, a BAROC-language data structure that defines a type of object used in BMC Impact Manager. A BAROC class is made up of data fields, called slots, that define its properties.

client context IDA string descriptor that identifies the name of the web services client. BMC II Web Services server uses the client context ID with the selector name to determine which client receives events.

command line interface (CLI)A user interface in which you issue commands one at a time on a command line for automation or immediate execution. In BMC Impact Manager, you use the CLI in conjunction with a graphical user interface (GUI) to operate the product.

componentA logical or physical asset that is stored in the BMC Atrium CMDB. There are two types of assets in the BMC Atrium CMDB: non-service components, such as desks and other non-IT

Glossary 157

Page 158: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

physical assets, and service components, which are components that participate in the delivery of business services.

component instanceA named component that represents an actual IT resource.

conditionA prerequisite that must exist or a qualification that must be met for selection or processing to take place, such as individual slot-value tests.

console moduleA product that plugs into the BMC Portal.

consumerAn entity that makes use of (“consumes”) a web service or, in an event distribution system, a programming object that subscribes to specific events. Contrast with provider.

Ddata class

A BAROC class that is a child of the base event class, DATA, and that defines a type of data.

datastoreA central place in which an aggregation of data is kept and maintained in an organized way.

data typeA representation of an abstract concept such as integer, time, date, and so forth. A data type consists of a literal representation, valid values, and defining characteristics. In XML schema, it can be built-in or user-derived. The types element of the Web Services Description Language identifies the data types available to the web service.

draft service modelA working version of the service model that contains both published and unpublished elements.

duplicate eventA subsequent occurrence of an event that has already been received, such as the second or later notification that a component is down. An event that has matching values for all the slots defined with the dup_detect=yes facet in the event class definition.You can use Regulate rules to detect and count duplicate events. See also facet.

dynamic collectorA special type of collector that, in response to events, can add or remove event collectors from the cell during runtime.

158 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 159: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

dynamic dataContextual reference data that is stored in a table in the repository (mc.db) and that can be updated during runtime. Administrators can use and manipulate dynamic data in the BMC Impact Manager Administration View.

EEnableTrace parameter

A configurable parameter in the BMC II Web Services server that, when set to true, activates the server logging facility.

encryption keyThe seed encryption key. If the destination BMC Impact Manager or BMC Impact Integration product has a key value, all clients must encrypt their communications using the same key value.

endpointA specific location (uniform resource identifier) for accessing a web service using a specific protocol and data format. See also service.

enrichment1. The process of adding to or modifying the original event data to enhance it for problem management, service management, correlation, automation, notification, or reporting functions.

2. A type of policy.

eventA structured message passed to and from cells in a BMC Impact environment. It is an instance of an event class.

event class1. A BAROC class that is a child of the base event class, CORE_EVENT, and that defines a type of event.

2. A category of events that you can create as a child of the base event class, CORE_EVENT, according to how you want the events to be handled by an event manager and what actions you want to be taken when the event occurs. Event classes may be inherited from parent objects, depending on the specific product. Event classes are inherited from parent objects in BMC Impact Manager.

event collectorAn event grouping whose content is defined by its collector rule. Event collectors are displayed in the BMC Impact Explorer and are defined in the BMC Impact Manager Knowledge Base. See also event collector rule.

Glossary 159

Page 160: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

event collector ruleA type of rule in the Knowledge Base that defines how events from a cell are organized and presented in the BMC Impact Explorer. Collector rules are written in Master Rule Language (MRL).

Event Condition Formula (ECF)The section of an MRL rule definition that specifies the conditions that an incoming event must meet to trigger evaluation of the rule during processing. For example: APP_MISSING_PROCESSES where [hostname: == ‘red1’,sub_origin: contains ‘System’] is an ECF. See Master Rule Language (MRL).

event managementThe collection and correlation of events across an enterprise to enable IT operations to focus the proper resources on the most critical events.

event management policyOne of several generic rule types that perform actions against events that meet selection criteria specified in an associated event selector. Unlike manually written rules, event policies are defined interactively using the Event Management Policy Editor in the BMC Impact Explorer.

event propagationThe act of forwarding events and maintaining their synchronization among multiple BMC Impact Manager instances (cells).

event selectorThe filtering mechanism associated with an event policy that selects the events against which the event policy performs actions. An event selector contains one or more event selection criteria. Event selectors are defined interactively by using the BMC Impact Explorer. An event policy can use one or more event selectors.

EventListener.wsdl fileThe Web Services Description Language file that describes the event dispatch service which you can access to build your custom event listener utility that is specific to your web services toolkit. See also Web Services Description Language (WSDL).

Execute ruleAn event-processing rule that performs actions when a slot value changes in its event repository. Execute rules are evaluated during the Execute phase of event processing. Often, the resulting actions are internal actions, but you can use the execute primitive in a rule to call an external executable.

160 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 161: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Ffacet

In the BMC Impact Manager product, a specific attribute of a class slot that either controls the values that the slot can have or controls aspects of a class instance’s processing.

In XML, a single defining aspect of a value for a data type. It is characterized as fundamental, which defines the data type, or constraining, which restricts the values of a data type. See also data type.

fault messageIn Web Services Description Language, a SOAP (Simple Object Access Protocol) message that contains fault information related to a set of SOAP communication messages. The fault message indicates the reason why the SOAP communication failed.

field See attribute.

Filter ruleAn event-processing rule that determines whether a specific type of event should be passed as it is, subjected to further processing, or discarded during the Filter phase.

functionCode that executes an operation in a cell and returns a value. A function can be used as an expression within a rule or a policy and in alias formulas.

Ggateway

An integration that receives connections and events from BMC Impact Manager instances. A gateway can use a custom message format or custom message content (different slots).

gateway.export fileA special file that controls the propagation and synchronization of events to a BMC Impact Manager Integration product.

Hheartbeat

1. A periodic message sent between communicating objects to inform each object that the other is still active and accessible.

2. In BMC Impact Manager, a dynamic data object sent by a cell to monitor other cells to verify that they remain active and accessible.

heartbeat intervalThe time between heartbeats; the period of the heartbeat.

Glossary 161

Page 162: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Iimpact

An assessed measure of the effect that an incident, fault, or other change will or may have on business operations or service levels.

ImpactManager.wsdlThe Web Services Description Language file that describes BMC II Web Services and enables you to access its operations. See also Web Services Description Language (WSDL).

impact eventAn event whose status is used in computing the status of its associated service component. By default, the status of all events associated with a service component are used to compute its status. However, you can exclude events if you wish.

impact propagationThe effect of an impact to a providing service component (provider) on the service components that use its services (consumers) as defined by an impact relationship. See also impact relationship.

impact relationshipA relationship between two service components in a service infrastructure in which a consumer component depends on a provider component to deliver some needed resource to it. Changes in status of the provider affect (has an impact on) the status of the consumer component.

instance1. A specific object with specific attributes or characteristics that distinguish it from other items (members) of its class or type.

2. In BMC Impact Manager, an object that has specific attribute values and that was created using a class definition.

integration productSee BMC Impact Integration (BMC II) product.

Kkb directory

The default directory in which a BMC Impact Manager Knowledge Base is located. The directory and basic product definitions are created during installation.

key slotA slot whose value is compared during searches.

Knowledge Base (KB) A collection of information that forms the intelligence of a BMC Impact Manager instance and enables it to process events and perform service-impact-management activities. This

162 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 163: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

information includes event class definitions, Service-Model component definitions, record definitions, interface definitions, collector definitions, data associations, and processing rules.

Lload file

See .load file.

local actionAn executable that you can run directly from the BMC Impact Manager. Local actions are written in XML and are stored in the OS-specific subdirectory of the bin directory of the BMC Impact Manager cell Knowledge Base.

Mmanifest.kb

A central locator file that specifies the locations of the directories that make up a Knowledge Base. The manifest.kb file is used by the compiler to load the Knowledge Base source files for compilation.

Master Rule Language (MRL) A compact, declarative language used to define rules and collectors for processing and organizing events. Uncompiled rule and collector source files have a .mrl file extension.

MaxEventQueueSize parameterA configurable parameter for the BMC II Web Services server that determines the maximum number of events that the server will cache in memory. This value is defined for the server and is not dependent on the number of connected clients or subscription calls. It is defined in the ImWebServices.conf file and is implemented for client polling requests.

MaxResponseEventListSize parameterA configurable parameter for the BMC II Web Services server that defines the maximum number of events that the server returns per polling request. This value can be different from the number of events that the client requests. It is defined in the ImWebServices.conf file.

mccompThe BMC Impact Manager rules compiler. Rules are written in the Master Rule Language (MRL). The platform-independent compiler converts them to byte code that the cell can read and process.

mcell.conf fileThe configuration file that contains configuration options for a BMC Impact Manager instance (cell). It is in the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc directory.

Glossary 163

Page 164: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

mcell.dir fileThe file that lists the cells to which a product component can connect and communicate. The information for each cell includes: its name, its encryption key, and its host name and port number. This file is in the $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etcdirectory.

mcell.modify fileThe file that lists the slots that affect the mc_modification_date slot. When a specified slot is modified, the time stamp of the modification is reset in the mc_modification_date slot, so that slot is listed in mcell.modify.

mcell.trace fileThe configuration file that specifies the trace information about a BMC Impact Manager (cell) that should be recorded and the location to which it is written. It is in installDirectory/etc/ directory on UNIX platforms and in the drive:\installDirectory\etc\ directory on supported Windows platforms.

.mrl fileA file that contains rule and collector definitions written in the Master Rule Language (MRL). Event and service management processing rules and collectors are stored in .mrl files and in compiled .wic files.

mc_udidSee universal data identifier (mc_udid).

Nnamespace

In XML, a collection of element and attribute names and values that is stored in an XML document and accessed by its uniform resource identifier. The XML file that accesses the uniform resource identifier can incorporate the information that is stored in the document.

nodeA BMC Impact Manager instance that can receive only events originating on the local host system.

non-local actionA user-initiated action that does not execute on the operations console host machine.

normalizationThe process of homogenizing event data into a common event format so that a standard set of event data is collected and reported regardless of the event source.

164 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 165: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

notification1. A message, either detailed or concise, that contains information about a condition that triggered an alert state on a monitored element. An email message or SNMP trap that is sent when the program detects a problem that triggers an alert.

2. A type of policy.

Oobject class

In BMC Impact Solutions, a data structure that defines a type of object. An object class can be a BAROC-language data structure in a BMC Impact Manager cell Knowledge Base or a Common Data Model (CDM) data structure in the BMC Configuration Management Database. A class is made up of data fields, called attributes (slots) that define its properties. See also event class, object, and object hierarchy.

operationIn Web Services Description Language, a set of messages related to a single web service action.

Pphase (rule)

A specific stage of event processing. There are eight sequential phases to event processing and two nonsequential phases, each with a corresponding rule type.

policy class A BAROC class that is a child of the base data class POLICY and that defines a type of policy.

policy instanceA specific implementation of any of the types of event management policies. For example, you could have an instance of a blackout policy that defined blackout periods for holidays and another instance of the same policy that defined blackout periods for monthly maintenance.

portA specific communication channel in TCP/IP networking. Ports are identified by numbers. BMC Impact Manager communicates using the ports specified during installation.

port typeIn Web Services Description Language, a logical grouping of operations and their messages. It defines the public entry point for client applications.

portingThe process of translating or converting software to run in a different operating environment.

Glossary 165

Page 166: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Propagate ruleAn event-processing rule that is used to forward events to other BMC Impact Managers in the managed domain. Propagate rules are evaluated during the Propagate phase of event processing.

propagated eventAn event that is forwarded from one cell to another cell or to an Integration product during the Propagate phase of event processing.

propagationSee event propagation.

providerAn entity that provides a service, such as a web service, or, in an event distribution system, a programming object that publishes events. Contrast with consumer.

publishIn an event distribution system, a provider action of making events and data available by sending messages to a space or node without specifying a specific destination. Contrast with subscribe.

pull interfaceA processing model in which the event consumer (the BMC II Web Services client) controls the event flow by requesting events from the provider through polling calls. The BMC II Web Services server collects events in an event queue and waits for the client to initiate the request for events.

RRegulate rule

An event processing rule that processes repetitive (duplicate) events or events that occur with a specified frequency. With a Regulate rule, you can create a new event based on the detection of repetitive or frequent events. See also Regulate phase.

repositoryThe storage facility in which BMC Impact Manager event information is stored.

root cause analysisThe process of monitoring events and correlating event data to identify the true cause of a problem.

ruleA conditional statement that, if determined to be true, executes actions. The cell evaluates events by comparing each event to a series of rules during event processing. Rules are grouped in phases that are processed one by one. The order in which rules are evaluated during a particular phase is based on the order in which they were loaded. When all the rules in one phase are evaluated, the cell moves to the next phase.

166 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 167: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Sselector

A set of defining criteria that is used to match events. The criteria are defined in a text file with the file name extension of .selector. Within the file, the defining criteria are enclosed within braces. See also web services subscription selector.

ImWebServices.conf fileThe BMC II Web Services server configuration file. It contains parameters, some of which are read at runtime, that determine the port number, event queue size, server log file, and other information. It is located in $IIWS_HOME/Tomcat/webapps/imws/WEB-INF/etc.

serviceIn Web Services Description Language, a collection of endpoints. Each endpoint indicates a specific location for accessing a service using a specific protocol and data format. See also endpoint.

service component aliasA name that is assigned to a service component instance and used in associating an event type with the component instance. You add an alias to a service component instance’s definition in the Service Model Editor. A service component instance can have several different aliases to enable different event types to be associated with it.

slotAn attribute in a BAROC class definition. A class definition consists of one or more slots. Each slot has a data type and can have specific attributes, called facets, that can control the values that the slot can have or control aspects of a class instance’s processing. A class that is a subclass to another class inherits all the slots of the parent class.

SOAP encodingA set of rules for encoding data to conform to the SOAP data model of mapping non-XML based data to an XML representation. The encoding can be used to transmit data in SOAP message format. See also bindings.

source-code generatorA software tool that creates source code (client stubs) in a specified programming language from a Web Services Description Language file for a web service. See also stub.

SSLSecure Sockets Layer. A security protocol that manages the security of messages communicated on the Web. The Secure Sockets Layer lies between the transport mechanism layer (typically HTTP) and the underlying TCP layer. See also transport mechanism.

state change eventA generated event type that records changes in a component’s status. State change events never participate in component status computation.

Glossary 167

Page 168: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

stubA small program routine that acts as a substitute for a larger program routine. The stub accepts requests from one program and forwards them to another. The stub accepts the responses from the receiving program and passes them back to the program that made the request.

In BMC II Web Services, you use a source-code generator to generate client stubs from the Web Services Description Language File. See also source-code generator.

subscribeIn an event distribution system, a consumer action of registering to receive (subscribe to) specified events. Contrast with publish.

subscription tableA data table within the BMC II Web Services server in which client context IDs are matched with selector names. Each subscription call invoked by a BMC II Web Services client contains a context ID that identifies the client and a selector name that indicates the types of events it requests. The subscription table enables the BMC II Web Services server to send the requested events to the corresponding client.

synchronous web servicesA message exchange pattern in which the sender and receiver must interact in a precise sequence. For example, a sender submits a request message and cannot continue processing until it receives a response. Contrast with asynchronous web services.

Ttransport mechanism

An upper layer communications protocol for opening and closing communication requests across the Web. The transport mechanism runs on top of the underlying TCP/IP communication language. In web services, HTTP (Hypertext Transfer Protocol) is a standard transport mechanism for SOAP-encoded messages and is used by BMC II Web Services. See also SSL.

UUDDI

Universal Description, Discovery, and Integration. A Web-based information registry where businesses can register information about the web services they offer. web services consumers can discover and invoke the web service from the registry. The registration of web service instances in UDDI registries is optional. BMC II Web Services is not registered in UDDI.

universal data identifier (mc_udid)A unique, system-generated value used to identify a specific service component instance. Each service component must have a value for the mc_udid attribute (slot). One use of the universal data identifier is in associating aliases to a service component instance.

168 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 169: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

WWASP server for C++

A Systinet product that is a collection of runtime libraries which BMC II Web Services has adapted for use in its implementation of the BMC II Web Services server, specifically the event listener libraries.

Web Services Description Language (WSDL)The standard XML-based language for describing web service interfaces and enabling consumers to access the web service electronically. A typical WSDL file is divided into sections that define data types, messages, operations, bindings, and services. The file exposes the type of data that is transmitted, the message pattern between parties, the function calls and parameters that can be invoked, the way each function call is communicated electronically, and the specific port address from which the service can be accessed.

web services subscription selectorA special usage of a selector. A selector set used to match incoming messages that have propagated from BMC Impact Manager product instances. This selector makes the matching messages available to the subscribing web services client or clients. See also selector.

When clauseA part of MRL rule syntax for Abstract, Correlate, Execute, Propagate, and Timer rules. Events must first meet the selection criteria in the rule before the When clause is evaluated. Changes to slot values cause When clauses to be re-evaluated.

Glossary 169

Page 170: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

IIWSGatewayserverA message receiver for the BMC II Web Services server that functions as a listener. It accept connections from BMC Impact Manager instances at default port number 1859. It receives events and messages from BMC Impact Manager instances and stores them in a buffer.

The IIWSGatewayserver entry is defined in the mcell.dir file of the BMC II Web Services server. Each instance of the BMC II Web Services server must have its unique IIWSGatewayserver entry. To connect with the BMC Impact Manager network, you must also enter the IIWSGatewayserver information in the mcell.dir file of BMC Impact Manager instance to which you are connecting. See also mcell.dir file.

170 BMC ProactiveNet Performance Management Web Services Developer Guide

Page 171: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Index

Symbols$ClassName function 52$doselector function, description 53$Format function 54$function_name function 52$GmtTime function 54$HostName function 52$LocalTime function 54$slotMissing function 54$slotPresent function 53$TimeT function 54%s 54

Aadministration

BMC Impact Integration Web Services server 44editing iiws.selector 58iiws.conf file 58iiws.selector file 44

ArrayOf_Byte, element description 91ArrayOf_CellInfo, element description 97ArrayOf_ClassDefInfo, element description 98ArrayOf_Double, element description 92ArrayOf_Event, element description 95ArrayOf_Float, element description 92ArrayOf_Int, element description 91ArrayOf_Long, element description 91ArrayOf_NameValue, element description 94ArrayOf_Short, element description 91ArrayOf_SlotDefInfo, element description 100ArrayOf_SMComponent, element definition 98ArrayOf_String, element description 92audience

presumed knowledge 43roles 43

BbaseClass

element description 66parameter 116, 126

BasicTypes.xsd 63BMC Developer Connection 15BMC Impact Integration Web Services APIs 43

BMC Impact Integration Web Services Developer’s Kit 43BMC Impact Integration Web Services server 43

adminstration 44selector processing 45

BMC Impact Manager 151BMC Software, contacting 2BMCII_BUFFER_MODE_DEFAULT, description 87BMCII_BUFFER_MODE_HIGH, description 87BMCII_BUFFER_MODE_LOW, description 87BMCII_BUFFER_MODE_NONE, description 87bmcii_loadSelectorSet function, failure 46buffering

buffer, maximum size 59MessageBufferReconnectInterval parameter 59MessageBufferSize parameter 59reconnect interval 59

bufferType, element description 66ByteArray derived complex type 89

Ccell_hostname element, description 96cell_name element, description 96cell_type element, description 96CellInfo 96cellInfo_Array

element description 66parameter 110

ChangeDate parameter, message selector set header 49changeType parameter 139ClassDefInfo, element description 97classDefInfo_Array

element description 67parameter 117

classDefInfo_element, description 67classDefs parameter 117classes, specifying in translation maps 52className

element description 67parameter 116

classNameselement description 67parameter 132

classOnlyelement description 68

Index 171

Page 172: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

parameter 117comment

element description 68parameter 144, 145

componentCauseIdelement description 68

componentIdelement description 69parameter 118, 120, 134, 136, 143, 145

componentStatuselement description 69parameter 145

componentStatusIdelement description 69parameter 121

conditionelement description 69parameter 123

configuringiiws.conf 59

Connectoperation 105

connecting, maximum reconnect interval 59connection

element description 70connectionId

element description 70parameter 107, 142

contextelement description 70parameter 105, 111, 147, 149

context_nioelement description 71

CStatuselement description 100

Cstatus_elementelement description 71

CStatusHighelement description 71

CStatusLowelement description 72

custom complex typesArrayOf_CellInfo 97ArrayOf_ClassDefInfo 98ArrayOf_SlotDefInfo 100ArrayOf_SMComponent 98CellInfo 96ClassDefInfo 97CStatus 100GetEventsResponse 100GetQueryResultResponse 101SlotDefInfo 99SMComponent 98StateChangeType 101

customer support 3

172 BMC ProactiveNet Performance Management Web

Ddata types

arrays 90complex 89mapping to other languages 102overview 63simple 85

data types, XSDimported schemas 63

DataTypeelement description 88

deleteBufferelement description 72parameter 107

Description parameterin message selector header 50in message selector set header 49

Disconnectoperation 107

DoubleArray derived complex type 89

Eelement descriptions

general 64summary table 64

embedding message selectors 46Enable parameter

in message selector header 50in message selector set header 49

encryption_key element, description 97endDate

element description 72parameter 132

EndQueryoperation 108

errorCodeelement description 73parameter 144, 145

Event complex type, description 95Event.xsd 63Event_element derived complex type 90EventArray_element derived complex type 90eventId

element description 73parameter 129

FFailOnMissingSlot message selector header parameter 50failure

matching 50selection 50

filterName

Services Developer Guide

Page 173: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

element description 73parameter 105, 111, 113, 147, 149

FloatArray derived conplex type 89formatting

%, using in message selectors 54message selectors and message selector sets 48

FormatVersion parameter, in message selector set header 49

functions$ClassName 52$doselector 53$Format 54$function_name 52$GmtTime 54$HostName 52$LocalTime 54$slotMissing 54$slotPresent 53$TimeT 54in message selectors 51slot.slotname 52

GGetCellInfo

operation 109GetEvents

operation 110GetEventsResponse complex type, description 100GetEventsResponse_element

element description 74GetFilterNames

operation 112GetQueryResultCount

operation 113GetQueryResultResponse complex type, description 101GetQueryResultResponse_element

element description 74getSubclasses

element description 74parameter 126

Hhost names, specifying in message selectors 52hStatus

parameter 126

Iiiws.conf, configuration parameters 59iiws.selector file 44, 58IIWSGatewayserver event listener

port 24ImapiTypes.xsd 63

IMBufferTypecustom values 87element description 87

imFailureelement description 74

IMMessageTypecustom values 86element description 86

imnameelement description 75parameter 120, 125, 129, 131, 132, 143, 145

Impact Manager port type, definition 104IntArray derived complex type 89

Llong_Response

element description 75parameter 114

LongArray derived complex type 89lStatus

parameter 125

Mmcell.dir

description 62editing 62

messageelement description 75parameter 142

message buffer capacity 59message propagation

MessageBufferKeepSent parameter 59MessageBufferKeepWait parameter 59MessageBufferReconnectInterval parameter 59MessageBufferResendCount parameter 59MessageBufferSize parameter 59

message selectorscharacteristics 46content 51embedding 53embedding with $doselector 46file, characteristics 46formatting 48header requirement 50header sample 51message selector set header 48name 50operators 55parameters, header 50parameters, set header 49set header requirement 48set header sample 49sets, description 46

Index 173

Page 174: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

sets, formatting 48sets, headers 48sets, naming 46slots, missing 50syntax rules 46time, specifying settings 54

MessageBufferKeepSent 59MessageBufferKeepSent configuration parameter 59MessageBufferKeepWait configuration parameter 59MessageBufferReconnectInterval configuration parameter

description 59MessageBufferResendCount configuration parameter 59MessageBufferSize configuration parameter

description 59messageClass

element description 76parameter 142

messageIDelement description 76

messageTypeelement description 76parameter 142

modeToSetelement description 77parameter 144

MSG_TYPE_MOD_DATA, description 86MSG_TYPE_MOD_EVENT, description 86MSG_TYPE_NEW_DATA, description 86MSG_TYPE_NEW_EVENT, description 86MSG_TYPE_NONE, description 86MSG_TYPE_OVERWRITE_DATA, description 86

NName_Value_element derived complex type 90NameValue

child elements 93element description 93

NameValue_Array_element derived complex type 90nameValueTable_element

parameter 140NameValueTable_element derived complex type 90num_of_components

element description 77num_of_events

element description 77parameter 105, 112

num_of_resultselement description 78parameter 140

OonlyImpacted

element description 78

174 BMC ProactiveNet Performance Management Web

parameter 120operations

Connect 105Disconnect 107EndQuery 108GetCellInfo 109GetEvents 110GetFilterNames 112GetQueryResultCount 113QueryClassDefinitions 115QueryComponent 117QueryComponentEvents 118QueryComponentsByCondition 122QueryComponentsByStatus 124QueryComponentStatus 120QueryData 126QueryEventByID 128QueryEventsByDate 131QueryModelImpact 133QueryModelPossibleRootCauses 135RegisterStateChange 137RetrieveQueryResults 139SendEvent 141SetMaintenanceMode 142SetManualStatus 144Subscribe 145UnregisterStateChange 147Unsubscribe 148

Pparameters

ChangeDate 49Description 49Enable 49, 50FailOnMissingSlot 50FormatVersion 49message selector set header list 49MessageBufferKeepWait 59MessageBufferReconnectInterval 59MessageBufferResendCount 59MessageBufferSize 59PersistencyCleanupGarbageThreshold 60PersistencyCleanupSizeThreshold 60PersistencyDisconnectRemoveMessages 60PersistencyEnabled 60PersistencyFileName 60PersistencyLevel 60SelectorHeader 50SelectorSetName 49Version 49

passwordelement description 78

PersistencyCleanupGarbageThreshold configuration parameter 60

Services Developer Guide

Page 175: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

PersistencyCleanupSizeThreshold configuration parameter 60

PersistencyDisconnectRemoveMessages configuration parameter 60

PersistencyEnabled configuration parameter 60PersistencyFileName configuration parameters 60PersistencyLevel configuration parameter

description 60port element, description 96ports

IIWSGatewayserver event listener 24printf function 54product support 3

Qquery

element description 78parameter 131

QueryClassDefinitionsoperation 115

QueryComponentoperation 117

QueryComponentEventsoperation 118

QueryComponentsByConditionoperation 122

QueryComponentsByStatusoperation 124

QueryComponentStatusoperation 120

QueryDataoperation 126

QueryEventByIDoperation 128

QueryEventsByDateoperation 131

QueryModeelement description 88

queryModeparameter 116

QueryMode_elementelement description 79

QueryModelImpactoperation 133

QueryModelPossibleRootCausesoperation 135

RregID

element description 79RegisterStateChange

operation 137registrationID

parameter 139, 148reliable

element description 80parameter 147

responseparameter 112

responseIdparameter 142

resultCodeelement description 80parameter 148

resultCountparameter 114

resultHandleelement description 80parameter 109, 114, 120, 123, 126, 129, 131, 132, 137

RetrieveQueryResultsoperation 139

retrieveResultHandleelement description 81parameter 140

Sschemas, imported 63SecurityToken

element description 81SelectorName message selector header parameter 50selectors

iiws.selector file 58in subscription requests 45overview 44

selectorset_name.message selector file 46SelectorSetName message selector set header parameter 49SendEvent

operation 141ServerName

element description 81serverName

parameter 138SetMaintenanceMode

operation 142SetManualStatus

operation 144SetOrCleared

element description 82setOrCleared

parameter 144ShortArray derived complex type 89slot.slotname function 52SlotDefInfo

element description 99SlotDefInfo_Array

element description 82SlotDefInfo_element

element description 82

Index 175

Page 176: Impact Integration Web Services Server Developer Guide

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

slotsin message selectors 51missing from message selectors 50selecting, by value 52

SlotsListelement description 82

slotsListparameter 120, 123, 126, 132, 134, 136

SMComponentelement description 98

SMComponent_elementelement description 83

SMComponentArray_elementelement description 83

source-code generatorcompiling ImpactManager.wsdl 32

StartDateelement description 83

startDateparameter 132

StartIndexelement description 84

startIndexparameter 140

StateChangeTypeelement description 101

StateChangeType_elementelement description 84

strftime 54string_Response

parameter 120, 123, 126, 132, 137StringArray derived complex type 89Subscribe

operation 145support, customer 3

TTableOf_NameValue

element description 94technical support 3TIBCO platform 18time, using in message selectors 54time_t, in message selector files 54timeout

element description 84parameter 114, 140, 142

translationclass names, specifying 52host names, specifying 52

trueCauseelement description 85parameter 137

trusted_servers element, description 97

176 BMC ProactiveNet Performance Management Web

UUnregisterStateChange

operation 147Unsubscribe

operation 148userName

element description 85

Vvalue complex type, description 93value_element derived complex type 90Version, message selector set header parameter 49

WWeb services client

programming language 31summary of steps 32

XXSD data types

imported schemas 63

Services Developer Guide

Page 177: Impact Integration Web Services Server Developer Guide

BMC SOFTWARE – SDK LICENSE AGREEMENT BY OPENING THE PACKAGE, INSTALLING, PRESSING “AGREE” OR “YES” OR USING THE BMC MODULES, THE ENTITY OR INDIVIDUALENTERING INTO THIS AGREEMENT AGREES TO BE BOUND BY THE FOLLOWING TERMS, IF YOU DO NOT AGREE WITH ANY OF THESE TERMS,DO NOT INSTALL OR USE THE BMC MODULES AND PROMPTLY RETURN THE BMC MODULES TO BMC. IF YOU REJECT THIS AGREEMENT YOUWILL NOT ACQUIRE ANY LICENSE TO USE THE BMC MODULES.

SCOPE OF AGREEMENT. This Agreement is between the entity or individual entering into this Agreement (“You”) and BMC Software, Inc. (“BMC”). ThisAgreement governs Your use of the BMC Modules, unless You agreed to a web-based license agreement with BMC when ordering the BMC Modules, inwhich case that web-based license agreement governs the use of the BMC Modules. As used herein, “Complementary Product” means any product of Youthat embeds or is dependent for execution upon a BMC Module.

LICENSE. BMC grants You a non-exclusive, non-transferable, personal license (“License”) for one person (the “Developer”) (a) to copy and operate the BMCModules for the sole purpose of designing, developing and testing Complementary Products, provided that You acknowledge and agree that the right ofembedding does not include a right of distribution, and (b) to copy and operate Complementary Products (including any BMC Modules embedded therein)solely for Your internal production purposes. You may not and agree not to: (i) copy the BMC Modules or the Complementary Products except as expresslypermitted in the immediately foregoing sentence, (ii) distribute, resell, rent or lease the BMC Modules or the Complementary Products, (iii) use the BMCModules for production purposes except as expressly permitted with respect to embedded BMC Modules in the immediately foregoing sentence, (iv)disassemble or reverse engineer any BMC Module, or decompile or otherwise attempt to derive any BMC Module source code from executable code, except tothe extent expressly permitted by applicable law despite this limitation, (v) release any information to any third parties on the functionality or performance ofthe BMC Modules without BMC's prior written consent, or (vi) provide a third party with the results of any functional evaluation, or benchmarking orperformance tests, without BMC's prior written approval. Additional usage restrictions may apply to certain third-party files or programs embedded in aBMC Module – applicable installation instructions or release notes may contain the relevant details. Notwithstanding anything in this Agreement to thecontrary, the licenses granted in this Agreement (A) do not grant You the right to use any BMC Module (such rights, if any, are granted under a separatelicense), (B) do not extend to any rights under any patents or patent applications under which BMC has any rights, and (C) do not extend to any use of theBMC Modules in combination with any product, service or software other than the Complementary Product for which it is registered and approved.

FEES. You agree to pay any shipping or handling fees associated with the BMC Modules. You are responsible for taxes, if any.

TERMINATION. This Agreement terminates automatically if You breach any of its terms. Either party may terminate this Agreement without cause on 30days prior written notice. Upon termination, You must uninstall the BMC Modules, and either certify their destruction or return them to BMC.

OWNERSHIP. BMC, or its affiliates or licensors, retains all right, title and interest in the BMC Modules and copies thereof, and any intellectual property,informational, industrial property and proprietary rights therein. BMC neither grants nor otherwise transfers any rights of ownership in the BMC Modules toYou. The BMC Modules are protected by applicable copyright, trade secret, patent and other intellectual and industrial property laws. As between You andBMC, You retain all right, title and interest in any intellectual property, information, industrial property and proprietary rights in the ComplementaryProducts, excluding and subject to those contained in the BMC Modules.

CONFIDENTIAL AND PROPRIETARY INFORMATION. The BMC Modules contain valuable confidential information and trade secrets of BMC. You maynot use the BMC Modules other than as specifically allowed under the license granted in this Agreement. You may not disclose the BMC Modules or any partthereof, to third parties, except that (i) You may disclose the BMC Modules or parts thereof to Developer if Developer has obligations of confidentiality whichare at least as protective of BMC’s confidential information and trade secrets as the provisions of this Agreement and if Developer’s use of the BMC Modulesis consistent with the terms of this Agreement, and (ii) if You use a Complementary Product internally for production purposes, You may disclose the BMCModules or parts thereof to its employees who are under obligations of confidentiality at least as protective of BMC’s confidential information and tradesecrets as the provisions of this Agreement, whose use of the BMC Modules is consistent with the terms of this Agreement, and who need to receive suchdisclosure in order to install, operate, support or maintain the Complementary BMC Modules. You agree to use all reasonable efforts to prevent theunauthorized use, copying, publication or dissemination of any BMC Module.

WARRANTY DISCLAIMER. THE BMC MODULES ARE PROVIDED “AS IS”, WITH ALL FAULTS. BMC, ITS AFFILIATES AND LICENSORSSPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND QUIET ENJOYMENT. BMC DOES NOT WARRANT THAT THE OPERATION OFTHE BMC MODULES OR THE COMPLEMENTARY PRODUCTS WILL BE UNINTERRUPTED, VIRUS OR ERROR FREE, OR THAT THERE ARE NODEFECTS.

LIMITS ON BMC’S LIABILITY. IN NO EVENT WILL BMC, ITS AFFILIATES OR LICENSORS, BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,PUNITIVE OR CONSEQUENTIAL DAMAGES RELATING TO OR ARISING OUT OF THIS AGREEMENT, THE BMC MODULES AND/OR ANYCOMPLEMENTARY PRODUCT (INCLUDING WITHOUT LIMITATION LOST PROFITS, LOST COMPUTER USAGE TIME, AND DAMAGE OR LOSS OFUSE OF DATA), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, AND IRRESPECTIVE OF ANY NEGLIGENCE OF BMC OR WHETHERSUCH DAMAGES RESULT FROM A CLAIM ARISING UNDER TORT OR CONTRACT LAW. BMC’S LIABILITY FOR DIRECT DAMAGES IS LIMITED TOTHE GREATER OF (I) THE AMOUNT PAID BY YOU FOR THE LICENSE TO THE BMC MODULE, IF ANY, AND (II) $1000.

VERIFICATION. If requested by BMC, You will deliver to BMC written certification relating to Your use of the BMC Modules and/or the ComplementaryProducts in compliance with the terms of this Agreement. BMC may audit Your use of the BMC Modules and/or Complementary Products to confirm suchcompliance.

EXPORT CONTROLS. You will cooperate with BMC as reasonably necessary to ensure compliance with the laws and regulations of the United States and allother relevant countries, relating to exports and re-exports (“Export Laws”). You may not import, export, re-export or transfer, directly or indirectly, includingvia remote access, any part of the BMC Modules, or any other BMC information or technology, in violation of any such laws and regulations, or without anywritten governmental authorization required under applicable Export Laws. Neither the BMC Modules nor the underlying information or technology may bedownloaded or otherwise provided or made available, either directly or indirectly, (i) into Cuba, Iran, Libya, Sudan or any other country subject to U.S. tradesanctions, to individuals or entities controlled by such countries, or to nationals or residents of such countries other than nationals who are lawfully admittedpermanent residents of countries not subject to such sanctions; or (ii) to anyone on the U.S. Treasury Department’s list of Specially Designated Nationals andblocked persons or the U.S. Commerce Department’s Table of Denial Orders. BY OPENING THE PACKAGE, INSTALLING, PRESSING “AGREE” OR “YES”OR USING THE BMC MODULES, YOU AGREE TO THE FOREGOING AND REPRESENT AND WARRANT THAT YOU ARE NOT LOCATED IN, UNDERTHE CONTOL OF, OR A NATIONAL OR RESIDENT OF ANY SUCH COUNTRY OR ON ANY SUCH LIST.

DISPUTE RESOLUTION AND GOVERNING LAW. ANY CONTROVERSY OR CLAIM ARISING OUT OF THIS AGREEMENT, OR THE BREACH HEREOF,WILL BE SETTLED BY ARBITRATION ADMINISTERED BY THE AMERICAN ARBITRATION ASSOCIATION UNDER ITS COMMERCIALARBITRATION RULES IN HOUSTON, TEXAS IN ENGLISH. THE ARBITRATOR MUST FILE ALL FINDINGS WITHIN 30 DAYS AFTER THE FINALARBITRATION HEARING. JUDGMENT ON ANY AWARD RENDERED BY THE ARBITRATOR MAY BE ENTERED IN ANY COURT HAVINGJURISDICTION THEREOF. NOTHING CONTAINED IN THIS SECTION WILL LIMIT BMC'S ABILITY TO SEEK EQUITABLE RELIEF IN ANY COURT.THE PARTIES WILL ARBITRATE DISPUTES IN CONFIDENCE. THIS AGREEMENT WILL BE GOVERNED BY THE SUBSTANTIVE LAWS OF THE STATEOF TEXAS. CHOICE OF LAW RULES OF ANY JURISDICTION AND THE UNITED NATIONS CONVENTION ON CONTRACTS FOR THEINTERNATIONAL SALE OF GOODS WILL NOT APPLY.

U.S. GOVERNMENT RESTRICTED RIGHTS. UNPUBLISHED – RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. Use,duplication, or disclosure of any data and computer software by the U.S. Government is subject to restrictions, as applicable, set forth in FAR Section 52.227-14, DFARS 252.227-7013,DFARS 227.227-7014, DFARS 252.227-7015, and DFARS 252.227-7025, as amended from time to time. Contractor/Manufacturer isBMC Software, Inc., 2101 CityWest Blvd., Houston, TX 77042-2827, USA. Any contract notices should be sent to this address.

Page 178: Impact Integration Web Services Server Developer Guide

MISCELLANEOUS TERMS. This Agreement constitutes the entire agreement between You and BMC relating to the matters covered hereby, and supersedesany prior or contemporaneous negotiations or agreements, whether oral or written, concerning the BMC Modules and any related subject matter. ThisAgreement may be modified only in a mutually signed, whether in writing or electronic, agreement between You and BMC. Neither Developer nor You mayassign this Agreement or any rights granted by this Agreement to a successor, except in the event of merger, consolidation, or sale of all or substantially all ofYour assets. Should any provision of this Agreement be invalid, or unenforceable, the remainder of the provisions will remain in effect. The parties haveagreed that this Agreement and the documents related thereto be drawn up in the English language. Les parties exigent que la présente convention ainsi queles documents qui s’y rattachent soient rédigés en anglais.

BY OPENING THE PACKAGE, INSTALLING, PRESSING “AGREE” OR “YES” OR USING THE BMC MODULES, YOU ACKNOWLEDGE AND AGREETHAT YOUR AUTHORIZED REPRESENTATIVE HAS READ THIS AGREEMENT AND THAT YOU INTEND TO BE BOUND HEREBY, AS IF YOURAUTHORIZED REPRESENTATIVE HAD SIGNED THIS AGREEMENT IN WRITING. THE INDIVIDUAL EXECUTING THIS AGREEMENT WARRANTSTHAT HE OR SHE HAS THE AUTHORITY TO ACCEPT THE TERMS OF THIS AGREEMENT FOR YOU AND ON HIS OR HER OWN BEHALF.

Third-Party Product TermsThe following terms apply to third-party products that are included with or in a BMC Software product as described in the BMC Software, Inc., LicenseAgreement that is applicable to the BMC Software product.

OpenSSl LicenseCopyright (C) 1995 Tim Hudson ([email protected]) All rights reserved.

This package is documentation for the SSLeay implementation that was written by Eric Young ([email protected]). The documentation was written by TimHudson ([email protected]).

This documentation can be distributed free for commercial and non-commercial use as long as the following conditions are aheared to. The followingconditions apply to all the documentation found in this distribution. Copyright remains Tim Hudson's, and as such any Copyright notices in thedocumentation are not to be removed. If this documentation is used in a product, Tim Hudson should be given attribution as the author of thisdocumentation.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code and documentation must retain the copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this documentation must display the following acknowledgement: This documentation was written by Tim Hudson ([email protected])

THIS DOCUMENTATION IS PROVIDED BY TIM HUDSON ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITEDTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALLTHE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIALDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ORBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF SUCH DAMAGE.

Page 179: Impact Integration Web Services Server Developer Guide

Notes

Page 180: Impact Integration Web Services Server Developer Guide

*202694**202694**202694**202694*

*209476*