RP 62 DeveloperGuide en PDF
RP 62 DeveloperGuide en PDF
6.2
Developer Guide
Informatica RulePoint Developer Guide
6.2
October 2014
© Copyright Informatica LLC 1998, 2018
This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use
and disclosure and are also protected by copyright law. Reverse engineering of the software is prohibited. No part of this document may be reproduced or transmitted in
any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica Corporation. This Software may be protected by U.S.
and/or international Patents and other Patents Pending.
Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software license agreement and as
provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013©(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III),
as applicable.
The information in this product or documentation is subject to change without notice. If you find any problems in this product or documentation, please report them to
us in writing.
Informatica, Informatica Platform, Informatica Data Services, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange,
PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, Informatica B2B Data Transformation, Informatica B2B Data Exchange Informatica
On Demand, Informatica Identity Resolution, Informatica Application Information Lifecycle Management, Informatica Complex Event Processing, Ultra Messaging and
Informatica Master Data Management are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the
world. All other company and product names may be trade names or trademarks of their respective owners.
Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies. All rights
reserved. Copyright © Sun Microsystems. All rights reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal Technology Corp. All rights
reserved.Copyright © Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright Isomorphic Software. All rights reserved. Copyright © Meta
Integration Technology, Inc. All rights reserved. Copyright © Intalio. All rights reserved. Copyright © Oracle. All rights reserved. Copyright © Adobe Systems Incorporated.
All rights reserved. Copyright © DataArt, Inc. All rights reserved. Copyright © ComponentSource. All rights reserved. Copyright © Microsoft Corporation. All rights
reserved. Copyright © Rogue Wave Software, Inc. All rights reserved. Copyright © Teradata Corporation. All rights reserved. Copyright © Yahoo! Inc. All rights reserved.
Copyright © Glyph & Cog, LLC. All rights reserved. Copyright © Thinkmap, Inc. All rights reserved. Copyright © Clearpace Software Limited. All rights reserved. Copyright
© Information Builders, Inc. All rights reserved. Copyright © OSS Nokalva, Inc. All rights reserved. Copyright Edifecs, Inc. All rights reserved. Copyright Cleo
Communications, Inc. All rights reserved. Copyright © International Organization for Standardization 1986. All rights reserved. Copyright © ej-technologies GmbH. All
rights reserved. Copyright © Jaspersoft Corporation. All rights reserved. Copyright © is International Business Machines Corporation. All rights reserved. Copyright ©
yWorks GmbH. All rights reserved. Copyright © Lucent Technologies. All rights reserved. Copyright (c) University of Toronto. All rights reserved. Copyright © Daniel
Veillard. All rights reserved. Copyright © Unicode, Inc. Copyright IBM Corp. All rights reserved. Copyright © MicroQuill Software Publishing, Inc. All rights reserved.
Copyright © PassMark Software Pty Ltd. All rights reserved. Copyright © LogiXML, Inc. All rights reserved. Copyright © 2003-2010 Lorenzi Davide, All rights reserved.
Copyright © Red Hat, Inc. All rights reserved. Copyright © The Board of Trustees of the Leland Stanford Junior University. All rights reserved. Copyright © EMC
Corporation. All rights reserved. Copyright © Flexera Software. All rights reserved. Copyright © Jinfonet Software. All rights reserved. Copyright © Apple Inc. All rights
reserved. Copyright © Telerik Inc. All rights reserved. Copyright © BEA Systems. All rights reserved. Copyright © PDFlib GmbH. All rights reserved. Copyright ©
Orientation in Objects GmbH. All rights reserved. Copyright © Tanuki Software, Ltd. All rights reserved. Copyright © Ricebridge. All rights reserved. Copyright © Sencha,
Inc. All rights reserved. Copyright © Scalable Systems, Inc. All rights reserved.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/), and/or other software which is licensed under various
versions of the Apache License (the "License"). You may obtain a copy of these Licenses at http://www.apache.org/licenses/. Unless required by applicable law or
agreed to in writing, software distributed under these Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.
This product includes software which was developed by Mozilla (http://www.mozilla.org/), software copyright The JBoss Group, LLC, all rights reserved; software
copyright © 1999-2006 by Bruno Lowagie and Paulo Soares and other software which is licensed under various versions of the GNU Lesser General Public License
Agreement, which may be found at http:// www.gnu.org/licenses/lgpl.html. The materials are provided free of charge by Informatica, "as-is", without warranty of any
kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose.
The product includes ACE(TM) and TAO(TM) software copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California,
Irvine, and Vanderbilt University, Copyright (©) 1993-2006, all rights reserved.
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (copyright The OpenSSL Project. All Rights Reserved) and
redistribution of this software is subject to terms available at http://www.openssl.org and http://www.openssl.org/source/license.html.
This product includes Curl software which is Copyright 1996-2013, Daniel Stenberg, <daniel@haxx.se>. All Rights Reserved. Permissions and limitations regarding this
software are subject to terms available at http://curl.haxx.se/docs/copyright.html. Permission to use, copy, modify, and distribute this software for any purpose with or
without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
The product includes software copyright 2001-2005 (©) MetaStuff, Ltd. All Rights Reserved. Permissions and limitations regarding this software are subject to terms
available at http://www.dom4j.org/ license.html.
The product includes software copyright © 2004-2007, The Dojo Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to
terms available at http://dojotoolkit.org/license.
This product includes ICU software which is copyright International Business Machines Corporation and others. All rights reserved. Permissions and limitations
regarding this software are subject to terms available at http://source.icu-project.org/repos/icu/icu/trunk/license.html.
This product includes software copyright © 1996-2006 Per Bothner. All rights reserved. Your right to use such materials is set forth in the license which may be found at
http:// www.gnu.org/software/ kawa/Software-License.html.
This product includes OSSP UUID software which is Copyright © 2002 Ralf S. Engelschall, Copyright © 2002 The OSSP Project Copyright © 2002 Cable & Wireless
Deutschland. Permissions and limitations regarding this software are subject to terms available at http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by Boost (http://www.boost.org/) or under the Boost software license. Permissions and limitations regarding this software
are subject to terms available at http:/ /www.boost.org/LICENSE_1_0.txt.
This product includes software copyright © 1997-2007 University of Cambridge. Permissions and limitations regarding this software are subject to terms available at
http:// www.pcre.org/license.txt.
This product includes software copyright © 2007 The Eclipse Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms
available at http:// www.eclipse.org/org/documents/epl-v10.php and at http://www.eclipse.org/org/documents/edl-v10.php.
This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/overlib/?License, http://
www.stlport.org/doc/ license.html, http:// asm.ow2.org/license.html, http://www.cryptix.org/LICENSE.TXT, http://hsqldb.org/web/hsqlLicense.html, http://
httpunit.sourceforge.net/doc/ license.html, http://jung.sourceforge.net/license.txt , http://www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/
release/license.html, http://www.libssh2.org, http://slf4j.org/license.html, http://www.sente.ch/software/OpenSourceLicense.html, http://fusesource.com/downloads/
license-agreements/fuse-message-broker-v-5-3- license-agreement; http://antlr.org/license.html; http://aopalliance.sourceforge.net/; http://www.bouncycastle.org/
licence.html; http://www.jgraph.com/jgraphdownload.html; http://www.jcraft.com/jsch/LICENSE.txt; http://jotm.objectweb.org/bsd_license.html; . http://www.w3.org/
Consortium/Legal/2002/copyright-software-20021231; http://www.slf4j.org/license.html; http://nanoxml.sourceforge.net/orig/copyright.html; http://www.json.org/
license.html; http://forge.ow2.org/projects/javaservice/, http://www.postgresql.org/about/licence.html, http://www.sqlite.org/copyright.html, http://www.tcl.tk/
software/tcltk/license.html, http://www.jaxen.org/faq.html, http://www.jdom.org/docs/faq.html, http://www.slf4j.org/license.html; http://www.iodbc.org/dataspace/
iodbc/wiki/iODBC/License; http://www.keplerproject.org/md5/license.html; http://www.toedter.com/en/jcalendar/license.html; http://www.edankert.com/bounce/
index.html; http://www.net-snmp.org/about/license.html; http://www.openmdx.org/#FAQ; http://www.php.net/license/3_01.txt; http://srp.stanford.edu/license.txt;
http://www.schneier.com/blowfish.html; http://www.jmock.org/license.html; http://xsom.java.net; http://benalman.com/about/license/; https://github.com/CreateJS/
EaselJS/blob/master/src/easeljs/display/Bitmap.js; http://www.h2database.com/html/license.html#summary; http://jsoncpp.sourceforge.net/LICENSE; http://
jdbc.postgresql.org/license.html; http://protobuf.googlecode.com/svn/trunk/src/google/protobuf/descriptor.proto; https://github.com/rantav/hector/blob/master/
LICENSE; http://web.mit.edu/Kerberos/krb5-current/doc/mitK5license.html; http://jibx.sourceforge.net/jibx-license.html; https://github.com/lyokato/libgeohash/blob/
master/LICENSE; https://github.com/hjiang/jsonxx/blob/master/LICENSE; and https://code.google.com/p/lz4/.
This product includes software licensed under the Academic Free License (http://www.opensource.org/licenses/afl-3.0.php), the Common Development and
Distribution License (http://www.opensource.org/licenses/cddl1.php) the Common Public License (http://www.opensource.org/licenses/cpl1.0.php), the Sun Binary
Code License Agreement Supplemental License Terms, the BSD License (http:// www.opensource.org/licenses/bsd-license.php), the new BSD License (http://
opensource.org/licenses/BSD-3-Clause), the MIT License (http://www.opensource.org/licenses/mit-license.php), the Artistic License (http://www.opensource.org/
licenses/artistic-license-1.0) and the Initial Developer’s Public License Version 1.0 (http://www.firebirdsql.org/en/initial-developer-s-public-license-version-1-0/).
This product includes software copyright © 2003-2006 Joe WaInes, 2006-2007 XStream Committers. All rights reserved. Permissions and limitations regarding this
software are subject to terms available at http://xstream.codehaus.org/license.html. This product includes software developed by the Indiana University Extreme! Lab.
For further information please visit http://www.extreme.indiana.edu/.
This product includes software Copyright (c) 2013 Frank Balluffi and Markus Moeller. All rights reserved. Permissions and limitations regarding this software are subject
to terms of the MIT license.
This Software is protected by U.S. Patent Numbers 5,794,246; 6,014,670; 6,016,501; 6,029,178; 6,032,158; 6,035,307; 6,044,374; 6,092,086; 6,208,990; 6,339,775;
6,640,226; 6,789,096; 6,823,373; 6,850,947; 6,895,471; 7,117,215; 7,162,643; 7,243,110; 7,254,590; 7,281,001; 7,421,458; 7,496,588; 7,523,121; 7,584,422; 7,676,516;
7,720,842; 7,721,270; 7,774,791; 8,065,266; 8,150,803; 8,166,048; 8,166,071; 8,200,622; 8,224,873; 8,271,477; 8,327,419; 8,386,435; 8,392,460; 8,453,159; 8,458,230; and
RE44,478, International Patents and other Patents Pending.
DISCLAIMER: Informatica Corporation provides this documentation "as is" without warranty of any kind, either express or implied, including, but not limited to, the
implied warranties of noninfringement, merchantability, or use for a particular purpose. Informatica Corporation does not warrant that this software or documentation is
error free. The information provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and
documentation is subject to change at any time without notice.
NOTICES
This Informatica product (the "Software") includes certain drivers (the "DataDirect Drivers") from DataDirect Technologies, an operating company of Progress Software
Corporation ("DataDirect") which are subject to the following terms and conditions:
1. THE DATADIRECT DRIVERS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT INFORMED OF THE POSSIBILITIES
OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT LIMITATION, BREACH OF CONTRACT, BREACH
OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS.
4 Table of Contents
Creating a Custom Responder Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table of Contents 5
Web Service Connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
SQL Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
JMS Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
RSS Reader Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
URL Monitoring Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Web Page Monitoring Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Web Service Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Event Generator Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
File Input Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Schedule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Static Schedule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Dynamic Schedule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Responders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
SQL Responder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Email Responder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
JMS Responder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Web Service Responder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Event Transformer Responder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
File Output Responder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
RTAM Responder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Responses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
SQL Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Email Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
JMS Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Web Service Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Event Transformer Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
RTAM Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
File Output Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Marshaller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Create a Marshaller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Update a Marshaller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Create a Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Update a Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Delete a Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Create Template Rule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Update Template Rule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Delete Template Rule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Retrieve Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Analytics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
6 Table of Contents
Retrieve Analytics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Create Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Retrieve Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Update Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Delete Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Objects Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Deploy Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Undeploy Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Redeploy Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Reassign Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Create Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Log In. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Table of Contents 7
Preface
The RulePoint Developer Guide provides information about the Software Development Kit (SDK) and REST
APIs available in RulePoint and how to use them to develop custom applications.
The RulePoint Developer Guide explains how developers can use the custom service API, Java Adapter for
REST API, and REST API. It provides examples you can use when you develop your services, adapters, and
objects. This guide assumes you have a working knowledge of RulePoint and are familiar with application
programming interfaces.
Informatica Resources
The site contains product information, user group information, newsletters, access to the Informatica
customer support case management system (ATLAS), the Informatica How-To Library, the Informatica
Knowledge Base, Informatica Product Documentation, and access to the Informatica user community.
Informatica Documentation
The Informatica Documentation team takes every effort to create accurate, usable documentation. If you
have questions, comments, or ideas about this documentation, contact the Informatica Documentation team
through email at infa_documentation@informatica.com. We will use your feedback to improve our
documentation. Let us know if we can contact you regarding your comments.
The Documentation team updates documentation as needed. To get the latest documentation for your
product, navigate to Product Documentation from http://mysupport.informatica.com.
8
Informatica How-To Library
As an Informatica customer, you can access the Informatica How-To Library at
http://mysupport.informatica.com. The How-To Library is a collection of resources to help you learn more
about Informatica products and features. It includes articles and interactive demonstrations that provide
solutions to common problems, compare features and behaviors, and guide you through performing specific
real-world tasks.
Informatica Marketplace
The Informatica Marketplace is a forum where developers and partners can share solutions that augment,
extend, or enhance data integration implementations. By leveraging any of the hundreds of solutions
available on the Marketplace, you can improve your productivity and speed up time to implementation on
your projects. You can access Informatica Marketplace at http://www.informaticamarketplace.com.
Informatica Velocity
You can access Informatica Velocity at http://mysupport.informatica.com. Developed from the real-world
experience of hundreds of data management projects, Informatica Velocity represents the collective
knowledge of our consultants who have worked with organizations from around the world to plan, develop,
deploy, and maintain successful data management solutions. If you have questions, comments, or ideas
about Informatica Velocity, contact Informatica Professional Services at ips@informatica.com.
Online Support requires a user name and password. You can request a user name and password at
http://mysupport.informatica.com.
The telephone numbers for Informatica Global Customer Support are available from the Informatica web site
at http://www.informatica.com/us/services-and-training/support-services/global-support-centers/.
Preface 9
Chapter 1
RulePoint Interfaces
This chapter includes the following topic:
You can use the following interfaces to embed RulePoint capabilities in your application:
The Custom Service API provides a set of classes that you can extend to develop pluggable custom services.
RulePoint uses the OSGi-based framework to load the custom services in the design-time and run-time
environment. The OSGi framework provides you with the flexibility to dynamically load services when the
system is running.
When you use the RulePoint SDK to create a custom service that service appears on the user interface of the
RulePoint application.
The Java Adapter for REST API offers a suite of Java objects that model entities which exist within RulePoint,
JSON parsers and generators that are compatible with the JSON schema, and a number of API classes to
access the RulePoint functionality.
10
REST API
You can use the REST API to create, retrieve, update, or delete RulePoint resources directly over HTTP. You
can also perform deployment tasks, such as deploy, redeploy, reassign, and undeploy RulePoint objects.
The HTTP request methods supported are GET, POST, PUT, and DELETE. The sample rest calls show you how
to use the REST API with application/json and application/xml MIME types.
RulePoint Services
This chapter includes the following topics:
RulePoint services are configurable interfaces that can link to other software systems, such as Instant
Messaging, email, RealTime Alert Manager (RTAM), a web page, a database, or a news feed.
RulePoint provides many useful built-in services, such as JMS, email, URL monitoring, and Web Services.
However, you can also build your own custom pluggable services.
12
3. Create a custom RulePoint service:
a. Create an activator class that extends from com.informatica.cep.sdk.base.BaseActivator.
b. Mark the custom service classes by using the custom annotations.
c. Set the annotation attributes.
d. Provide implementation for the com.informatica.cep.sdk.base.BaseActivator.getPackageNames()
method for the custom service to function. Add a custom configurable property.
This method must return a string array that contains the list of packages within the bundle where it
looks up the custom service annotations.
e. Edit the bundle manifest file and point to the activator class.
If you need to use an internal class from the parent run-time or design-time JVM, you need to
specify its package in the property org.osgi.framework.bootdelegation in the file RULEPOINT_HOME/
conf/felix.properties.
4. Copy the custom service jar to the custom folder in the RulePoint installation directory.
5. In the RulePoint user interface, verify if the services are available in the corresponding services page.
• You must have a JDK compiler to build the classes. The jar packaging tool comes with the Java
Development Kit (JDK). Ensure that custom services are compatible with JDK 1.7.0_11.
• You must have a basic knowledge of OSGi to write the manifest file.
• You must have installed the sdk-core.jar, which contains the interfaces, abstract classes, and annotations.
• Set the environment variable, RULEPOINT_HOME, to the RulePoint 6.2 installation location.
1. Create a Java-based package structure for the RulePoint SDK class files that you extend.
2. Place the third-party dependent jars that custom service classes require in the lib folder.
The bundle-classpath must point to the third-party jars in the lib folder within the bundle.
3. Place the MANIFEST in the META-INF directory.
4. Use the jar utility available in the JDK to package all the contents into a jar file.
• com.informatica.cep.sdk.annotations.Service
• com.informatica.cep.sdk.annotations.ServiceProperty
Annotation Description
com.informatica.cep.sdk.annotations.Service Set this annotation for all custom service classes along with
the mandatory metadata when you define a service. Set the
attributes for this annotation.
com.informatica.cep.sdk.annotations.ServiceProperty If your service has multiple instance variables, you can either
set the variables internally within the service or externally by
using inputs provided by the user. All the user-exposed and
configurable properties of the service must have public
getters and setters. You must apply the @ServiceProperty
annotation for the getters and set the attributes for this
annotation.
com.informatica.cep.sdk.annotations.Service annotation
The following table describes the attributes of the Service annotation:
Attribute Description
name The unique name of the service. Ensure that this property does not conflict with any other
service of this type.
connectionTypeName Optional. The unique name of the connection to use for this service. Leave this field blank if
this service does not require a connection.
com.informatica.cep.sdk.annotations.ServiceProperty
The following table describes the attributes of the ServiceProperty annotation:
Attribute Description
name Internal name of the property. Ensure that this property does not conflict with any other configurable
property within the service.
displayName The display name for the service on the user interface.
propertyEditor The fully qualified property editor class name to use for this property. For more information on
property editors and how to use them in the SDK, refer to “Property Editor Classes” on page 16.
order A unique ordinal number for this field for user interface ordering. Ensure that this order number does
not conflict with any other configurable field in the service.
hidden Indicates whether to show this field in the user interface. Default is false.
optional Indicates if this is an optional field. Provide a value for this field if optional is false. Default is true.
overrides Applies only to responders. Indicates if this field can be overridden in the response or rule. Default is
true.
The editor class defines how the design time must validate the property and how the configured field type
displays in the user interface. Use a property editor according to the data type of your configurable property.
The following table lists the supported property editor classes for a specific field type:
@ServiceProperty Annotation
/**
* Annotation used to mark a configurable service property. This metadata is sent along
with the service configuration.
*
*
*/
@Target(value={ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ServiceProperty {
/**
* Name of the service property
* @return the name
*/
String name();
/**
* Display name of the service property, used to show in the UI
* @return the display name
*/
String displayName();
/**
* Description of the service property
/**
* Associated property editor of the property.
* @return the property editor
*/
String propertyEditor();
/**
* Field type of the property, defaults to text.
* @return field type
*/
String fieldType() default "TEXT";
/**
* Returns the order where it needs to be rendered in the UI.
* @return
*/
int order();
/**
* Returns if the service property is hidden in the UI
* @return
*/
boolean hidden() default false;
/**
* Returns if the property is optional.
* @return
*/
boolean optional() default true;
/**
* Returns if the service property will be over-ridden in the response and rule
authoring.
* @return the overrides property
*/
boolean overrides() default true;
/**
* Default value of the service property.
* @return the default value
*/
String defaultValue() default "";
}
RulePoint uses the OSGi-based framework to load custom services in the design-time and run-time
environment. In RulePoint, the design-time and run-time environments have separate instances of the OSGi
container for the custom services. Both the containers read from the same directory.
Source Services
Source services connect to external systems to fetch data.
The source services convert the fetched data into events. The events are published on topics. RulePoint
includes schedulable and listener source services.
A schedulable service contains a configurable topic that you can schedule to run at specific times, for
example, one time every 30 minutes. An example of a schedulable service is an RSS or Atom News Reader
Service that extracts events from an RSS news feed every hour.
18
Creating a Custom Schedulable Source Service
1. Create a service class that extends from the AbstractPluggableSchedulableSource abstract class.
2. Mark the service class with the @Service annotation. Set the serviceType in @Service to
ServiceType.SOURCE.
The following code is an example of a service class that extends the
AbstractPluggableSchedulableSource class:
@Service(name="TemperatureService",
displayName = "Temperature Source",
description = "This is a Sample Source Service",
configClassName = "com.informatica.sdk.samples.sources.SampleListenerSource",
serviceType = ServiceType.SOURCE)
public class TemperatureSourceService extends
AbstractPluggableSchedulableSource {
3. Implement the following lifecycle methods for the schedulable source:
• To set the instance variables and fetch values from the properties object and configuration logic,
implement the com.informatica.cep.sdk.service.AbstractSource.configure(Properties) method. You
implement this method first to add a custom configuration property to the user interface. The
ServiceController framework calls this method during deployment. Properties argument to the
function carries all the user-provided values for the configurable properties that have a valid
@ServiceProperty annotation on their getters.
The connection attributes merged with the attributes of the source, analytic, or responder into a
single Properties object are passed to the configure() method during deployment.
The following example illustrates how to set the custom configurable property:
private String city;
@ServiceProperty(
name="city",
displayName="City",
description="Enter the name of the city and it will return the City
Temperature",
propertyEditor="com.informatica.cep.shared.beans.propertyeditors.TextEditor",
optional=false,
order=1)
public String getCity() {
return city;
}
Source Services 19
• To free the resources and undeploy the source service, implement the
com.informatica.cep.sdk.Service.destroy() method. Call this method to undeploy the source. If an
analytic uses a custom connection, you cannot destroy or clean up the connection. The destroy
method for the connection is a part of connection undeployment.
A new entry is created for the source type. The user interface displays the newly added source and the
custom configuration property in the list on the source creation page.
Examples for listener services are JMS Source and Instant Messaging Source. The listener services publish
events when they receive a message from the external entity in an asynchronous manner.
Connection Services 21
Connection Types and Properties
When you want to add a connection for a custom service, you need to specify the connectionTypeName in
the @Service annotation for that service. RulePoint provides predefined connection services that you can
configure while creating a custom service.
The following table provides the connectionTypeName for the different connection types:
Property Description
server The fully qualified domain name of the SMTP server that is used to send outbound email from RulePoint.
password The password associated with the SMTP server user name.
retryCount The number of connection retry attempts that RulePoint should make.
Property Description
server The fully-qualified host name or DNS service name of the Jabber or XMPP Server to which
this service connects.
username The user name used by RulePoint to connect to the Jabber or XMPP server.
password The password associated with the user name used by RulePoint to connect to the Jabber
or XMPP server.
publishPresencePackets Option to create an event to a specified topic each time an IM user enters, leaves, or
changes the status on the IM server.
Property Description
location The location of the naming service and port on which to connect.
contextFactory The name of the object in the JNDI server that enables the JMS Client to create JMS
connections.
packagePrefixes A colon-delimited list of package prefixes to use when loading URL context factories. These
are the package prefixes for the name of the factory class that will create a URL context
factory. For values, see the documentation of the JMS provider.
jmsConnectionFactory The JMS provider specific initial JNDI context factory implementation for connecting to the
JNDI service. This value is a fully qualified class name of the Initial Context Factory.
Property Description
acquireIncrement Number of connections to inquire at once when increasing the pool size.
driverClass The name of the JDBC driver class used to establish connections to the specified database.
jdbcString The JDBC connection string that you can use to connect to the target database.
Connection Services 23
Property Description
Property Description
url The URL of the WSDL file that contains the operations that you want to execute.
loginName The Web Service user name for Web Service authentication.
password The password associated with the Web Service user name.
wsdlDuration The amount of time in seconds that the WSDL is retained in a cache.
retryCount The number of connection retry attempts that RulePoint should make.
Property Description
Analytic Services
Analytics are functions that you can use during rule processing to either evaluate a condition, or to enrich a
condition.
When you create an analytic service, configurable analytics appear in the list. Non-configurable analytics
appear directly as suggestions during rule authoring.
The configured analytic appears in the list in the corresponding page of the user interface.
Marshaller Services
When you attach a marshaller to a source, it enriches events that are published by the source before it
reaches the event processor. When you attach a marshaller to a responder, it enriches the activation from the
event processor before sending it out to the responder.
Every source needs a separate copy of the marshaller. Marshallers are stateless and do not support the
destroy logic.
Marshaller Services 25
RulePoint does not autodetect the marshaller that you add. You need to restart the run-time if it is running for
the RulePoint run-time to detect the marshaller.
1. Extend the service class that extends from the com.informatica.cep.sdk.base.BaseActivator abstract
class.
The following example shows a service class that extends from the AbstractPluggableMarshaller class:
/**
*
*
*/
public class SampleMarshaller extends AbstractPluggableMarshaller {
2. Implement the following methods:
• com.informatica.cep.sdk.service.AbstractMarshaller.configure(Properties): Implement this method to
set the required instance variables with the values from the user interface. The ServiceController
framework calls the configure method during deployment of the source with the properties provided
in the user interface.
• com.informatica.cep.sdk.Marshaller.transform(Map<String, Object>): Implement this method to use
the original event or activation map and add, remove, or modify the properties with the
transformation logic and return the transformed event or activation. If the transform method throws a
RuntimeException, the exception is delegated to the ServiceController layer. You can view this error
on the dashboard.
3. Package the class into the jar and copy it to the RULEPOINT_HOME/lib directory.
4. Start the design-time and run-time environment.
The marshaller class name and configured properties appear in the list in the corresponding page of the
user interface.
Responder Services
Responder services enable you to define the action to take when a rule triggers.
You can create multiple responses from a single responder service. For example, an email service is a type of
responder service that defines the mail server and account used to send an email in response when a rule
triggers. You then can create multiple email responses from this service in which you define different
recipients and contents of the emails to be sent when a particular rule triggers.
Responder Services 27
Chapter 4
The Java Adapter for REST API offers the following benefits:
• Includes JSON parsers and generators that are compatible with the JSON schema exposed by the
RulePoint REST API.
• Includes an entire suite of Java classes that model the entities which exist within RulePoint. Entities
include RulePoint objects, project context objects, users and roles, and deployment options, such as
deploy, undeploy, and redeploy.
• Includes multiple API classes that provide a simple programmatic interface for accessing RulePoint
functionality.
• Provides simple, structured, and localizable error handling.
Prerequisite
The RulePoint Java Adapter requires that you have a running instance of RulePoint 6.2.
28
RulePoint Java Adapter Components
Unzip the contents of RulePoint_Java_Adapter_6.2.zip to your work folder (for example, C:\api). This zip
file includes the following files:
lib/jackson/jackson-core-2.0.2.jar The Jackson Core streaming parser library required by the RulePoint
Java API Adapter.
lib/jackson/jackson-databind-2.0.2.jar The Jackson databind for data binding and tree model required by
the RulePoint Java API Adapter.
lib/commons-codec-1.4.jar The Apache Commons Codec library required by the RulePoint Java
API Adapter.
lib/ joda-time-2.1.jar A library that ensures a quality replacement for the Java date and
time classes.
lib/ log4j-1.2.16.jar A logging library for Java that enables logging at runtime without
modifying the application binary.
lib/commons-httpclient-3.1.jar The Apache HttpClient library required by the RulePoint Java API
Adapter.
lib/commons-logging-1.1.1.jar The Apache logging library required by the RulePoint Java API
Adapter.
samples/build.properties The build property file to run a sample demo. You use this file to
configure which sample file to run.
samples/ The sample files that show you how to use the REST Adapter API.
The samples include the following files:
- AdvancedRuleDemo.java
- EmailTemplateDemo.java
- ListResponsesByFilter.java
- DeployRuleDemo.java
- ListRulesByFilter.java
- PublishEventDemo.java
- RtamTemplateDemo.java
- RulePointLoginDemo.java
- TemplateUpgradeDemo.java
• bin/config.properties
• lib/rulepointAdapter.jar
• lib/jackson/jackson-core-2.0.2.jar
• lib/jackson/jackson-annotations-2.0.2.jar
• lib/jackson/jackson-databind-2.0.2.jar
• lib/commons-codec-1.4.jar
• lib/commons-httpclient-3.1.jar
• lib/commons-logging-1.1.1.jar
• joda-time-2.1.jar
• log4j-1.2.16.jar
Ensure that the following element is configured with the correct URL to communicate with RulePoint. Also,
ensure that the URL includes a trailing slash ‘/’ character:
RulePoint.Base.URL=http://[localhost]:[port]/rulepoint/
Sample Code
The following source code demonstrates how to log in to RulePoint, create a rule, list all rules, and then log
out.
Note: You must create a response named “RTAM Alert” and a topic named "news" in RulePoint before
attempting to execute this code. If you do not create a response, you will receive a RulePointException error
at run time.
import java.util.ArrayList;
import java.util.List;
import com.informatica.cep.wrapper.api.ProjectContext;
import com.informatica.cep.wrapper.api.RulePointAPI;
import com.informatica.cep.wrapper.dao.query.FilterClause;
import com.informatica.cep.wrapper.dao.query.OrderBy;
import com.informatica.cep.wrapper.dao.query.PaginatedQuery;
import com.informatica.cep.wrapper.dao.query.QueryFilter;
import com.informatica.cep.wrapper.error.RulePointException;
import com.informatica.cep.wrapper.vo.AccessControlListVO;
/**
* A simple application that performs the following steps:
*
* 1) Login to RulePoint 2) Create a rule 3) Load a list of rules 4) Logout of
* RulePoint
*/
public class HelloRulePoint {
private static String projectName = "Default Project";
// This access control grants read permission to the user identified by the
unique name 'demo'.
AccessControlVO demoAccess = new AccessControlVOImpl();
demoAccess.setPermission(Permission.READ);
demoAccess.setGranted(true);
demoAccess.setPrincipal("demo");
// Build the access control list
AccessControlListVO acl = new AccessControlListVOImpl();
List<AccessControlVO> list = new ArrayList<AccessControlVO>();
// list.add(myAccess);
list.add(demoAccess);
acl.setEntries(list);
rule.setACL(acl);
// Create the rule
RuleVO savedRule =context.createAdvancedRule(rule);
// Default ACL will be created for current user. Get the default created ACLs
AccessControlListVO currentUserACL = savedRule.getACL();
AccessControlVO accessControlVO = currentUserACL.getEntries().get(0);
System.out.println("Current User Principal from default ACL
"+accessControlVO.getPrincipal());
System.out.println("Current User Permission from default ACL
"+accessControlVO.getPermission());
System.out.println("Rule is Valid ? "+savedRule.isValid());
System.out.println("Deploy State of the Rule is
"+savedRule.getDeployState());
System.out.println("Created rule with ID " + savedRule.getId());
System.out.println("Loading rules");
RuleVO[] allRules =
api.getProjectContextByName(projectName).getRuleList(query, filter, orderBy);
System.out.println("Loaded " + allRules.length + " rule(s)");
for (RuleVO r : allRules) {
System.out.println("id=" + r.getId() + " name=" + r.getName()
+ " description=" + r.getDescription() + " drql="
+ r.getDrql());
}
} catch (RulePointException ex) {
ex.printStackTrace(System.err);
}
finally{
try {
//destroy project context
context.destroy();
// logout RulePoint
api.logout();
} catch (RulePointException e) {
e.printStackTrace(System.err);
}
}
}
}
Search API
You can use the search API to search for objects with a filter clause. The filter clause accepts the name of
the property, operator, and one or more values of the property you want to search for. You can also specify
the state and validity for each property. Add the additional flags for a property as enumerations in brackets in
the same query.
To search for the deployment state in a query, you must can have an IN query and specify the list of all the
values you want to search. The three values for the deployment states include DRAFT, NEEDS_DEPLOYMENT,
and DEPLOYED.
For example, the following query creates a FilterClause that queries for objects with deployState either
DEPLOYED or NEEDS_DEPLOYMENT:
FilterClause clause = new FilterClause("deployState", OPCODE.IN, "NEEDS_DEPLOYMENT",
"DEPLOYED");
deployState is the name of the property, OPCODE.IN is the operator, and "NEEDS_DEPLOYMENT", and
"DEPLOYED" are values of the property that you want to search.
You can also query date fields, such as lastModifiedDate or createDate. You must specify the date in the
following format:
yyyy-MM-dd'T'HH:mm:ss.SSSZZ
The following list provides the common properties that you can query for all objects, with the enumerations in
brackets. Specify the property in exact same case:
• id
Rule drqlStatement multithreaded (true/false) - IN, EQUALS, NOT ruleType (ADVANCED, TEMPLATE, WIZARD)
Topic expiresIn
//Get the project context for the project in which the artifacts
has to be created
ProjectVO projectByName = api.getProjectByName("Default Project");
ProjectContext projectContext =
api.getProjectContext(projectByName);
Search API 33
clauses.add(clause);
filter.setClauses(clauses);
The RulePoint REST API allows you to use API calls to perform the following tasks in RulePoint:
You can access the REST APIs through the following base URL:
http://<localhost>:<port>/rulepoint/api
When you use the REST API to configure a request, use the appropriate resource, method, the applicable date
and time values, object ID, along with the applicable headers. Use the applicable format for the request
header and body component. RulePoint supports XML and JSON formats for passing the attributes.
RulePoint performs the requested task and returns the http response, or returns an error object and related
messages.
For more information on the request and response format for specific RulePoint resources, see the sample
XML and JSON requests and responses.
35
Header and Body Configuration
A request has a request header and body component You can use the XML or JSON format to define a
request.
Request Header
When you construct a REST API request header, use the following format:
<METHOD> <Server URL>/rulepoint/api/<URI>
Content-Type: application/<json|xml>
Accept: application/<json|xml>
Cookie: $Version=1; JSESSIONID=<Valid_session_ID>
The following table includes the request components:
METHOD Required Method you want to use, such as GET, POST, PUT, or DELETE.
Server URL Required Base URL for all resources, which include the hostname and port.
URI Required for The resource URI. The format of a resource URI is:
most - <projects/project ID>. Use this URI to refer to a project with this project ID.
resources - projects/project ID/<object_type>. Use this URI to refer to objects of the
specified object type within a project.
- projects/project ID/<object_type>/<object ID>. Use this URI to refer to an
object with a specific ID in the object category.
Content- Required for Format of the request. Use one of the following options:
Type POST requests - application/json. Reads request as JSON.
- application/xml. Reads request as XML.
Default is json.
Accept Optional Request format that you want. Use one of the following options:
- application/json. Sends response as JSON.
- application/xml. Sends response as XML.
Default is json.
Cookie Required Sets the valid session ID as a cookie while a client makes a REST call to any of the
resources of RulePoint. Make the /dtlogin REST call to obtain the session ID. The
RulePoint session ID is set as the JSESSIONID cookie.
Request Body
Use the request body to pass additional attributes for the resource. When you pass attributes in a request
body, you pass the attributes as part of an object. You can use the JSON or XML formats to pass the
attributes.
XML Format
When you use the XML format, define a request object as an enclosing set of tags, as follows:
<artifactType>
<name>[NAME OF THE OBJECT]</name>
<description>[DESCRIPTION OF THE OBJECT]</description>
<config>
<entry>
<key>[CONFIG ATTRIBUTE NAME]</key>
<value>[CONFIG ATTRIBUTE VALUE]</value>
</entry>
.
.
<entry>
<key>[CONFIG ATTRIBUTE NAME]</key>
<value>[CONFIG ATTRIBUTE VALUE]</value>
</entry>
</config>
</artifactType>
Return Lists
When the REST API returns a series of objects in JSON, it encloses the list in square brackets.
{
"total": <total number of items>,
"count": <items fetched in this call>,
"items": [
{
"id": "<ID of the object>",
"name": "<name of the object>",
"self": {
"rel": "self",
"href": "URI of the object"
},
"actions": [
{
"rel": "<action>",
"href": "<URI for the action>",
"type": "http method"
}
],
Example
To retrieve the current active session of the user using the JSON format, you might use the following request
header and response on wire:
GET http://localhost:8080/rulepoint/api/sessionInfo
Accept: application/json
Content-Type: application/json
Cookie: JSESSIONID=<VALID SESSION ID>
The server returns the following information:
{
"sessionId": "5F0B092410A9CFFC8049F9EA816E40BD",
Use the following UTC date format for all date and time values that you pass in requests. The same format is
used for all date and time values returned from RulePoint.
<yyyy>-<MM>-<dd>T<HH>:<mm>:<ss>.<SSS>Z
HH Hour in the 24-hour format. For example, 0 for 12:00:00 a.m. and 23 for 11:00:00 p.m.
For example, the following date string represents 3:OO PM UTC on August 07, 2013:
2013-08-07T15:00:000Z
Object IDs
All requests require an object ID. To find the object ID that you need, you can use the related GET request.
For example, to get a specific topic ID, do a GET on /topics, which lists all the topics in the project. Iterate
over the list of topics that is returned by the previous rest call to get the ID of the topic by the given name.
GET http://localhost:8080/rulepoint/api/projects/1/topics
Object IDs 41
"lastModifiedDate": "2013-08-06T16:05:01+05:30",
"createDate": "2013-07-30T10:08:21+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DEPLOYED",
"force": false,
"expiresIn": 600000,
"responderAccess": "ALL_PROPERTIES",
"properties": [],
"rules": [
{
"href": "api/projects/1/rules/9e212e7e-96e9-43f6-9725-57b3e3da4e23",
"title": "filrule",
"objectType": "rules",
"id": "9e212e7e-96e9-43f6-9725-57b3e3da4e23"
}
],
"sources": [
{
"href": "api/projects/1/sources/daf6350b-99cb-49e7-b69a-
a1ea801e32a0",
"title": "invalidsrc",
"objectType": "sources",
"id": "daf6350b-99cb-49e7-b69a-a1ea801e32a0"
},
{
"href": "api/projects/1/sources/01eec793-87aa-44fe-a12d-
ee3b98e0e71d",
"title": "sqlsrc1",
"objectType": "sources",
"id": "01eec793-87aa-44fe-a12d-ee3b98e0e71d"
},
{
"href": "api/projects/1/sources/ba80a9f1-
f0a2-4600-986a-40ecc7a1c832",
"title": "invalidsrc2",
"objectType": "sources",
"id": "ba80a9f1-f0a2-4600-986a-40ecc7a1c832"
}
],
"responders": [],
"templates": []
},
{
"id": "8ad3c733-5e7e-4908-b449-951edfbb9e2b",
"name": "rsstopic",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/topics/8ad3c733-5e7e-4908-b449-951edfbb9e2b",
"title": "rsstopic",
"id": "8ad3c733-5e7e-4908-b449-951edfbb9e2b"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/topics/8ad3c733-5e7e-4908-b449-951edfbb9e2b",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/topics/8ad3c733-5e7e-4908-b449-951edfbb9e2b",
"type": "DELETE",
"title": "Delete"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/topics/8ad3c733-5e7e-4908-b449-951edfbb9e2b/acl",
Object IDs 43
"status": "ACTIVE",
"order": 0
},
{
"name": "end_time",
"description": "Time (since epoch in milliseconds) when marker end
is produced by engine",
"status": "ACTIVE",
"order": 1
},
{
"name": "engine_name",
"description": "Name of the engine that produce the marker begin end
events",
"status": "ACTIVE",
"order": 2
},
{
"name": "event_count",
"description": "Value of event count is string form of integer",
"status": "ACTIVE",
"order": 3
},
{
"name": "hit_ratio",
"description": "Ratio of number of events in marker boundary that
participated in activations and EVENTS_COUNT",
"status": "ACTIVE",
"order": 4
},
{
"name": "marker_name",
"description": "marker_name",
"status": "ACTIVE",
"order": 5
},
{
"name": "marker_type",
"description": "value is either begin or end",
"status": "ACTIVE",
"order": 6
},
{
"name": "rule_activation_count",
"description": "Total number of activations in which event within
marker boundary participated",
"status": "ACTIVE",
"order": 7
},
{
"name": "rules_processed",
"description": "Comma separated list of all rules that processed
events received in the marker boundary",
"status": "ACTIVE",
"order": 8
},
{
"name": "source_list",
"description": "Comma separated list of sources that produced marker
events",
"status": "ACTIVE",
"order": 9
},
{
"name": "total_processing_time",
"description": "Total processing time (in milliseconds) of all
events in the marker boundary",
"status": "ACTIVE",
"order": 10
}
],
GET Returns the requested object, along with the response HTTP 400, 403, 404, or 409 error.
code 200.
POST Returns the requested object that you created, with a HTTP 400, 403, 404, 409, or 500 error.
response code 201.
PUT Updates the object and returns the updated object, HTTP 400, 403, 404, 409, or 500 error.
with http response code 200.
DELETE No response, with an http response code 204. HTTP 400, 403, 403, 404, 409, or 500
error.
Error Object
When the REST API encounters an error, it returns HTTP 400, 403, 404, 409, or 500 error.
Error Messages
For more information on the error codes and their descriptions, see "Error Codes" in the RulePoint
Administrator Guide.
• Projects, 48
• Topics, 54
• Connections, 64
• Sources, 106
• Schedule, 190
• Responders, 199
• Responses, 264
• Marshaller, 325
• Template, 334
• Rules, 345
• Analytics, 360
• Users, 365
• Objects Deployment , 373
• Create Event, 377
• Log In, 378
47
Projects
You can use API calls to perform various operations with projects.
Create Projects
Use the POST method to create a project in RulePoint.
Projects 49
Retrieve Projects
Use the GET method to retrieve a project in RulePoint.
Projects 51
"type": "PUT"
},
{
"rel": "delete",
"href": "/api/projects/2",
"type": "DELETE"
},
{
"rel": "deploy",
"href": "/api/projects/2/deploy",
"type": "POST"
},
{
"rel": "undeploy",
"href": "/api/projects/2/undeploy",
"type": "POST"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/2/acl",
"title": "acl"
},
"description": "ImportProj1375183310634"
}
]
}
Response Code : 200 OK
Update Projects
Use the PUT method to update a project in RulePoint.
Projects 53
<href>/api/projects/98315/undeploy</href>
<rel>undeploy</rel>
<type>POST</type>
</action>
</actions>
<id>98315</id>
<links/>
<name>TestProject</name>
<self>
<href>api/projects/98315</href>
<rel>self</rel>
</self>
<valid>false</valid>
<description>Test Project</description>
</project>
Response Code : 200 OK
Delete Projects
Use the DELETE method to delete a project in RulePoint.
Topics
Use the examples to retrieve, create, update, or delete a topic.
Create Topics
Use the POST method to create a topic in RulePoint.
Topics 55
POST Request in XML Format
Generate a POST request. For example, the following POST request creates a topic in a RulePoint application:
POST http://localhost:8080/rulepoint/api/projects/98315/topics
Accept: application/xml
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Retrieve Topics
Use the GET method to retrieve a topic in RulePoint.
],
"acl": {
"rel": "acl",
"href": "api/projects/1/topics/619cca07-4fc1-460a-8b6b-
aef2901e8782/acl",
"title": "acl"
},
"links": {
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "topics",
"lastModifiedDate": "2013-07-30T16:34:10+05:30",
"createDate": "2013-07-30T16:34:10+05:30",
"createdBy": "Administrator",
"predefined": true,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"expiresIn": 36000,
"responderAccess": "NAMED_PROPERTIES",
"properties": [
{
"name": "begin_time",
"description": "Time (since epoch in milliseconds) when marker
Topics 57
begin is produced by engine",
"status": "ACTIVE",
"order": 0
},
{
"name": "end_time",
"description": "Time (since epoch in milliseconds) when marker
end is produced by engine",
"status": "ACTIVE",
"order": 1
},
{
"name": "engine_name",
"description": "Name of the engine that produce the marker begin
end events",
"status": "ACTIVE",
"order": 2
},
{
"name": "event_count",
"description": "Value of event count is string form of integer",
"status": "ACTIVE",
"order": 3
},
{
"name": "hit_ratio",
"description": "Ratio of number of events in marker boundary
that participated in activations and EVENTS_COUNT",
"status": "ACTIVE",
"order": 4
},
{
"name": "marker_name",
"description": "marker_name",
"status": "ACTIVE",
"order": 5
},
{
"name": "marker_type",
"description": "value is either begin or end",
"status": "ACTIVE",
"order": 6
},
{
"name": "rule_activation_count",
"description": "Total number of activations in which event
within marker boundary participated",
"status": "ACTIVE",
"order": 7
},
{
"name": "rules_processed",
"description": "Comma separated list of all rules that processed
events received in the marker boundary",
"status": "ACTIVE",
"order": 8
},
{
"name": "source_list",
"description": "Comma separated list of sources that produced
marker events",
"status": "ACTIVE",
"order": 9
},
{
"name": "total_processing_time",
"description": "Total processing time (in milliseconds) of all
events in the marker boundary",
"status": "ACTIVE",
"order": 10
],
"sources": [
],
"responders": [
],
"templates": [
]
}
]
}
Response Code : 200 OK
Topics 59
<description>Time (since epoch in milliseconds) when marker begin is
produced by engine</description>
<name>begin_time</name>
<order>0</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>Time (since epoch in milliseconds) when marker end is
produced by engine</description>
<name>end_time</name>
<order>1</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>Name of the engine that produce the marker begin end
events</description>
<name>engine_name</name>
<order>2</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>Value of event count is string form of integer</description>
<name>event_count</name>
<order>3</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>Ratio of number of events in marker boundary that
participated in activations and EVENTS_COUNT</description>
<name>hit_ratio</name>
<order>4</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>marker_name</description>
<name>marker_name</name>
<order>5</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>value is either begin or end</description>
<name>marker_type</name>
<order>6</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>Total number of activations in which event within marker
boundary participated</description>
<name>rule_activation_count</name>
<order>7</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>Comma separated list of all rules tchat processed events
received in the marker boundary</description>
<name>rules_processed</name>
<order>8</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>Comma separated list of sources that produced marker
events</description>
<name>source_list</name>
<order>9</order>
<status>ACTIVE</status>
</properties>
<properties>
<description>Total processing time (in milliseconds) of all events in
the marker boundary</description>
<name>total_processing_time</name>
Update Topics
Use the PUT method to update a topic in RulePoint.
Topics 61
"links": {},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/3",
"title": "TestProject1",
"id": "3"
},
"description": "Test Topic",
"type": "topics",
"lastModifiedDate": "2013-07-30T06:39:22+05:30",
"createDate": "2013-07-30T06:39:22+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"expiresIn": 30000,
"responderAccess": "ALL_PROPERTIES",
"properties": [],
"rules": [],
"responders": [],
"templates": []
}
Response Code : 200 OK
Delete Topics
Use the DELETE method to delete a topic in RulePoint.
Topics 63
Connections
You can use API calls to perform various operations with SQL, email, JMS, and web service connections.
SQL Connection
Use the examples to retrieve, create, update, or delete an SQL connection.
Connections 65
<description>A SQL Connection</description>
<connectionType>jdbcConnection</connectionType>
<config>
<entry>
<key>driverClass</key>
<value>oracle.jdbc.OracleDriver</value>
</entry>
<entry>
<key>jdbcString</key>
<value>jdbc:oracle:thin:@invr28cep46:1521:ORCL</value>
</entry>
<entry>
<key>username</key>
<value>cep_ci_user</value>
</entry>
<entry>
<key>password</key>
<value>cep_ci_secret</value>
</entry>
<entry>
<key>acquireIncrement</key>
<value>1</value>
</entry>
<entry>
<key>acquireRetryAttempts</key>
<value>0</value>
</entry>
<entry>
<key>acquireRetryDelay</key>
<value>5000</value>
</entry>
<entry>
<key>checkoutTimeout</key>
<value>2000</value>
</entry>
<entry>
<key>initialPoolSize</key>
<value>5</value>
</entry>
<entry>
<key>loginTimeout</key>
<value>5000</value>
</entry>
<entry>
<key>maxIdleTime</key>
<value>36000</value>
</entry>
<entry>
<key>maxPoolSize</key>
<value>10</value>
</entry>
<entry>
<key>minPoolSize</key>
<value>2</value>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
</config>
</connection>
Connections 67
<entry>
<key>acquireIncrement</key>
<value>1</value>
</entry>
<entry>
<key>checkoutTimeout</key>
<value>2000</value>
</entry>
<entry>
<key>password</key>
<value>cep_ci_secret</value>
</entry>
<entry>
<key>username</key>
<value>cep_ci_user</value>
</entry>
<entry>
<key>maxPoolSize</key>
<value>10</value>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>minPoolSize</key>
<value>2</value>
</entry>
<entry>
<key>driverClass</key>
<value>oracle.jdbc.OracleDriver</value>
</entry>
<entry>
<key>initialPoolSize</key>
<value>5</value>
</entry>
<entry>
<key>loginTimeOut</key>
<value>3</value>
</entry>
</config>
<connectionType>jdbcConnection</connectionType>
<connectionTypeDisplayName>SQL Connection</connectionTypeDisplayName>
</connection>
Response Code : 201 Created
Connections 69
"href": "api/projects/1/sources/daf6350b-99cb-49e7-b69a-
a1ea801e32a0",
"title": "invalidsrc",
"objectType": "sources",
"id": "daf6350b-99cb-49e7-b69a-a1ea801e32a0"
},
{
"href": "api/projects/1/sources/01eec793-87aa-44fe-a12d-
ee3b98e0e71d",
"title": "sqlsrc1",
"objectType": "sources",
"id": "01eec793-87aa-44fe-a12d-ee3b98e0e71d"
}
],
"responders": [
{
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-
f36a7bcdf151",
"title": "sqlresponder",
"objectType": "responders",
"id": "8bd61211-404b-4cd4-8a84-f36a7bcdf151"
}
]
},
{
"id": "03e9c236-1a01-40e2-9d4a-f13c893abef7",
"name": "wsconn",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/connections/03e9c236-1a01-40e2-9d4a-
f13c893abef7",
"title": "wsconn",
"id": "03e9c236-1a01-40e2-9d4a-f13c893abef7"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/connections/03e9c236-1a01-40e2-9d4a-
f13c893abef7",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/connections/03e9c236-1a01-40e2-9d4a-
f13c893abef7",
"type": "DELETE",
"title": "Delete"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/connections/03e9c236-1a01-40e2-9d4a-
f13c893abef7/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "connections",
"lastModifiedDate": "2013-08-19T11:21:03+05:30",
"createDate": "2013-08-19T09:22:55+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
Connections 71
a40e96208ee9/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "connections",
"lastModifiedDate": "2013-08-13T10:38:12+05:30",
"createDate": "2013-08-06T16:04:07+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"connectionType": "jdbcConnection",
"connectionTypeDisplayName": "SQL Connection",
"config": {
"acquireRetryAttempts": "0",
"acquireRetryDelay": "5000",
"jdbcString": "jdbc:oracle:thin:@invr28cep46:1521:orcl",
"maxIdleTime": "36000",
"acquireIncrement": "1",
"checkoutTimeout": "2000",
"password": "cep_ci_secret",
"username": "cep_ci_user",
"maxPoolSize": "5",
"retryCount": "3",
"retryDelay": "1000",
"minPoolSize": "1",
"driverClass": "oracledriver",
"initialPoolSize": "1",
"loginTimeOut": "3"
},
"sources": [
{
"href": "api/projects/1/sources/ba80a9f1-
f0a2-4600-986a-40ecc7a1c832",
"title": "invalidsrc2",
"objectType": "sources",
"id": "ba80a9f1-f0a2-4600-986a-40ecc7a1c832"
}
]
},
{
"id": "bba20936-201a-4d3c-afad-33c76fb9366b",
"name": "emailcon",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/connections/bba20936-201a-4d3c-
afad-33c76fb9366b",
"title": "emailcon",
"id": "bba20936-201a-4d3c-afad-33c76fb9366b"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/connections/bba20936-201a-4d3c-
afad-33c76fb9366b",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/connections/bba20936-201a-4d3c-
afad-33c76fb9366b",
"type": "DELETE",
Connections 73
<rel>acl</rel>
<title>acl</title>
</acl>
<actions>
<action>
<href>api/projects/1/connections/2d5c8d79-b732-4fe8-
ad69-3243d102ed49</href>
<rel>update</rel>
<title>Edit</title>
<type>PUT</type>
</action>
<action>
<href>api/projects/1/connections/2d5c8d79-b732-4fe8-
ad69-3243d102ed49</href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
</actions>
<id>2d5c8d79-b732-4fe8-ad69-3243d102ed49</id>
<links/>
<name>sqlconnection</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/connections/2d5c8d79-b732-4fe8-ad69-3243d102ed49</
href>
<id>2d5c8d79-b732-4fe8-ad69-3243d102ed49</id>
<rel>self</rel>
<title>sqlconnection</title>
</self>
<valid>true</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>connections</type>
<config>
<entry>
<key>acquireRetryAttempts</key>
<value>0</value>
</entry>
<entry>
<key>acquireRetryDelay</key>
<value>5000</value>
</entry>
<entry>
<key>jdbcString</key>
<value>jdbc:oracle:thin:@invr28cep46:1521:orcl</value>
</entry>
<entry>
<key>maxIdleTime</key>
<value>36000</value>
</entry>
<entry>
<key>acquireIncrement</key>
<value>1</value>
</entry>
<entry>
<key>checkoutTimeout</key>
<value>2000</value>
</entry>
<entry>
Connections 75
<title>Edit</title>
<type>PUT</type>
</action>
<action>
<href>api/projects/1/connections/03e9c236-1a01-40e2-9d4a-
f13c893abef7</href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
</actions>
<id>03e9c236-1a01-40e2-9d4a-f13c893abef7</id>
<links/>
<name>wsconn</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/connections/03e9c236-1a01-40e2-9d4a-f13c893abef7</
href>
<id>03e9c236-1a01-40e2-9d4a-f13c893abef7</id>
<rel>self</rel>
<title>wsconn</title>
</self>
<valid>true</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>connections</type>
<analytics>
<href>api/projects/1/analytics/42d49371-55ee-45b4-bfff-46f35de9e156</
href>
<id>42d49371-55ee-45b4-bfff-46f35de9e156</id>
<objectType>analytics</objectType>
<title>wsanalytic</title>
</analytics>
<config>
<entry>
<key>userNameSpace</key>
<value/>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>password</key>
</entry>
<entry>
<key>wsdlDuration</key>
<value>0</value>
</entry>
<entry>
<key>url</key>
<value>http://invr28cep46:8080/CepQeWebServices/HelloWorldService?
wsdl</value>
</entry>
<entry>
<key>loginName</key>
Connections 77
<value>0</value>
</entry>
<entry>
<key>acquireRetryDelay</key>
<value>5000</value>
</entry>
<entry>
<key>jdbcString</key>
<value>jdbc:oracle:thin:@invr28cep46:1521:orcl</value>
</entry>
<entry>
<key>maxIdleTime</key>
<value>36000</value>
</entry>
<entry>
<key>acquireIncrement</key>
<value>1</value>
</entry>
<entry>
<key>checkoutTimeout</key>
<value>2000</value>
</entry>
<entry>
<key>password</key>
<value>cep_ci_secret</value>
</entry>
<entry>
<key>username</key>
<value>cep_ci_user</value>
</entry>
<entry>
<key>maxPoolSize</key>
<value>5</value>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>minPoolSize</key>
<value>1</value>
</entry>
<entry>
<key>driverClass</key>
<value>oracledriver</value>
</entry>
<entry>
<key>initialPoolSize</key>
<value>1</value>
</entry>
<entry>
<key>loginTimeOut</key>
<value>3</value>
</entry>
</config>
<connectionType>jdbcConnection</connectionType>
<connectionTypeDisplayName>SQL Connection</connectionTypeDisplayName>
<sources>
<href>api/projects/1/sources/ba80a9f1-f0a2-4600-986a-40ecc7a1c832</href>
<id>ba80a9f1-f0a2-4600-986a-40ecc7a1c832</id>
<objectType>sources</objectType>
<title>invalidsrc2</title>
</sources>
</connection>
<connection>
<acl>
Connections 79
</config>
<connectionType>emailConnection</connectionType>
<connectionTypeDisplayName>Email Connection</connectionTypeDisplayName>
<responders>
<href>api/projects/1/responders/51ba1457-5112-4e70-99f1-fe94af5ddea3</
href>
<id>51ba1457-5112-4e70-99f1-fe94af5ddea3</id>
<objectType>responders</objectType>
<title>emailresponder</title>
</responders>
</connection>
</items>
<total>4</total>
<invalidCount>0</invalidCount>
</artifacts>
Response Code : 200 OK
Connections 81
<type>connections</type>
<description>A SQL Connection</description>
<connectionType>jdbcConnection</connectionType>
<config>
<entry>
<key>driverClass</key>
<value>oracle.jdbc.OracleDriver</value>
</entry>
<entry>
<key>jdbcString</key>
<value>jdbc:oracle:thin:@invr28cep46:1521:ORCL</value>
</entry>
<entry>
<key>username</key>
<value>cep_ci_user</value>
</entry>
<entry>
<key>password</key>
<value>cep_ci_secret</value>
</entry>
<entry>
<key>acquireIncrement</key>
<value>1</value>
</entry>
<entry>
<key>acquireRetryAttempts</key>
<value>0</value>
</entry>
<entry>
<key>acquireRetryDelay</key>
<value>5000</value>
</entry>
<entry>
<key>checkoutTimeout</key>
<value>2000</value>
</entry>
<entry>
<key>initialPoolSize</key>
<value>5</value>
</entry>
<entry>
<key>loginTimeout</key>
<value>5000</value>
</entry>
<entry>
<key>maxIdleTime</key>
<value>36000</value>
</entry>
<entry>
<key>maxPoolSize</key>
<value>10</value>
</entry>
<entry>
<key>minPoolSize</key>
<value>2</value>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
</config>
</connection>
Connections 83
<entry>
<key>acquireIncrement</key>
<value>1</value>
</entry>
<entry>
<key>checkoutTimeout</key>
<value>2000</value>
</entry>
<entry>
<key>password</key>
<value>cep_ci_secret</value>
</entry>
<entry>
<key>username</key>
<value>cep_ci_user</value>
</entry>
<entry>
<key>maxPoolSize</key>
<value>10</value>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>minPoolSize</key>
<value>2</value>
</entry>
<entry>
<key>driverClass</key>
<value>oracle.jdbc.OracleDriver</value>
</entry>
<entry>
<key>initialPoolSize</key>
<value>5</value>
</entry>
<entry>
<key>loginTimeOut</key>
<value>3</value>
</entry>
</config>
<connectionType>jdbcConnection</connectionType>
<connectionTypeDisplayName>SQL Connection</connectionTypeDisplayName>
</connection>
Response Code : 200 OK
Email Connection
Use the examples to create, update, or delete an email connection.
Connections 85
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/connections/bba20936-201a-4d3c-afad-33c76fb9366b",
"type": "DELETE",
"title": "Delete"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/connections/bba20936-201a-4d3c-afad-33c76fb9366b/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "connections",
"lastModifiedDate": "2013-09-11T17:44:42+05:30",
"createDate": "2013-08-07T17:49:28+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"connectionType": "emailConnection",
"connectionTypeDisplayName": "Email Connection",
"config": {
"port": "25",
"username": "",
"retryCount": "3",
"retryDelay": "1000",
"server": "mail.mycompany.com",
"password": null
},
"responders": [
{
"href": "api/projects/1/responders/51ba1457-5112-4e70-99f1-fe94af5ddea3",
"title": "emailresponder",
"objectType": "responders",
"id": "51ba1457-5112-4e70-99f1-fe94af5ddea3"
}
]
}
Response Code : 201 Created
Connections 87
<type>connections</type>
<config>
<entry>
<key>port</key>
<value>25</value>
</entry>
<entry>
<key>username</key>
<value/>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>retryDelay</key>
<value>5000</value>
</entry>
<entry>
<key>server</key>
<value>mail.informatica.com</value>
</entry>
</config>
<connectionType>emailConnection</connectionType>
<connectionTypeDisplayName>Email Connection</connectionTypeDisplayName>
</connection>
Response Code : 201 Created
Connections 89
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Connections 91
Response Code : 204 No Content
JMS Connection
Use the examples to create, update, or delete a JMS connection.
Connections 93
</config>
<connectionType>jmsConnection</connectionType>
</connection>
Connections 95
"type": "DELETE",
"title": "Delete"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/connections/894b2948-ce82-4e0a-9302-267d3482ae25/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "connections",
"lastModifiedDate": "2013-08-23T15:17:58+05:30",
"createDate": "2013-08-23T15:17:58+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"connectionType": "jmsConnection",
"connectionTypeDisplayName": "JMS Connection",
"config": {
"packagePrefixes": "",
"jmsConnectionFactory": "ConnectionFactory",
"location": "tcp://invr28cep46:61616",
"contextFactory": "org.apache.activemq.jndi.ActiveMQInitialContextFactory",
"userName": "",
"password": null
}
}
Response Code : 200 OK
Connections 97
<value>tcp://invr28cep46:61616</value>
</entry>
<entry>
<key>contextFactory</key>
<value>org.apache.activemq.jndi.ActiveMQInitialContextFactory</value>
</entry>
<entry>
<key>userName</key>
<value/>
</entry>
<entry>
<key>password</key>
</entry>
</config>
<connectionType>jmsConnection</connectionType>
<connectionTypeDisplayName>JMS Connection</connectionTypeDisplayName>
</connection>
Response Code : 200 OK
Connections 99
"href": "api/projects/1/connections/e9bcc9ae-8e78-4b2c-a3f4-48352e817052/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"description": "A WebService Connection",
"type": "connections",
"lastModifiedDate": "2013-09-13T16:37:29+05:30",
"createDate": "2013-09-13T16:10:38+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"connectionType": "wsConnection",
"connectionTypeDisplayName": "Web Service Connection",
"config": {
"userNameSpace": "",
"retryCount": "3",
"retryDelay": "1000",
"password": null,
"wsdlDuration": "60000",
"url": "http://invr28cep46:8080/CepQeWebServices/HelloWorldService?wsdl",
"loginName": ""
}
}
Response Code : 201 Created
Connections 101
<value>1000</value>
</entry>
<entry>
<key>password</key>
</entry>
<entry>
<key>wsdlDuration</key>
<value>60000</value>
</entry>
<entry>
<key>url</key>
<value>http://invr28cep46:8080/CepQeWebServices/HelloWorldService?wsdl</
value>
</entry>
<entry>
<key>loginName</key>
<value/>
</entry>
</config>
<connectionType>wsConnection</connectionType>
</connection>
Response Code : 201 Created
Connections 103
<type>connections</type>
<config>
<entry>
<key>userNameSpace</key>
<value/>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>password</key>
</entry>
<entry>
<key>wsdlDuration</key>
<value>60000</value>
</entry>
<entry>
<key>url</key>
<value>http://invr28cep46:8080/CepQeWebServices/HelloWorldService?wsdl</
value>
</entry>
<entry>
<key>loginName</key>
<value/>
</entry>
</config>
<connectionType>wsConnection</connectionType>
</connection>
Connections 105
DELETE Request in XML Format
Generate a DELETE request. For example, the following DELETE request deletes a web service connection in
a RulePoint application:
DELETE http://localhost:8080/rulepoint/api/projects/1/connections/e9bcc9ae-8e78-4b2c-
a3f4-48352e817052
Accept: application/xml
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Response Code : 204 No Content
Sources
You can use API calls to perform various operations with SQL, JMS, RSS Reader, URL monitoring, web page
monitoring, web service, file input, and event generator sources.
SQL Source
Use the examples to retrieve, create, update, or delete an SQL source.
Sources 107
"config": {
"fetchSize": "10",
"sql": "select * from stock where price < 20",
"updateSql": null,
"bufferResult": "no",
"markerId": null,
"parameters": null,
"propertyMetadataMap": "*",
"transactionSize": "0"
},
"topics": [
{
"href": "api/projects/4/topics/e1accb9c-b1a0-431b-b771-bc7662811e95",
"title": "SqlTopic1",
"objectType": "topics",
"id": "e1accb9c-b1a0-431b-b771-bc7662811e95"
}
],
"connection": {
"rel": "connection",
"href": "api/projects/4/connections/1d559d37-2c6e-48c0-8623-c571339c1e99",
"title": "SqlConnection1",
"id": "1d559d37-2c6e-48c0-8623-c571339c1e99"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": null,
"marshallerThreadsafe": false
}
}
Response Code: 201 Created
Sources 109
<rel>self</rel>
<title>sqlsrc1</title>
</self>
<valid>false</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<dtError>There are no schedules attached to this Source</dtError>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>sources</type>
<config>
<entry>
<key>fetchSize</key>
<value>10</value>
</entry>
<entry>
<key>sql</key>
<value>select * from stock</value>
</entry>
<entry>
<key>updateSql</key>
<value/>
</entry>
<entry>
<key>bufferResult</key>
<value>no</value>
</entry>
<entry>
<key>markerId</key>
<value/>
</entry>
<entry>
<key>parameters</key>
</entry>
<entry>
<key>propertyMetadataMap</key>
</entry>
<entry>
<key>transactionSize</key>
<value>0</value>
</entry>
</config>
<connection>
<href>api/projects/1/connections/2d5c8d79-b732-4fe8-ad69-3243d102ed49</href>
<id>2d5c8d79-b732-4fe8-ad69-3243d102ed49</id>
<rel>connection</rel>
<title>sqlconnection</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>true</schedulable>
<sourceType>SqlSource</sourceType>
<sourceTypeDisplayName>SQL Source</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/1/topics/13dcf0cf-4d29-434a-98ae-99dff34367ab</href>
<id>13dcf0cf-4d29-434a-98ae-99dff34367ab</id>
<objectType>topics</objectType>
<title>sqltopic</title>
</topic>
</topics>
</source>
Response Code : 201 Created
Sources 111
},
"type": "sources",
"lastModifiedDate": "2013-08-19T11:21:03+05:30",
"createDate": "2013-07-30T10:09:54+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"sourceType": "SqlSource",
"sourceTypeDisplayName": "SQL Source",
"schedulable": true,
"config": {
"fetchSize": "10",
"sql": "select * from stock",
"updateSql": "",
"bufferResult": "no",
"markerId": "",
"parameters": null,
"propertyMetadataMap": null,
"transactionSize": "0"
},
"topics": [
{
"href": "api/projects/1/topics/13dcf0cf-4d29-434a-98ae-99dff34367ab",
"title": "sqltopic",
"objectType": "topics",
"id": "13dcf0cf-4d29-434a-98ae-99dff34367ab"
}
],
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/2d5c8d79-b732-4fe8-
ad69-3243d102ed49",
"title": "sqlconnection",
"id": "2d5c8d79-b732-4fe8-ad69-3243d102ed49"
},
"schedules": [
{
"rel": "schedules",
"href": "api/projects/1/sources/01eec793-87aa-44fe-a12d-ee3b98e0e71d/
schedules/1687",
"id": "1687"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
},
{
"id": "09c059f8-f304-41dd-8e1b-fa5a538a74c4",
"name": "wssrc",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/sources/09c059f8-f304-41dd-8e1b-fa5a538a74c4",
"title": "wssrc",
"id": "09c059f8-f304-41dd-8e1b-fa5a538a74c4"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/sources/09c059f8-f304-41dd-8e1b-
fa5a538a74c4",
"type": "PUT",
"title": "Edit"
},
{
Sources 113
schedules/3801",
"id": "3801"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
},
{
"id": "ba80a9f1-f0a2-4600-986a-40ecc7a1c832",
"name": "invalidsrc2",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/sources/ba80a9f1-f0a2-4600-986a-40ecc7a1c832",
"title": "invalidsrc2",
"id": "ba80a9f1-f0a2-4600-986a-40ecc7a1c832"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/sources/ba80a9f1-
f0a2-4600-986a-40ecc7a1c832",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/sources/ba80a9f1-
f0a2-4600-986a-40ecc7a1c832",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "deploy",
"href": "api/projects/1/deploy",
"type": "POST",
"title": "Deploy"
},
{
"rel": "createSchedule",
"href": "api/projects/1/sources/ba80a9f1-f0a2-4600-986a-40ecc7a1c832/
schedules",
"type": "POST",
"title": "Create Schedule"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/sources/ba80a9f1-f0a2-4600-986a-40ecc7a1c832/
acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "sources",
"lastModifiedDate": "2013-08-13T10:38:12+05:30",
"createDate": "2013-08-06T16:04:51+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"sourceType": "SqlSource",
Sources 115
"title": "Deploy"
},
{
"rel": "createSchedule",
"href": "api/projects/1/sources/daf6350b-99cb-49e7-b69a-a1ea801e32a0/
schedules",
"type": "POST",
"title": "Create Schedule"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/sources/daf6350b-99cb-49e7-b69a-a1ea801e32a0/
acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "sources",
"lastModifiedDate": "2013-08-06T16:02:53+05:30",
"createDate": "2013-08-06T16:00:15+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"sourceType": "SqlSource",
"sourceTypeDisplayName": "SQL Source",
"schedulable": true,
"config": {
"fetchSize": "10",
"sql": "select * from preferred_stocks",
"updateSql": "",
"bufferResult": "no",
"markerId": "",
"parameters": null,
"propertyMetadataMap": null,
"transactionSize": "0"
},
"topics": [
{
"href": "api/projects/1/topics/13dcf0cf-4d29-434a-98ae-99dff34367ab",
"title": "sqltopic",
"objectType": "topics",
"id": "13dcf0cf-4d29-434a-98ae-99dff34367ab"
}
],
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/2d5c8d79-b732-4fe8-
ad69-3243d102ed49",
"title": "sqlconnection",
"id": "2d5c8d79-b732-4fe8-ad69-3243d102ed49"
},
"schedules": [
{
"rel": "schedules",
"href": "api/projects/1/sources/daf6350b-99cb-49e7-b69a-a1ea801e32a0/
schedules/1719",
"id": "1719"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
Sources 117
"url": "http://invr28cep46:8080/CepQeRssServices/qe_feeds?
feed_title=YosemiteRssSourceTestTitle&feed_desc=YosemetiRssSourceTestFeedDescription&entr
y_title=FeedEntry&entry_desc=FeedEntryDesc&num_entries=10"
},
"topics": [
{
"href": "api/projects/1/topics/8ad3c733-5e7e-4908-b449-951edfbb9e2b",
"title": "rsstopic",
"objectType": "topics",
"id": "8ad3c733-5e7e-4908-b449-951edfbb9e2b"
}
],
"schedules": [
{
"rel": "schedules",
"href": "api/projects/1/sources/d5114508-ddd1-4d9a-ba2e-2a338325b9ed/
schedules/1689",
"id": "1689"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
]
}
Response Code: 200 OK
Sources 119
</config>
<connection>
<href>api/projects/1/connections/1d3cae17-2017-4046-ba9c-a5481aa0f027</
href>
<id>1d3cae17-2017-4046-ba9c-a5481aa0f027</id>
<rel>connection</rel>
<title>testConnection11392963966630</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>true</schedulable>
<schedules>
<schedule>
<href>api/projects/1/sources/71ab3fe4-b89d-45d9-af28-b6c40e31ec37/
schedules/129</href>
<id>129</id>
<rel>schedules</rel>
</schedule>
</schedules>
<sourceType>SqlSource</sourceType>
<sourceTypeDisplayName>SQL Source</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/1/topics/b897aa28-f7a4-48fd-8df7-ce071fe9004e</
href>
<id>b897aa28-f7a4-48fd-8df7-ce071fe9004e</id>
<objectSubType>topics</objectSubType>
<objectType>topics</objectType>
<rel>topics</rel>
<title>Stock_Quote</title>
</topic>
</topics>
</source>
</items>
<total>1</total>
<invalidCount>0</invalidCount>
</artifacts>
Response Code : 200 OK
Sources 121
"lastModifiedDate": "2013-07-30T06:39:49+05:30",
"createDate": "2013-07-30T06:39:49+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no schedules attached to this Source",
"sourceType": "SqlSource",
"sourceTypeDisplayName": "SQL Source",
"schedulable": true,
"config": {
"fetchSize": "10",
"sql": "select * from stock where price < 20",
"updateSql": null,
"bufferResult": "no",
"markerId": null,
"parameters": null,
"propertyMetadataMap": "*",
"transactionSize": "0"
},
"topics": [
{
"href": "api/projects/4/topics/e1accb9c-b1a0-431b-b771-bc7662811e95",
"title": "SqlTopic1",
"objectType": "topics",
"id": "e1accb9c-b1a0-431b-b771-bc7662811e95"
}
],
"connection": {
"rel": "connection",
"href": "api/projects/4/connections/1d559d37-2c6e-48c0-8623-c571339c1e99",
"title": "SqlConnection1",
"id": "1d559d37-2c6e-48c0-8623-c571339c1e99"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": null,
"marshallerThreadsafe": false
}
}
Response Code: 200 OK
Sources 123
<id>01eec793-87aa-44fe-a12d-ee3b98e0e71d</id>
<links/>
<name>sqlsrc1</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/sources/01eec793-87aa-44fe-a12d-ee3b98e0e71d</href>
<id>01eec793-87aa-44fe-a12d-ee3b98e0e71d</id>
<rel>self</rel>
<title>sqlsrc1</title>
</self>
<valid>false</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<dtError>There are no schedules attached to this Source</dtError>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>sources</type>
<config>
<entry>
<key>fetchSize</key>
<value>10</value>
</entry>
<entry>
<key>sql</key>
<value>select * from stock</value>
</entry>
<entry>
<key>updateSql</key>
<value/>
</entry>
<entry>
<key>bufferResult</key>
<value>no</value>
</entry>
<entry>
<key>markerId</key>
<value/>
</entry>
<entry>
<key>parameters</key>
</entry>
<entry>
<key>propertyMetadataMap</key>
</entry>
<entry>
<key>transactionSize</key>
<value>0</value>
</entry>
</config>
<connection>
<href>api/projects/1/connections/2d5c8d79-b732-4fe8-ad69-3243d102ed49</href>
<id>2d5c8d79-b732-4fe8-ad69-3243d102ed49</id>
<rel>connection</rel>
<title>sqlconnection</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>true</schedulable>
<sourceType>SqlSource</sourceType>
<sourceTypeDisplayName>SQL Source</sourceTypeDisplayName>
Accept: application/json
Content-Type: application/json
Cookie: JSESSIONID=<VALID SESSION ID>
Response Code: 204 No Content
JMS Source
Use the examples to create, update, or delete a JMS source.
Sources 125
POST Body in JSON Format
{
"name": "jmssource",
"sourceType": "JMSSource",
"schedulable": false,
"config": {
"clientAcknowledgeMode": "AUTO_ACKNOWLEDGE",
"clientId": "",
"destination": "jmsQueue",
"messageSelector": "",
"subscriptionName": ""
},
"topics": [
{
"href": "api/projects/1/topics/6e9c0ae9-fce0-4219-9e58-639af4e79daa",
"title": "jmstopic",
"objectType": "topics",
"id": "6e9c0ae9-fce0-4219-9e58-639af4e79daa"
}
],
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/894b2948-ce82-4e0a-9302-267d3482ae25",
"title": "jmsconnection",
"id": "894b2948-ce82-4e0a-9302-267d3482ae25"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Sources 127
<entry>
<key>clientId</key>
<value/>
</entry>
<entry>
<key>destination</key>
<value>jmsQueue</value>
</entry>
<entry>
<key>messageSelector</key>
<value/>
</entry>
<entry>
<key>subscriptionName</key>
<value/>
</entry>
</config>
<connection>
<href>api/projects/1/connections/894b2948-ce82-4e0a-9302-267d3482ae25</href>
<id>894b2948-ce82-4e0a-9302-267d3482ae25</id>
<rel>connection</rel>
<title>jmsconnection</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>false</schedulable>
<sourceType>JMSSource</sourceType>
<sourceTypeDisplayName>JMS Source</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/1/topics/6e9c0ae9-fce0-4219-9e58-639af4e79daa</href>
<id>6e9c0ae9-fce0-4219-9e58-639af4e79daa</id>
<objectType>topics</objectType>
<title>jmstopic</title>
</topic>
</topics>
</source>
Sources 129
Update JMS Source
Use the PUT method to update a JMS source in RulePoint.
},
"marshallerThreadsafe": false
}
Sources 131
PUT Request in XML Format
Generate a PUT request. For example, the following PUT request updates a JMS source in a RulePoint
application:
PUT http://localhost:8080/rulepoint/api/projects/1/sources/f9a382cd-fb73-4165-bbaa-
f05f40303b5d
Accept: application/xml
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Sources 133
<id>894b2948-ce82-4e0a-9302-267d3482ae25</id>
<rel>connection</rel>
<title>jmsconnection</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>false</schedulable>
<sourceType>JMSSource</sourceType>
<sourceTypeDisplayName>JMS Source</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/1/topics/6e9c0ae9-fce0-4219-9e58-639af4e79daa</href>
<id>6e9c0ae9-fce0-4219-9e58-639af4e79daa</id>
<objectType>topics</objectType>
<title>jmstopic</title>
</topic>
</topics>
</source>
Response Code : 200 OK
Sources 135
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/sources/b2448a99-92d3-46b4-9c91-b2055449e801",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "deploy",
"href": "api/projects/1/deploy",
"type": "POST",
"title": "Deploy"
},
{
"rel": "createSchedule",
"href": "api/projects/1/sources/b2448a99-92d3-46b4-9c91-b2055449e801/
schedules",
"type": "POST",
"title": "Create Schedule"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/sources/b2448a99-92d3-46b4-9c91-b2055449e801/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "sources",
"lastModifiedDate": "2013-09-13T20:52:52+05:30",
"createDate": "2013-09-13T16:10:38+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"sourceType": "rss",
"sourceTypeDisplayName": "RSS/Atom Source",
"schedulable": true,
"config": {
"username": "",
"mostRecentEventDate": "1979-11-24 11:00:00 +0530",
"markerId": "",
"password": null,
"propertyMetadataMap": null,
"url": "http://invr28cep46:8080/CepQeRssServices/hello_dynfeed"
},
"topics": [
{
"href": "api/projects/1/topics/906b6070-43ba-4735-99e4-e9a0e4c5fbb5",
"title": "RssReaderTopic1",
"objectType": "topics",
"id": "906b6070-43ba-4735-99e4-e9a0e4c5fbb5"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code: 201 Created
Sources 137
<title>acl</title>
</acl>
<actions>
<action>
<href>api/projects/1/sources/b2448a99-92d3-46b4-9c91-b2055449e801</href>
<rel>update</rel>
<title>Edit</title>
<type>PUT</type>
</action>
<action>
<href>api/projects/1/sources/b2448a99-92d3-46b4-9c91-b2055449e801</href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
<action>
<href>api/projects/1/deploy</href>
<rel>deploy</rel>
<title>Deploy</title>
<type>POST</type>
</action>
<action>
<href>api/projects/1/sources/b2448a99-92d3-46b4-9c91-b2055449e801/schedules</
href>
<rel>createSchedule</rel>
<title>Create Schedule</title>
<type>POST</type>
</action>
</actions>
<id>b2448a99-92d3-46b4-9c91-b2055449e801</id>
<links/>
<name>RssReaderSource2</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/sources/b2448a99-92d3-46b4-9c91-b2055449e801</href>
<id>b2448a99-92d3-46b4-9c91-b2055449e801</id>
<rel>self</rel>
<title>RssReaderSource2</title>
</self>
<valid>true</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>sources</type>
<config>
<entry>
<key>username</key>
<value/>
</entry>
<entry>
<key>mostRecentEventDate</key>
<value>1979-11-24 11:00:00 +0530</value>
</entry>
<entry>
<key>markerId</key>
<value/>
</entry>
<entry>
<key>password</key>
</entry>
<entry>
Sources 139
}
}
Sources 141
<rel>schedules</rel>
</schedules>
<sourceType>rss</sourceType>
<topics>
<topic>
<href>api/projects/1/topics/906b6070-43ba-4735-99e4-e9a0e4c5fbb5</href>
<id>906b6070-43ba-4735-99e4-e9a0e4c5fbb5</id>
<objectType>topics</objectType>
<title>RssReaderTopic1</title>
</topic>
</topics>
</source>
Sources 143
DELETE Request in XML Format
Generate a DELETE request. For example, the following DELETE request deletes an RSS Reader source in a
RulePoint application:
DELETE http://localhost:8080/rulepoint/api/projects/1/sources/b2448a99-92d3-46b4-9c91-
b2055449e801
Accept: application/xml
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Response Code: 204 No Content
Sources 145
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code: 201 Created
Sources 147
<objectType>topics</objectType>
<title>UrlTopic1</title>
</topic>
</topics>
</source>
Response Code : 201 Created
Sources 149
PUT Request in XML Format
Generate a PUT request. For example, the following PUT request updates a URL monitoring source in a
RulePoint application:
PUT http://localhost:8080/rulepoint/api/projects/1/sources/273b895c-c967-4f6b-ac86-
f84b201bdaff
Accept: application/xml
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Sources 151
Delete URL Monitoring Source
Use the DELETE method to delete a URL Monitoring source in RulePoint.
Sources 153
"sourceTypeDisplayName": "Web Page Monitor",
"schedulable": true,
"config": {
"markerId": "",
"propertyMetadataMap": "*",
"url": "http://invr28cep46:8080/CepQeRestServices/current_time"
},
"topics": [
{
"href": "api/projects/1/topics/708cb0ee-c8c3-4265-93a3-bb282258acc1",
"title": "WebMonitorTopic1",
"objectType": "topics",
"id": "708cb0ee-c8c3-4265-93a3-bb282258acc1"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code: 201 Created
Sources 155
</entry>
<entry>
<key>propertyMetadataMap</key>
<value>*</value>
</entry>
<entry>
<key>url</key>
<value>http://invr28cep46:8080/CepQeRestServices/current_time</value>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>true</schedulable>
<sourceType>http_monitor</sourceType>
<sourceTypeDisplayName>Web Page Monitor</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/1/topics/708cb0ee-c8c3-4265-93a3-bb282258acc1</href>
<id>708cb0ee-c8c3-4265-93a3-bb282258acc1</id>
<objectType>topics</objectType>
<title>WebMonitorTopic1</title>
</topic>
</topics>
</source>
Response Code : 201 Created
Sources 157
},
"topics": [
{
"href": "api/projects/1/topics/708cb0ee-c8c3-4265-93a3-bb282258acc1",
"title": "WebMonitorTopic1",
"objectType": "topics",
"id": "708cb0ee-c8c3-4265-93a3-bb282258acc1"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code: 200 OK
Sources 159
<value>*</value>
</entry>
<entry>
<key>url</key>
<value>http://invr28cep46:8080/CepQeRestServices/current_time</value>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>true</schedulable>
<sourceType>http_monitor</sourceType>
<sourceTypeDisplayName>Web Page Monitor</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/1/topics/708cb0ee-c8c3-4265-93a3-bb282258acc1</href>
<id>708cb0ee-c8c3-4265-93a3-bb282258acc1</id>
<objectType>topics</objectType>
<title>WebMonitorTopic1</title>
</topic>
</topics>
</source>
Response Code : 200 OK
Sources 161
"actions": [
{
"rel": "update",
"href": "api/projects/1/sources/c00cb582-cdba-4fc6-98a0-af2e066d4dc1",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/sources/c00cb582-cdba-4fc6-98a0-af2e066d4dc1",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "deploy",
"href": "api/projects/1/deploy",
"type": "POST",
"title": "Deploy"
},
{
"rel": "createSchedule",
"href": "api/projects/1/sources/c00cb582-cdba-4fc6-98a0-af2e066d4dc1/
schedules",
"type": "POST",
"title": "Create Schedule"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/sources/c00cb582-cdba-4fc6-98a0-af2e066d4dc1/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "sources",
"lastModifiedDate": "2013-09-13T16:45:12+05:30",
"createDate": "2013-09-13T16:10:38+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"sourceType": "WebSourceService",
"sourceTypeDisplayName": "Web Service Source",
"schedulable": true,
"config": {
"operation": "hello",
"inputParameters": "hello.name=Rama",
"markerId": "",
"xpathExpr": "//return",
"propertyMetadataMap": "*",
"serviceName": "HelloWorldServices"
},
"topics": [
{
"href": "api/projects/1/topics/8cf9d31e-abd8-4045-89a9-f6d2206ce7a1",
"title": "WSTopic1",
"objectType": "topics",
"id": "8cf9d31e-abd8-4045-89a9-f6d2206ce7a1"
}
],
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/e9bcc9ae-8e78-4b2c-a3f4-48352e817052",
"title": "WsConnection1",
"id": "e9bcc9ae-8e78-4b2c-a3f4-48352e817052"
Sources 163
<schedules>
<href>api/projects/1/sources/c00cb582-cdba-4fc6-98a0-af2e066d4dc1/schedules/
4163</href>
<id>4163</id>
<rel>schedules</rel>
</schedules>
<sourceType>WebSourceService</sourceType>
<topics>
<topic>
<href>api/projects/1/topics/8cf9d31e-abd8-4045-89a9-f6d2206ce7a1</href>
<id>8cf9d31e-abd8-4045-89a9-f6d2206ce7a1</id>
<objectType>topics</objectType>
<title>WSTopic1</title>
</topic>
</topics>
</source>
Sources 165
Update Web Service Source
Use the PUT method to update a Web Service source in RulePoint.
Sources 167
"id": "4163"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code: 200 OK
Sources 169
<lastModifiedDate/>
<predefined>false</predefined>
<type>sources</type>
<config>
<entry>
<key>operation</key>
<value>hello</value>
</entry>
<entry>
<key>inputParameters</key>
<value>hello.name=Rama</value>
</entry>
<entry>
<key>markerId</key>
<value/>
</entry>
<entry>
<key>xpathExpr</key>
<value>//return</value>
</entry>
<entry>
<key>propertyMetadataMap</key>
<value>*</value>
</entry>
<entry>
<key>serviceName</key>
<value>HelloWorldServices</value>
</entry>
</config>
<connection>
<href>api/projects/1/connections/e9bcc9ae-8e78-4b2c-a3f4-48352e817052</href>
<id>e9bcc9ae-8e78-4b2c-a3f4-48352e817052</id>
<rel>connection</rel>
<title>WsConnection1</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>true</schedulable>
<schedules>
<href>api/projects/1/sources/c00cb582-cdba-4fc6-98a0-af2e066d4dc1/schedules/
4163</href>
<id>4163</id>
<rel>schedules</rel>
</schedules>
<sourceType>WebSourceService</sourceType>
<sourceTypeDisplayName>Web Service Source</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/1/topics/8cf9d31e-abd8-4045-89a9-f6d2206ce7a1</href>
<id>8cf9d31e-abd8-4045-89a9-f6d2206ce7a1</id>
<objectType>topics</objectType>
<title>WSTopic1</title>
</topic>
</topics>
</source>
Response Code: 200 OK
Sources 171
"objectType": "topics",
"id": "c7f1ffe2-3cd6-469a-bb4e-97d63287a1af"
}
],
"config": {
"rate": "1",
"eventFilePath": "notest.xml",
"iterations": "1",
"dateFormat": "EEE, d MMM yyyy HH:mm:ss Z",
"markerId": null,
"delay": "-1",
"propertyMetadataMap": null,
"postAction": "do nothing"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Sources 173
</entry>
<entry>
<key>iterations</key>
<value>1</value>
</entry>
<entry>
<key>dateFormat</key>
<value>EEE, d MMM yyyy HH:mm:ss Z</value>
</entry>
<entry>
<key>markerId</key>
<value/>
</entry>
<entry>
<key>delay</key>
<value>-1</value>
</entry>
<entry>
<key>propertyMetadataMap</key>
</entry>
<entry>
<key>postAction</key>
<value>do nothing</value>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<sourceType>EventGeneratorSource</sourceType>
<topics>
<topic>
<href>api/projects/65536/topics/5aeb5a2d-99dd-412b-be50-954e2e290b29</href>
<id>5aeb5a2d-99dd-412b-be50-954e2e290b29</id>
<objectType>topics</objectType>
<title>event_gen_topic1</title>
</topic>
<topic>
<href>api/projects/65536/topics/c7f1ffe2-3cd6-469a-bb4e-97d63287a1af</href>
<id>c7f1ffe2-3cd6-469a-bb4e-97d63287a1af</id>
<objectType>topics</objectType>
<title>event_gen_topic2</title>
</topic>
</topics>
</source>
Sources 175
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>true</schedulable>
<schedules>
<href>api/projects/65536/sources/36c660c6-4abf-493f-a268-81f7890d0ae4/
schedules/102</href>
<id>102</id>
<rel>schedules</rel>
</schedules>
<sourceType>EventGeneratorSource</sourceType>
<sourceTypeDisplayName>Event Generator Source</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/65536/topics/5aeb5a2d-99dd-412b-be50-954e2e290b29</href>
<id>5aeb5a2d-99dd-412b-be50-954e2e290b29</id>
<objectType>topics</objectType>
<title>event_gen_topic1</title>
</topic>
<topic>
<href>api/projects/65536/topics/c7f1ffe2-3cd6-469a-bb4e-97d63287a1af</href>
<id>c7f1ffe2-3cd6-469a-bb4e-97d63287a1af</id>
<objectType>topics</objectType>
<title>event_gen_topic2</title>
</topic>
</topics>
</source>
Response Code : 201 Created
Sources 177
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"sourceType": "EventGeneratorSource",
"sourceTypeDisplayName": "Event Generator Source",
"schedulable": true,
"config": {
"rate": "1",
"eventFilePath": "notest.xml",
"iterations": "1",
"dateFormat": "EEE, d MMM yyyy HH:mm:ss Z",
"markerId": "",
"delay": "-1",
"propertyMetadataMap": null,
"postAction": "do nothing"
},
"topics": [
{
"href": "api/projects/65536/topics/5aeb5a2d-99dd-412b-be50-954e2e290b29",
"title": "event_gen_topic1",
"objectType": "topics",
"id": "5aeb5a2d-99dd-412b-be50-954e2e290b29"
},
{
"href": "api/projects/65536/topics/c7f1ffe2-3cd6-469a-bb4e-97d63287a1af",
"title": "event_gen_topic2",
"objectType": "topics",
"id": "c7f1ffe2-3cd6-469a-bb4e-97d63287a1af"
}
],
"schedules": [
{
"rel": "schedules",
"href": "api/projects/65536/sources/36c660c6-4abf-493f-a268-81f7890d0ae4/
schedules/102",
"id": "102"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code: 200 OK
Sources 179
<type>DELETE</type>
</action>
<action>
<href>api/projects/65536/deploy</href>
<rel>deploy</rel>
<title>Deploy</title>
<type>POST</type>
</action>
<action>
<href>api/projects/65536/sources/36c660c6-4abf-493f-a268-81f7890d0ae4/
schedules</href>
<rel>createSchedule</rel>
<title>Create Schedule</title>
<type>POST</type>
</action>
</actions>
<id>36c660c6-4abf-493f-a268-81f7890d0ae4</id>
<links/>
<name>EventGenerator1</name>
<owningProject>
<href>api/projects/65536</href>
<id>65536</id>
<rel>owningProject</rel>
<title>docproj</title>
</owningProject>
<self>
<href>api/projects/65536/sources/36c660c6-4abf-493f-a268-81f7890d0ae4</href>
<id>36c660c6-4abf-493f-a268-81f7890d0ae4</id>
<rel>self</rel>
<title>EventGenerator1</title>
</self>
<valid>true</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>sources</type>
<config>
<entry>
<key>rate</key>
<value>1</value>
</entry>
<entry>
<key>eventFilePath</key>
<value>notest.xml</value>
</entry>
<entry>
<key>iterations</key>
<value>1</value>
</entry>
<entry>
<key>dateFormat</key>
<value>EEE, d MMM yyyy HH:mm:ss Z</value>
</entry>
<entry>
<key>markerId</key>
<value/>
</entry>
<entry>
<key>delay</key>
<value>-1</value>
</entry>
<entry>
<key>propertyMetadataMap</key>
</entry>
<entry>
<key>postAction</key>
Sources 181
File Input Source
Use the examples to create, update, or delete a file input source.
Sources 183
POST Body in XML Format
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<source>
<name>fileInputSource</name>
<type>sources</type>
<config>
<entry>
<key>file</key>
<value>C:\workspace\stock_records.txt</value>
</entry>
<entry>
<key>markerId</key>
<value/>
</entry>
<entry>
<key>propertyMetadataMap</key>
</entry>
<entry>
<key>mode</key>
<value>new</value>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<sourceType>FileSource</sourceType>
<topics>
<topic>
<href>api/projects/1/topics/9dfc93ff-52dd-4cd0-893c-33bd8640351e</href>
<id>9dfc93ff-52dd-4cd0-893c-33bd8640351e</id>
<objectType>topics</objectType>
<title>topic1</title>
</topic>
</topics>
</source>
Sources 185
Update File Input Source
Use the PUT method to update a file input source in RulePoint.
Sources 187
<config>
<entry>
<key>file</key>
<value>C:\workspace\stock_records.txt</value>
</entry>
<entry>
<key>markerId</key>
<value/>
</entry>
<entry>
<key>propertyMetadataMap</key>
</entry>
<entry>
<key>mode</key>
<value>new</value>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<sourceType>FileSource</sourceType>
<topics>
<topic>
<href>api/projects/1/topics/9dfc93ff-52dd-4cd0-893c-33bd8640351e</href>
<id>9dfc93ff-52dd-4cd0-893c-33bd8640351e</id>
<objectType>topics</objectType>
<title>topic1</title>
</topic>
</topics>
</source>
Sources 189
Response Code: 204 No Content
Schedule
You can create a dynamic or static schedule for a source.
Static Schedule
You can create, update, or delete a static schedule for a source.
You can create a static schedule by using one of the following combinations:
Schedule 191
POST Body in XML Format
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<schedule>
<scheduleType>STATIC</scheduleType>
<startDate>2013-09-25T19:30:00+0530</startDate>
<endDate>2013-10-30T19:30:00+0530</endDate>
<isScheduledForSpecificDaysOfWeek>false</isScheduledForSpecificDaysOfWeek>
<numRuns>0</numRuns>
<repeatInterval>120000</repeatInterval>
</schedule>
Schedule 193
schedules/2</href>
<rel>update</rel>
<type>PUT</type>
</action>
<action>
<href>/api/projects/1/sources/de27147d-22cf-4c62-b7c7-cbc365548717/
schedules/2</href>
<rel>delete</rel>
<type>DELETE</type>
</action>
</actions>
<id>2</id>
<name/>
<self>
<href>/api/projects/1/sources/de27147d-22cf-4c62-b7c7-cbc365548717/schedules/2</
href>
<id>2</id>
<rel>self</rel>
</self>
<endDate>2013-09-30T19:30:00+0530</endDate>
<isScheduledForSpecificDaysOfWeek>false</isScheduledForSpecificDaysOfWeek>
<numRuns>0</numRuns>
<repeatInterval>120000</repeatInterval>
<runState>ACTIVE</runState>
<scheduleType>STATIC</scheduleType>
<startDate>2013-09-25T19:30:00+0530</startDate>
</schedule>
Response Code: 200 OK
Schedule 195
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Schedule 197
</actions>
<id>1</id>
<name/>
<self>
<href>/api/projects/1/sources/de27147d-22cf-4c62-b7c7-cbc365548717/schedules/1</
href>
<id>1</id>
<rel>self</rel>
</self>
<repeatInterval>15000</repeatInterval>
<runState>ACTIVE</runState>
<scheduleType>DYNAMIC</scheduleType>
</schedule>
Response Code: 200 OK
SQL Responder
Use the examples to create, retrieve, update, or delete an SQL responder.
Responders 199
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "createResponse",
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151",
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-08-13T12:15:01+05:30",
"createDate": "2013-08-13T12:15:01+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "SqlResponder",
"responderTypeDisplayName": "SQL Responder",
"config": {
"sql": "insert into hot_stock(symbol, price) values ('INFA', 38.90)",
"params": null
},
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/2d5c8d79-b732-4fe8-ad69-3243d102ed49",
"title": "sqlconnection",
"id": "2d5c8d79-b732-4fe8-ad69-3243d102ed49"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code : 201 Created
Responders 201
<value>insert into hot_stock(symbol, price) values ('INFA', 38.90)</value>
</entry>
<entry>
<key>params</key>
</entry>
</config>
<connection>
<href>api/projects/1/connections/2d5c8d79-b732-4fe8-ad69-3243d102ed49</href>
<id>2d5c8d79-b732-4fe8-ad69-3243d102ed49</id>
<rel>connection</rel>
<title>sqlconnection</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>SqlResponder</responderType>
<responderTypeDisplayName>SQL Responder</responderTypeDisplayName>
<responses />
<topics />
</responder>
Response Code : 201 Created
Responders 203
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responders/
08ff3fdc-85f3-4bd2-8cd8-06442d7eae0c",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responders/
08ff3fdc-85f3-4bd2-8cd8-06442d7eae0c",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "deploy",
"href": "api/projects/1/deploy",
"type": "POST",
"title": "Deploy"
},
{
"rel": "createResponse",
"href": "api/projects/1/responders/
08ff3fdc-85f3-4bd2-8cd8-06442d7eae0c",
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/
08ff3fdc-85f3-4bd2-8cd8-06442d7eae0c/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-08-19T11:10:52+05:30",
"createDate": "2013-08-19T10:59:14+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"responderType": "webService",
"responderTypeDisplayName": "Web Service Responder",
"config": {
"operation": "hello",
"inputParameters": "hello.name=xkjhkj",
"serviceName": "HelloWorldServices"
},
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/03e9c236-1a01-40e2-9d4a-
f13c893abef7",
"title": "wsconn",
"id": "03e9c236-1a01-40e2-9d4a-f13c893abef7"
},
"responses": [
{
"href": "api/projects/1/responses/f1fbf054-6124-4111-a69e-
abe30586deb0",
"title": "wsresponder_response",
"objectType": "responses",
Responders 205
"rel": "connection",
"href": "api/projects/1/connections/2d5c8d79-b732-4fe8-
ad69-3243d102ed49",
"title": "sqlconnection",
"id": "2d5c8d79-b732-4fe8-ad69-3243d102ed49"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
},
{
"id": "51ba1457-5112-4e70-99f1-fe94af5ddea3",
"name": "emailresponder",
"valid": false,
"self": {
"rel": "self",
"href": "api/projects/1/responders/51ba1457-5112-4e70-99f1-fe94af5ddea3",
"title": "emailresponder",
"id": "51ba1457-5112-4e70-99f1-fe94af5ddea3"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responders/51ba1457-5112-4e70-99f1-
fe94af5ddea3",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responders/51ba1457-5112-4e70-99f1-
fe94af5ddea3",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "createResponse",
"href": "api/projects/1/responders/51ba1457-5112-4e70-99f1-
fe94af5ddea3",
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/51ba1457-5112-4e70-99f1-
fe94af5ddea3/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-08-07T17:49:48+05:30",
"createDate": "2013-08-07T17:49:48+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "EmailResponder",
"responderTypeDisplayName": "Email Responder",
"config": {
"to": "ad",
Responders 207
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "http",
"responderTypeDisplayName": "HTTP Responder",
"config": {
"body": "",
"username": "",
"retryCount": "3",
"retryDelay": "1000",
"targeturl": "http://invr28cep46:8080/",
"method": "GET",
"parameters": null,
"password": null,
"mimeType": ""
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
},
{
"id": "73876991-1dc2-47e6-ae1f-56347427a249",
"name": "fileout",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/responders/73876991-1dc2-47e6-ae1f-56347427a249",
"title": "fileout",
"id": "73876991-1dc2-47e6-ae1f-56347427a249"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responders/73876991-1dc2-47e6-
ae1f-56347427a249",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responders/73876991-1dc2-47e6-
ae1f-56347427a249",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "deploy",
"href": "api/projects/1/deploy",
"type": "POST",
"title": "Deploy"
},
{
"rel": "createResponse",
"href": "api/projects/1/responders/73876991-1dc2-47e6-
ae1f-56347427a249",
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/73876991-1dc2-47e6-
ae1f-56347427a249/acl",
"title": "acl"
},
Responders 209
GET Response in XML Format
Returns the SQL responder object and response code. Returns the error object if an error occurs.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<artifacts>
<count>1</count>
<items>
<responder>
<acl>
<href>api/projects/1/responders/c4befa65-dd03-4213-96fc-3cbc71e74211/
acl</href>
<rel>acl</rel>
<title>acl</title>
</acl>
<actions>
<action>
<href>api/projects/1/responders/c4befa65-
dd03-4213-96fc-3cbc71e74211</href>
<rel>update</rel>
<title>Edit</title>
<type>PUT</type>
</action>
<action>
<href>api/projects/1/responders/c4befa65-
dd03-4213-96fc-3cbc71e74211</href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
<action>
<href>api/projects/1/responders/c4befa65-
dd03-4213-96fc-3cbc71e74211</href>
<rel>createResponse</rel>
<title>Create Response</title>
<type>DELETE</type>
</action>
</actions>
<id>c4befa65-dd03-4213-96fc-3cbc71e74211</id>
<name>sqlresponder</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/responders/c4befa65-dd03-4213-96fc-3cbc71e74211</
href>
<id>c4befa65-dd03-4213-96fc-3cbc71e74211</id>
<rel>self</rel>
<title>sqlresponder</title>
</self>
<valid>false</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<dtError>There are no responses associated with this Responder</dtError>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responders</type>
<config>
<entry>
<key>sql</key>
<value>insert into something</value>
</entry>
<entry>
<key>params</key>
Responders 211
"id": "8bd61211-404b-4cd4-8a84-f36a7bcdf151"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "createResponse",
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151",
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-08-13T12:15:01+05:30",
"createDate": "2013-08-13T12:15:01+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "SqlResponder",
"responderTypeDisplayName": "SQL Responder",
"config": {
"sql": "insert into hot_stock(symbol, price) values ('INFA', 38.90)",
"params": null
},
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/2d5c8d79-b732-4fe8-ad69-3243d102ed49",
"title": "sqlconnection",
"id": "2d5c8d79-b732-4fe8-ad69-3243d102ed49"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code : 200 OK
Responders 213
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<dtError>There are no responses associated with this Responder</dtError>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responders</type>
<config>
<entry>
<key>sql</key>
<value>insert into hot_stock(symbol, price) values ('INFA', 38.90)</value>
</entry>
<entry>
<key>params</key>
</entry>
</config>
<connection>
<href>api/projects/1/connections/2d5c8d79-b732-4fe8-ad69-3243d102ed49</href>
<id>2d5c8d79-b732-4fe8-ad69-3243d102ed49</id>
<rel>connection</rel>
<title>sqlconnection</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>SqlResponder</responderType>
<responderTypeDisplayName>SQL Responder</responderTypeDisplayName>
<responses />
<topics />
</responder>
Response Code : 200 OK
Responders 215
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "createResponse",
"href": "api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1",
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-09-13T16:19:50+05:30",
"createDate": "2013-09-13T16:10:38+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "EmailResponder",
"responderTypeDisplayName": "Email Responder",
"config": {
"to": "sbhimisetty@informatica.com",
"body": "Test email from EmailResponder",
"replyTo": "",
"subject": "Test email subject from EmailResponder",
"sentDate": null,
"bcc": "",
"from": "sbhimisetty@informatica.com",
"contentType": "text",
"cc": ""
},
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/446f972d-d3ea-4d77-98f8-84816ed4abcb",
"title": "EmailConnection1",
"id": "446f972d-d3ea-4d77-98f8-84816ed4abcb"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code : 201 Created
Responders 217
<action>
<href>api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1</href>
<rel>update</rel>
<title>Edit</title>
<type>PUT</type>
</action>
<action>
<href>api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1</href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
<action>
<href>api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1</href>
<rel>createResponse</rel>
<title>Create Response</title>
<type>DELETE</type>
</action>
</actions>
<id>26154ed7-41ce-4db4-888f-ce5573e965d1</id>
<links/>
<name>EmailResponder1</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1</href>
<id>26154ed7-41ce-4db4-888f-ce5573e965d1</id>
<rel>self</rel>
<title>EmailResponder1</title>
</self>
<valid>false</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<dtError>There are no responses associated with this Responder</dtError>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responders</type>
<config>
<entry>
<key>to</key>
<value>sbhimisetty@informatica.com</value>
</entry>
<entry>
<key>body</key>
<value>Test email from EmailResponder</value>
</entry>
<entry>
<key>replyTo</key>
<value/>
</entry>
<entry>
<key>subject</key>
<value>Test email subject from EmailResponder</value>
</entry>
<entry>
<key>sentDate</key>
</entry>
<entry>
<key>bcc</key>
<value/>
</entry>
<entry>
<key>from</key>
Responders 219
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Responders 221
</config>
<connection>
<href>api/projects/1/connections/446f972d-d3ea-4d77-98f8-84816ed4abcb</href>
<id>446f972d-d3ea-4d77-98f8-84816ed4abcb</id>
<rel>connection</rel>
<title>EmailConnection1</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>EmailResponder</responderType>
</responder>
Responders 223
Response Code: 204 No Content
JMS Responder
Use the examples to create, update, or delete a JMS responder.
Responders 225
},
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/894b2948-ce82-4e0a-9302-267d3482ae25",
"title": "jmsconnection",
"id": "894b2948-ce82-4e0a-9302-267d3482ae25"
},
"responses": [
{
"href": "api/projects/1/responses/acb4152d-d034-468d-be96-d95178200755",
"title": "jmsresponder_response",
"objectType": "responses",
"id": "acb4152d-d034-468d-be96-d95178200755"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code : 201 Created
Responders 227
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responders</type>
<config>
<entry>
<key>body</key>
<value>test message</value>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>priority</key>
<value>4</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>deliveryMode</key>
<value>2</value>
</entry>
<entry>
<key>params</key>
</entry>
<entry>
<key>timeToLive</key>
<value>0</value>
</entry>
<entry>
<key>destination</key>
<value>jmsQueue</value>
</entry>
</config>
<connection>
<href>api/projects/1/connections/894b2948-ce82-4e0a-9302-267d3482ae25</href>
<id>894b2948-ce82-4e0a-9302-267d3482ae25</id>
<rel>connection</rel>
<title>jmsconnection</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>JMSResponder</responderType>
<responses />
<topics />
</responder>
Response Code : 201 Created
Responders 229
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-08-23T15:20:20+05:30",
"createDate": "2013-08-23T15:20:14+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"responderType": "JMSResponder",
"responderTypeDisplayName": "JMS Responder",
"config": {
"body": "test message",
"retryCount": "3",
"priority": "4",
"retryDelay": "1000",
"deliveryMode": "2",
"params": null,
"timeToLive": "0",
"destination": "jmsQueue"
},
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/894b2948-ce82-4e0a-9302-267d3482ae25",
"title": "jmsconnection",
"id": "894b2948-ce82-4e0a-9302-267d3482ae25"
},
"responses": [
{
"href": "api/projects/1/responses/acb4152d-d034-468d-be96-d95178200755",
"title": "jmsresponder_response",
"objectType": "responses",
"id": "acb4152d-d034-468d-be96-d95178200755"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code : 200 OK
Responders 231
</action>
<action>
<href>api/projects/1/deploy</href>
<rel>deploy</rel>
<title>Deploy</title>
<type>POST</type>
</action>
<action>
<href>api/projects/1/responders/ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7</href>
<rel>createResponse</rel>
<title>Create Response</title>
<type>DELETE</type>
</action>
</actions>
<id>ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7</id>
<links/>
<name>jmsresponder</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/responders/ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7</href>
<id>ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7</id>
<rel>self</rel>
<title>jmsresponder</title>
</self>
<valid>true</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responders</type>
<config>
<entry>
<key>body</key>
<value>test message</value>
</entry>
<entry>
<key>retryCount</key>
<value>3</value>
</entry>
<entry>
<key>priority</key>
<value>4</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>deliveryMode</key>
<value>2</value>
</entry>
<entry>
<key>params</key>
</entry>
<entry>
<key>timeToLive</key>
<value>0</value>
</entry>
<entry>
<key>destination</key>
<value>jmsQueue</value>
</entry>
Responders 233
POST Body in JSON Format
{
"name": "wsResponder1",
"description": "",
"responderType": "webService",
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/e9bcc9ae-8e78-4b2c-a3f4-48352e817052",
"title": "WsConnection1",
"id": "e9bcc9ae-8e78-4b2c-a3f4-48352e817052"
},
"valid": true,
"config": {
"serviceName": "HelloWorldServices",
"operation": "hello",
"inputParameters": "hello.name=Chris"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {}
}
}
Responders 235
POST Response in XML Format
Returns the web service responder object and response code. Returns the error object if an error occurs.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<responder>
<acl>
<href>api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01/acl</href>
<rel>acl</rel>
<title>acl</title>
</acl>
<actions>
<action>
<href>api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</href>
<rel>update</rel>
<title>Edit</title>
<type>PUT</type>
</action>
<action>
<href>api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
<action>
<href>api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</href>
<rel>createResponse</rel>
<title>Create Response</title>
<type>DELETE</type>
</action>
</actions>
<id>776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</id>
<links/>
<name>wsResponder1</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</href>
<id>776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</id>
<rel>self</rel>
<title>wsResponder1</title>
</self>
<valid>false</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<dtError>There are no responses associated with this Responder</dtError>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responders</type>
<config>
<entry>
<key>operation</key>
<value>hello</value>
</entry>
<entry>
<key>inputParameters</key>
<value>hello.name=Chris</value>
</entry>
<entry>
<key>serviceName</key>
<value>HelloWorldServices</value>
</entry>
</config>
Responders 237
"id": "776acc35-7a4a-47e1-8b9a-07f7d8bb6f01"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "createResponse",
"href": "api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01",
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-09-13T17:06:27+05:30",
"createDate": "2013-09-13T17:05:02+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "webService",
"responderTypeDisplayName": "Web Service Responder",
"config": {
"operation": "hello",
"inputParameters": "hello.name=Chris",
"serviceName": "HelloWorldServices"
},
"connection": {
"rel": "connection",
"href": "api/projects/1/connections/e9bcc9ae-8e78-4b2c-a3f4-48352e817052",
"title": "WsConnection1",
"id": "e9bcc9ae-8e78-4b2c-a3f4-48352e817052"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code : 200 OK
Responders 239
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</href>
<id>776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</id>
<rel>self</rel>
<title>wsResponder1</title>
</self>
<valid>false</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<dtError>There are no responses associated with this Responder</dtError>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responders</type>
<config>
<entry>
<key>operation</key>
<value>hello</value>
</entry>
<entry>
<key>inputParameters</key>
<value>hello.name=Chris</value>
</entry>
<entry>
<key>serviceName</key>
<value>HelloWorldServices</value>
</entry>
</config>
<connection>
<href>api/projects/1/connections/e9bcc9ae-8e78-4b2c-a3f4-48352e817052</href>
<id>e9bcc9ae-8e78-4b2c-a3f4-48352e817052</id>
<rel>connection</rel>
<title>WsConnection1</title>
</connection>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>webService</responderType>
<responderTypeDisplayName>Web Service Responder</responderTypeDisplayName>
<responses />
<topics />
</responder>
Response Code : 200 OK
Responders 241
"href": "api/projects/1/responders/c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responders/c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "createResponse",
"href": "api/projects/1/responders/c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5",
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-09-19T18:05:16+05:30",
"createDate": "2013-09-19T18:05:16+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "EventTransformer",
"responderTypeDisplayName": "Event Transformer",
"config": {
"topic": "topic1 as topic2",
"params": "newproperty=100",
"properties": "*"
},
"topics": [
{
"href": "api/projects/1/topics/ff702fca-cfc3-4268-aa90-5449cffa030e",
"title": "topic2",
"objectType": "topics",
"id": "ff702fca-cfc3-4268-aa90-5449cffa030e"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": null,
"marshallerThreadsafe": false
}
}
Response Code : 201 Created
Responders 243
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/responders/c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5</href>
<id>c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5</id>
<rel>self</rel>
<title>event_transformer</title>
</self>
<valid>false</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<dtError>There are no responses associated with this Responder</dtError>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responders</type>
<config>
<entry>
<key>topic</key>
<value>topic1 as topic2</value>
</entry>
<entry>
<key>params</key>
<value>newproperty=100</value>
</entry>
<entry>
<key>properties</key>
<value>*</value>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>EventTransformer</responderType>
<responderTypeDisplayName>Event Transformer</responderTypeDisplayName>
<responses />
<topics>
<topic>
<href>api/projects/1/topics/ff702fca-cfc3-4268-aa90-5449cffa030e</href>
<id>ff702fca-cfc3-4268-aa90-5449cffa030e</id>
<objectType>topics</objectType>
<title>topic2</title>
</topic>
</topics>
</responder>
Response Code : 201 Created
Responders 245
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "EventTransformer",
"responderTypeDisplayName": "Event Transformer",
"config": {
"topic": "topic1 as topic2",
"params": "newproperty=100",
"properties": "*"
},
"topics": [
{
"href": "api/projects/1/topics/ff702fca-cfc3-4268-aa90-5449cffa030e",
"title": "topic2",
"objectType": "topics",
"id": "ff702fca-cfc3-4268-aa90-5449cffa030e"
}
],
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": {},
"marshallerThreadsafe": false
}
}
Response Code : 200 OK
Responders 247
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>EventTransformer</responderType>
<responderTypeDisplayName>Event Transformer</responderTypeDisplayName>
<responses />
<topics>
<topic>
<href>api/projects/1/topics/ff702fca-cfc3-4268-aa90-5449cffa030e</href>
<id>ff702fca-cfc3-4268-aa90-5449cffa030e</id>
<objectType>topics</objectType>
<title>topic2</title>
</topic>
</topics>
</responder>
Response Code : 200 OK
Responders 249
"type": "DELETE",
"title": "Create Response"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responders/757f8948-dc3c-4a52-a755-c261e2010005/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responders",
"lastModifiedDate": "2013-09-19T18:21:25+05:30",
"createDate": "2013-09-19T18:21:25+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"dtError": "There are no responses associated with this Responder",
"responderType": "fileOutput",
"responderTypeDisplayName": "File Responder",
"config": {
"contents": "writing to my out file",
"filename": "response.out",
"mode": "append"
},
"marshaller": {
"marshallerClassname": null,
"marshallerProperties": null,
"marshallerThreadsafe": false
}
}
Response Code : 201 Created
Responders 251
<entry>
<key>mode</key>
<value>append</value>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>fileOutput</responderType>
<responderTypeDisplayName>File Responder</responderTypeDisplayName>
<responses />
<topics />
</responder>
Response Code : 201 Created
Responders 253
<entry>
<key>contents</key>
<value>writing to my out file</value>
</entry>
<entry>
<key>filename</key>
<value>response.out</value>
</entry>
<entry>
<key>mode</key>
<value>append</value>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>fileOutput</responderType>
</responder>
Responders 255
RTAM Responder
Use the examples to create, update, or delete a RTAM responder.
Responders 257
<value>Administrator</value>
</entry>
<entry>
<key>body</key>
<value>RTAM Alert Body</value>
</entry>
<entry>
<key>subject</key>
<value>RTAM Alert Subject</value>
</entry>
<entry>
<key>priority</key>
<value>3</value>
</entry>
<entry>
<key>channels</key>
<value/>
</entry>
<entry>
<key>header</key>
<value/>
</entry>
<entry>
<key>actions</key>
<value/>
</entry>
<entry>
<key>groups</key>
<value/>
</entry>
<entry>
<key>metadata</key>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>RTAMResponder</responderType>
</responder>
Responders 259
<topics />
</responder>
Response Code : 201 Created
Responders 261
<entry>
<key>to</key>
<value>Administrator</value>
</entry>
<entry>
<key>body</key>
<value>RTAM Alert Body</value>
</entry>
<entry>
<key>subject</key>
<value>RTAM Alert Subject</value>
</entry>
<entry>
<key>priority</key>
<value>3</value>
</entry>
<entry>
<key>channels</key>
<value/>
</entry>
<entry>
<key>header</key>
<value/>
</entry>
<entry>
<key>actions</key>
<value/>
</entry>
<entry>
<key>groups</key>
<value/>
</entry>
<entry>
<key>metadata</key>
</entry>
</config>
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<responderType>RTAMResponder</responderType>
</responder>
Responders 263
<responderTypeDisplayName>RTAM Responder</responderTypeDisplayName>
<responses />
<topics />
</responder>
Response Code : 200 OK
Responses
You can use API calls to perform various operations with SQL, email, JMS, web service, event transformer,
file output, and RTAM responses.
SQL Response
Use the examples to retrieve, create, update, or delete an SQL response.
Responses 265
"responder": {
"rel": "responder",
"href": "api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151",
"title": "hotstockresponder",
"id": "8bd61211-404b-4cd4-8a84-f36a7bcdf151"
},
"multithreaded": false,
"config": {
"sql": "insert into hot_stocks(symbol, price) values('INFA', 38.90)",
"params": null
}
}
Response Code: 201 Created
Responses 267
GET Response in JSON Format
{
"total": 3,
"count": 3,
"items": [
{
"id": "a2e64636-5206-46da-abe9-4c9bb8b592bc",
"name": "rtam_response",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/responses/a2e64636-5206-46da-abe9-4c9bb8b592bc",
"title": "rtam_response",
"id": "a2e64636-5206-46da-abe9-4c9bb8b592bc"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responses/a2e64636-5206-46da-
abe9-4c9bb8b592bc",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responses/a2e64636-5206-46da-
abe9-4c9bb8b592bc",
"type": "DELETE",
"title": "Delete"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responses/a2e64636-5206-46da-abe9-4c9bb8b592bc/
acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responses",
"lastModifiedDate": "2013-08-19T11:21:03+05:30",
"createDate": "2013-08-19T11:12:55+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"responseType": "RTAMResponder",
"responseTypeDisplayName": "RTAM Responder",
"responder": {
"rel": "responder",
"href": "api/projects/1/responders/c4851206-93e0-45ee-a013-3fb1d2fc5c5d",
"title": "rtam",
"id": "c4851206-93e0-45ee-a013-3fb1d2fc5c5d"
},
"multithreaded": false,
"rules": [
{
"href": "api/projects/1/rules/f8573cc2-e263-47f8-8ae3-9de8b58c7b44",
"title": "sqlrtamrule",
"objectType": "rules",
"id": "f8573cc2-e263-47f8-8ae3-9de8b58c7b44"
}
],
"config": {
Responses 269
"objectType": "rules",
"id": "a5046814-e355-4103-b885-71e2ac82ec4c"
}
],
"config": {
"operation": "hello",
"inputParameters": "hello.name=x; =901",
"serviceName": "HelloWorldServices"
}
},
{
"id": "8322f00d-6191-4932-a447-a090e03b5696",
"name": "fileout_response",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/responses/8322f00d-6191-4932-a447-a090e03b5696",
"title": "fileout_response",
"id": "8322f00d-6191-4932-a447-a090e03b5696"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responses/8322f00d-6191-4932-a447-
a090e03b5696",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responses/8322f00d-6191-4932-a447-
a090e03b5696",
"type": "DELETE",
"title": "Delete"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responses/8322f00d-6191-4932-a447-a090e03b5696/
acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responses",
"lastModifiedDate": "2013-08-19T11:10:52+05:30",
"createDate": "2013-07-30T10:10:59+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"responseType": "fileOutput",
"responseTypeDisplayName": "File Responder",
"responder": {
"rel": "responder",
"href": "api/projects/1/responders/73876991-1dc2-47e6-ae1f-56347427a249",
"title": "fileout",
"id": "73876991-1dc2-47e6-ae1f-56347427a249"
},
"multithreaded": false,
"rules": [
{
"href": "api/projects/1/rules/9e212e7e-96e9-43f6-9725-57b3e3da4e23",
"title": "filrule",
"objectType": "rules",
Responses 271
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responses</type>
<config>
<entry>
<key>sql</key>
<value>insert into hot_stocks(symbol, price) values('INFA', 38.90)</
value>
</entry>
<entry>
<key>params</key>
</entry>
</config>
<multithreaded>false</multithreaded>
<responder>
<href>api/projects/1/responders/8bd61211-404b-4cd4-8a84-f36a7bcdf151</
href>
<id>8bd61211-404b-4cd4-8a84-f36a7bcdf151</id>
<rel>responder</rel>
<title>hotstockresponder</title>
</responder>
<responseType>SqlResponder</responseType>
<responseTypeDisplayName>SQL Responder</responseTypeDisplayName>
<rules />
<templates />
</response>
</items>
<total>1</total>
<invalidCount>0</invalidCount>
</artifacts>
Response Code : 200 OK
Responses 273
PUT Request in XML Format
Generate a PUT request. For example, the following PUT request updates a an SQL response in a RulePoint
application.
PUT http://localhost:8080/rulepoint/api/projects/1/responses/11780430-b441-4a03-9733-
b2c429d15c45
Accept: application/xml
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Responses 275
Email Response
Use the examples to create, update, or delete an email response.
Responses 277
<value>Test email from EmailResponder</value>
</entry>
<entry>
<key>replyTo</key>
<value/>
</entry>
<entry>
<key>subject</key>
<value>Test email subject from EmailResponder</value>
</entry>
<entry>
<key>sentDate</key>
</entry>
<entry>
<key>bcc</key>
<value/>
</entry>
<entry>
<key>from</key>
<value>sbhimisetty@informatica.com</value>
</entry>
<entry>
<key>contentType</key>
<value>text</value>
</entry>
<entry>
<key>cc</key>
<value/>
</entry>
</config>
<responder>
<href>api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1</href>
<id>26154ed7-41ce-4db4-888f-ce5573e965d1</id>
<rel>responder</rel>
<title>EmailResponder1</title>
</responder>
<responseType>EmailResponder</responseType>
</response>
Responses 279
Update Email Response
Use the PUT method to update an email response in RulePoint.
Responses 281
</entry>
<entry>
<key>subject</key>
<value>Test email subject from EmailResponder</value>
</entry>
<entry>
<key>sentDate</key>
</entry>
<entry>
<key>bcc</key>
<value/>
</entry>
<entry>
<key>from</key>
<value>sbhimisetty@informatica.com</value>
</entry>
<entry>
<key>contentType</key>
<value>text</value>
</entry>
<entry>
<key>cc</key>
<value/>
</entry>
</config>
<responder>
<href>api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1</href>
<id>26154ed7-41ce-4db4-888f-ce5573e965d1</id>
<rel>responder</rel>
<title>EmailResponder1</title>
</responder>
<responseType>EmailResponder</responseType>
</response>
Responses 283
Update Email Response
Use the PUT method to update an email response in RulePoint.
Responses 285
</entry>
<entry>
<key>subject</key>
<value>Test email subject from EmailResponder</value>
</entry>
<entry>
<key>sentDate</key>
</entry>
<entry>
<key>bcc</key>
<value/>
</entry>
<entry>
<key>from</key>
<value>sbhimisetty@informatica.com</value>
</entry>
<entry>
<key>contentType</key>
<value>text</value>
</entry>
<entry>
<key>cc</key>
<value/>
</entry>
</config>
<responder>
<href>api/projects/1/responders/26154ed7-41ce-4db4-888f-ce5573e965d1</href>
<id>26154ed7-41ce-4db4-888f-ce5573e965d1</id>
<rel>responder</rel>
<title>EmailResponder1</title>
</responder>
<responseType>EmailResponder</responseType>
</response>
Responses 287
JMS Response
Use the examples to create, update, or delete a JMS response.
Responses 289
<entry>
<key>priority</key>
<value>4</value>
</entry>
<entry>
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>deliveryMode</key>
<value>2</value>
</entry>
<entry>
<key>params</key>
</entry>
<entry>
<key>timeToLive</key>
<value>0</value>
</entry>
<entry>
<key>destination</key>
<value>jmsQueue</value>
</entry>
</config>
<multithreaded>false</multithreaded>
<responder>
<href>api/projects/1/responders/ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7</href>
<id>ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7</id>
<rel>responder</rel>
<title>jmsresponder</title>
</responder>
<responseType>JMSResponder</responseType>
<responseTypeDisplayName>JMS Responder</responseTypeDisplayName>
</response>
Responses 291
Update JMS Response
Use the PUT method to update a JMS response in RulePoint.
Responses 293
<key>retryDelay</key>
<value>1000</value>
</entry>
<entry>
<key>deliveryMode</key>
<value>2</value>
</entry>
<entry>
<key>params</key>
</entry>
<entry>
<key>timeToLive</key>
<value>0</value>
</entry>
<entry>
<key>destination</key>
<value>jmsQueue</value>
</entry>
</config>
<multithreaded>false</multithreaded>
<responder>
<href>api/projects/1/responders/ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7</href>
<id>ec9ba07c-7ac1-48b0-8b7d-ffcd35c1f8f7</id>
<rel>responder</rel>
<title>jmsresponder</title>
</responder>
<responseType>JMSResponder</responseType>
<responseTypeDisplayName>JMS Responder</responseTypeDisplayName>
</response>
Responses 295
Accept: application/json
Content-Type: application/json
Cookie: JSESSIONID=<VALID SESSION ID>
Response Code : 204 No Content
Responses 297
<config>
<entry>
<key>operation</key>
<value>hello</value>
</entry>
<entry>
<key>inputParameters</key>
<value>hello.name=Chris</value>
</entry>
<entry>
<key>serviceName</key>
<value>HelloWorldServices</value>
</entry>
</config>
<responder>
<href>api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</href>
<id>776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</id>
<rel>responder</rel>
<title>MyWebServiceResponder</title>
</responder>
<responseType>webService</responseType>
</response>
Responses 299
PUT Response in JSON Format
Returns the Web Service response object and response code. Returns the error object if an error occurs.
{
"id": "994714e0-f56a-44ca-9b03-a7562367370c",
"name": "MyWebServiceResponse",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/responses/994714e0-f56a-44ca-9b03-a7562367370c",
"title": "MyWebServiceResponse",
"id": "994714e0-f56a-44ca-9b03-a7562367370c"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responses/994714e0-f56a-44ca-9b03-a7562367370c",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responses/994714e0-f56a-44ca-9b03-a7562367370c",
"type": "DELETE",
"title": "Delete"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responses/994714e0-f56a-44ca-9b03-a7562367370c/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responses",
"lastModifiedDate": "2013-09-13T17:14:55+05:30",
"createDate": "2013-09-13T17:12:11+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"responseType": "webService",
"responseTypeDisplayName": "Web Service Responder",
"responder": {
"rel": "responder",
"href": "api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01",
"title": "MyWebServiceResponder",
"id": "776acc35-7a4a-47e1-8b9a-07f7d8bb6f01"
},
"multithreaded": false,
"config": {
"operation": "hello",
"inputParameters": "hello.name=Chris",
"serviceName": "HelloWorldServices"
}
}
Response Code: 200 OK
Responses 301
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/responses/994714e0-f56a-44ca-9b03-a7562367370c</href>
<id>994714e0-f56a-44ca-9b03-a7562367370c</id>
<rel>self</rel>
<title>MyWebServiceResponder_response</title>
</self>
<valid>true</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responses</type>
<config>
<entry>
<key>operation</key>
<value>hello</value>
</entry>
<entry>
<key>inputParameters</key>
<value>hello.name=Chris</value>
</entry>
<entry>
<key>serviceName</key>
<value>HelloWorldServices</value>
</entry>
</config>
<multithreaded>false</multithreaded>
<responder>
<href>api/projects/1/responders/776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</href>
<id>776acc35-7a4a-47e1-8b9a-07f7d8bb6f01</id>
<rel>responder</rel>
<title>MyWebServiceResponder</title>
</responder>
<responseType>webService</responseType>
<responseTypeDisplayName>Web Service Responder</responseTypeDisplayName>
<templates />
<rules />
</response>
Response Code : 200 OK
Responses 303
"id": "69c36892-e18f-49ae-acab-ca78f9d8b100"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/responses/69c36892-e18f-49ae-acab-ca78f9d8b100",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/responses/69c36892-e18f-49ae-acab-ca78f9d8b100",
"type": "DELETE",
"title": "Delete"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/responses/69c36892-e18f-49ae-acab-ca78f9d8b100/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "responses",
"lastModifiedDate": "2013-09-19T18:10:48+05:30",
"createDate": "2013-09-19T18:10:48+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"responseType": "EventTransformer",
"responseTypeDisplayName": "Event Transformer",
"responder": {
"rel": "responder",
"href": "api/projects/1/responders/c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5",
"title": "MyEventTransformer",
"id": "c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5"
},
"multithreaded": false,
"config": {
"topic": "topic1 as topic2",
"params": "newproperty=100",
"properties": "*"
}
}
Response Code: 201 Created
Responses 305
<config>
<entry>
<key>topic</key>
<value>topic1 as topic2</value>
</entry>
<entry>
<key>params</key>
<value>newproperty=100</value>
</entry>
<entry>
<key>properties</key>
<value>*</value>
</entry>
</config>
<multithreaded>false</multithreaded>
<responder>
<href>api/projects/1/responders/c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5</href>
<id>c1e571f9-6d29-4d4b-bb78-f8c61a8cf7b5</id>
<rel>responder</rel>
<title>MyEventTransformer</title>
</responder>
<responseType>EventTransformer</responseType>
<responseTypeDisplayName>Event Transformer</responseTypeDisplayName>
<templates />
<rules />
</response>
Response Code : 201 Created
Responses 307
PUT Request in XML Format
Generate a PUT request. For example, the following PUT request updates an event transformer response in a
RulePoint application.
PUT http://invrw28cep14:8080/rulepoint/api/projects/1/responses/69c36892-e18f-49ae-acab-
ca78f9d8b100
Accept: application/xml
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Responses 309
DELETE Request in XML Format
Generate a DELETE request. For example, the following DELETE request deletes an event transformer
response in a RulePoint application.
DELETE http://invrw28cep14:8080/rulepoint/api/projects/1/responses/69c36892-e18f-49ae-
acab-ca78f9d8b100
Accept: application/xml
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Response Code : 204 No Content
RTAM Response
Use the examples to create, update, or delete an RTAM response.
Responses 311
Content-Type: application/xml
Cookie: JSESSIONID=<VALID SESSION ID>
Responses 313
<multithreaded>false</multithreaded>
<responder>
<href>api/projects/1/responders/d4c831d8-e031-4119-ac1b-28d4e785ab54</href>
<id>d4c831d8-e031-4119-ac1b-28d4e785ab54</id>
<rel>responder</rel>
<title>MyRTAMResponder</title>
</responder>
<responseType>RTAMResponder</responseType>
<responseTypeDisplayName>RTAM Responder</responseTypeDisplayName>
<templates />
<rules />
</response>
Response Code : 201 Created
Responses 315
PUT Body in XML Format
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<name>MyRTAMResponse</name>
<type>responses</type>
<config>
<entry>
<key>to</key>
<value>Administrator</value>
</entry>
<entry>
<key>body</key>
<value>RTAM Alert Body</value>
</entry>
<entry>
<key>subject</key>
<value>RTAM Alert Subject</value>
</entry>
<entry>
<key>priority</key>
<value>3</value>
</entry>
<entry>
<key>channels</key>
<value/>
</entry>
<entry>
<key>header</key>
<value/>
</entry>
<entry>
<key>actions</key>
<value/>
</entry>
<entry>
<key>groups</key>
<value/>
</entry>
<entry>
<key>metadata</key>
</entry>
</config>
<responder>
<href>api/projects/1/responders/d4c831d8-e031-4119-ac1b-28d4e785ab54</href>
<id>d4c831d8-e031-4119-ac1b-28d4e785ab54</id>
<rel>responder</rel>
<title>MyRTAMResponder</title>
</responder>
<responseType>RTAMResponder</responseType>
</response>
Responses 317
<id>d4c831d8-e031-4119-ac1b-28d4e785ab54</id>
<rel>responder</rel>
<title>MyRTAMResponder</title>
</responder>
<responseType>RTAMResponder</responseType>
<responseTypeDisplayName>RTAM Responder</responseTypeDisplayName>
<templates />
<rules />
</response>
Response Code : 200 OK
Responses 319
},
"multithreaded": false,
"config": {
"contents": "RulePoint FileOUt response",
"filename": "response.txt",
"mode": "append"
}
}
Response Code: 201 Created
Responses 321
Content-Type: application/json
Cookie: JSESSIONID=<VALID SESSION ID>
Responses 323
<rel>update</rel>
<title>Edit</title>
<type>PUT</type>
</action>
<action>
<href>api/projects/1/responses/c792b088-5f99-4b4b-9b28-b02d2c618edb</href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
</actions>
<id>c792b088-5f99-4b4b-9b28-b02d2c618edb</id>
<name>MyFileOutputResponder_Response</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/responses/c792b088-5f99-4b4b-9b28-b02d2c618edb</href>
<id>c792b088-5f99-4b4b-9b28-b02d2c618edb</id>
<rel>self</rel>
<title>MyFileOutputResponder_Response</title>
</self>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>responses</type>
<valid>true</valid>
<config>
<entry>
<key>contents</key>
<value>RulePoint FileOUt response</value>
</entry>
<entry>
<key>filename</key>
<value>response.txt</value>
</entry>
<entry>
<key>mode</key>
<value>append</value>
</entry>
</config>
<multithreaded>false</multithreaded>
<responder>
<href>api/projects/1/responders/be6d395e-e8c2-4bb5-8d3f-1aa359dc5bbe</href>
<id>be6d395e-e8c2-4bb5-8d3f-1aa359dc5bbe</id>
<rel>responder</rel>
<title>MyFileOutputResponder</title>
</responder>
<responseType>fileOutput</responseType>
<responseTypeDisplayName>File Responder</responseTypeDisplayName>
<templates />
<rules />
</response>
Response Code : 200 OK
Accept: application/json
Content-Type: application/json
Cookie: JSESSIONID=<VALID SESSION ID>
Response Code : 204 No content
Marshaller
You can create or update a marshaller for a source.
Create a Marshaller
Use the POST method to create a marshaller for a source.
Marshaller 325
"title": "filetopic",
"id": "45a09189-2edd-475a-8106-502f7da3115d"
}
],
"config": {
"file": "c:\\temp\\myfile.txt",
"mode": "new",
"markerId": null,
"propertyMetadataMap": null
},
"marshaller": {
"marshallerClassname": "com.mycompany.MyMarshaller",
"marshallerProperties": {}
}
}
Marshaller 327
<marshaller>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<schedulable>false</schedulable>
<sourceType>JMSSource</sourceType>
<sourceTypeDisplayName>JMS Source</sourceTypeDisplayName>
<topics>
<topic>
<href>api/projects/1/topics/6e9c0ae9-fce0-4219-9e58-639af4e79daa</href>
<id>6e9c0ae9-fce0-4219-9e58-639af4e79daa</id>
<objectType>topics</objectType>
<title>jmstopic</title>
</topic>
</topics>
</source>
Note:
When you create a marshaller for a responder, add the following code in the request body if you use the JSON
format:
"marshaller": {
"marshallerClassname": "com.mycompany.MyMarshaller",
"marshallerProperties":{}}
Add the following code in the request body if you use the XML format:
<marshaller>
<marshallerClassname>com.mycompany.MyMarshaller</marshallerClassname>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
Update a Marshaller
Use the PUT method to update a marshaller in RulePoint.
Marshaller 329
Accept: application/json
Content-Type: application/json
Cookie: JSESSIONID=<VALID SESSION ID>
Marshaller 331
<key>propertyMetadataMap</key>
</entry>
<entry>
<key>mode</key>
<value>new</value>
</entry>
</config>
<marshaller>
<marshallerClassname>com.mycompany.MySourceMarshaller</marshallerClassname>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
<sourceType>FileSource</sourceType>
<sourceTypeDisplayName>File Source</sourceTypeDisplayName>
<topics>
<href>api/projects/1/topics/45a09189-2edd-475a-8106-502f7da3115d</href>
<id>45a09189-2edd-475a-8106-502f7da3115d</id>
<objectType>topics</objectType>
<title>filetopic</title>
</topics>
</source>
Note:
When you update a marshaller for a responder, add the following code in the request body if you use the
JSON format:
<marshaller>
<marshallerClassname>com.mycompany.MySourceMarshaller</marshallerClassname>
<marshallerProperties/>
Add the following code in the request body if you use the XML format:
<marshaller>
<marshallerClassname>com.mycompany.MySourceMarshaller</marshallerClassname>
<marshallerProperties/>
<marshallerThreadsafe>false</marshallerThreadsafe>
</marshaller>
Marshaller 333
Template
You can create, update, or delete a template.
Create a Template
Use the POST method to create a template.
Template 335
"watchlist": null,
"topicName": "",
"paramOrder": 0
},
{
"paramType": "Real",
"name": "price",
"defaultParamValue": "38.89",
"testParamValue": "38.89",
"format": "",
"picklist": "",
"description": "",
"leftLabel": "",
"rightLabel": "",
"popupHelp": "",
"inlineHelp": null,
"valueList": null,
"minimum": null,
"maximum": null,
"realMin": null,
"realMax": null,
"maxLength": null,
"setDefault": true,
"fieldName": "price",
"customValidationValue": null,
"watchlist": null,
"topicName": "",
"paramOrder": 1
}
],
"rules": [],
"topics": [
{
"href": "api/projects/1/topics/c03e56e5-3718-4989-b23b-fe6f342ea655",
"title": "stock",
"objectType": "topics",
"id": "c03e56e5-3718-4989-b23b-fe6f342ea655"
}
],
"watchlists": [],
"analytics": [],
"responses": [
{
"href": "api/projects/1/responses/c792b088-5f99-4b4b-9b28-b02d2c618edb",
"title": "MyFileOutputResponse",
"objectType": "responses",
"id": "c792b088-5f99-4b4b-9b28-b02d2c618edb"
}
],
"comment": "A template for creating rules around stocks",
"upgrade": false,
"multithreaded": true,
"templateDrqlText": "when 1 stock with symbol = '<<symbol>>' and price > '<<price>>'
then MyFileOutputResponse with contents='${stock.symbol} price is greater than $
{stock.price}'",
"instructions": "",
"templateDrqlTextFormatted": "when 1 stock with symbol = '<<symbol>>'
and price > '<<price>>' then MyFileOutputResponse with contents='$
{stock.symbol} price is greater than ${stock.price}'"
}
Response Code: 201 Created
Template 337
<action>
<href>api/projects/1/rules/42ef4d92-caed-4e05-abe8-16515f9f2961</href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
<action>
<href>api/projects/1/deploy</href>
<rel>deploy</rel>
<title>Deploy</title>
<type>POST</type>
</action>
<action>
<rel>createAdvancedRule</rel>
<title>Create Advanced Rule</title>
<type>POST</type>
</action>
<action>
<href>api/projects/1/rules/42ef4d92-caed-4e05-abe8-16515f9f2961</href>
<rel>createTemplate</rel>
<title>Create Template</title>
<type>POST</type>
</action>
</actions>
<id>42ef4d92-caed-4e05-abe8-16515f9f2961</id>
<name>stock_rule</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/rules/42ef4d92-caed-4e05-abe8-16515f9f2961</href>
<id>42ef4d92-caed-4e05-abe8-16515f9f2961</id>
<rel>self</rel>
<title>stock_rule</title>
</self>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<description/>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>rules</type>
<valid>true</valid>
<drqlStatement>when 1 stock with symbol = 'XYZ' and price > '38.89' then
MyFileOutputResponse with contents='${stock.symbol} price is greater than $
{stock.price}'</drqlStatement>
<drqlStatementFormatted>when 1 stock with symbol = 'XYZ' and price > '38.89' then
MyFileOutputResponse with contents='${stock.symbol} price is greater than $
{stock.price}'</drqlStatementFormatted>
<multithreaded>false</multithreaded>
<responses>
<response>
<href>api/projects/1/responses/c792b088-5f99-4b4b-9b28-b02d2c618edb</href>
<id>c792b088-5f99-4b4b-9b28-b02d2c618edb</id>
<objectType>responses</objectType>
<title>MyFileOutputResponse</title>
</response>
</responses>
<ruleType>template</ruleType>
<template>
<href>api/projects/1/templates/3d385b72-232a-4caa-861c-c59072a98b44</href>
<id>3d385b72-232a-4caa-861c-c59072a98b44</id>
<rel>template</rel>
<title>templ_stock_rule</title>
</template>
Update a Template
Use the PUT method to update a template in RulePoint.
Template 339
"maxLength": null,
"setDefault": true,
"fieldName": "symbol",
"customValidationValue": [],
"watchlist": null,
"topicName": "",
"paramOrder": 0
},
{
"paramType": "Real",
"name": "price",
"defaultParamValue": "38.89",
"testParamValue": "38.89",
"format": "",
"picklist": "",
"description": "",
"leftLabel": "",
"rightLabel": "",
"popupHelp": "",
"inlineHelp": null,
"valueList": null,
"minimum": null,
"maximum": null,
"realMin": null,
"realMax": null,
"maxLength": null,
"setDefault": true,
"fieldName": "price",
"customValidationValue": null,
"watchlist": null,
"topicName": "",
"paramOrder": 1
}
]
}
Template 341
"maxLength": null,
"setDefault": true,
"fieldName": "price",
"customValidationValue": null,
"watchlist": null,
"topicName": "",
"paramOrder": 1
}
],
"rules": [],
"topics": [
{
"href": "api/projects/1/topics/c03e56e5-3718-4989-b23b-fe6f342ea655",
"title": "stock",
"objectType": "topics",
"id": "c03e56e5-3718-4989-b23b-fe6f342ea655"
}
],
"watchlists": [],
"analytics": [],
"responses": [
{
"href": "api/projects/1/responses/c792b088-5f99-4b4b-9b28-b02d2c618edb",
"title": "MyFileOutputResponse",
"objectType": "responses",
"id": "c792b088-5f99-4b4b-9b28-b02d2c618edb"
}
],
"comment": "A template for creating rules around stocks",
"upgrade": false,
"multithreaded": false,
"templateDrqlText": "when 1 stock with symbol = '<<symbol>>' and price > '<<price>>'
then MyFileOutputResponse with contents='${stock.symbol} price is greater than $
{stock.price}'",
"instructions": "",
"templateDrqlTextFormatted": "when 1 stock with symbol = '<<symbol>>'
and price > '<<price>>' then MyFileOutputResponse with contents='$
{stock.symbol} price is greater than ${stock.price}'"
}
Response Code: 200 OK
Template 343
<type>POST</type>
</action>
</actions>
<id>42ef4d92-caed-4e05-abe8-16515f9f2961</id>
<name>stock_rule</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/rules/42ef4d92-caed-4e05-abe8-16515f9f2961</href>
<id>42ef4d92-caed-4e05-abe8-16515f9f2961</id>
<rel>self</rel>
<title>stock_rule</title>
</self>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<description/>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>rules</type>
<valid>true</valid>
<drqlStatement>when 1 stock with symbol = 'XYZ' and price > '38.89' then
MyFileOutputResponse with contents='${stock.symbol} price is greater than $
{stock.price}'</drqlStatement>
<drqlStatementFormatted>when 1 stock with symbol = 'XYZ' and price > '38.89' then
MyFileOutputResponse with contents='${stock.symbol} price is greater than $
{stock.price}'</drqlStatementFormatted>
<multithreaded>false</multithreaded>
<responses>
<response>
<href>api/projects/1/responses/c792b088-5f99-4b4b-9b28-b02d2c618edb</href>
<id>c792b088-5f99-4b4b-9b28-b02d2c618edb</id>
<objectType>responses</objectType>
<title>MyFileOutputResponse</title>
</response>
</responses>
<ruleType>template</ruleType>
<template>
<href>api/projects/1/templates/3d385b72-232a-4caa-861c-c59072a98b44</href>
<id>3d385b72-232a-4caa-861c-c59072a98b44</id>
<rel>template</rel>
<title>templ_stock_rule</title>
</template>
<templateParams>
<entry>
<key>price</key>
<value>38.89</value>
</entry>
<entry>
<key>symbol</key>
<value>XYZ</value>
</entry>
</templateParams>
<topics>
<topic>
<href>api/projects/1/topics/c03e56e5-3718-4989-b23b-fe6f342ea655</href>
<id>c03e56e5-3718-4989-b23b-fe6f342ea655</id>
<objectType>topics</objectType>
<title>stock</title>
</topic>
</topics>
</rule>
Response Code: 200 OK
Rules
Use the examples to retrieve a rule.
Rules 345
"symbol": "XYZ",
"price": "38.89"
}
}
Rules 347
<href>api/projects/1/templates/3d385b72-232a-4caa-861c-c59072a98b44</href>
<id>3d385b72-232a-4caa-861c-c59072a98b44</id>
<rel>template</rel>
<title>templ_stock_rule</title>
</template>
<templateParams>
<entry>
<key>price</key>
<value>38.89</value>
</entry>
<entry>
<key>symbol</key>
<value>XYZ</value>
</entry>
</templateParams>
<topics>
<href>api/projects/1/topics/c03e56e5-3718-4989-b23b-fe6f342ea655</href>
<id>c03e56e5-3718-4989-b23b-fe6f342ea655</id>
<objectType>topics</objectType>
<title>stock</title>
</topics>
</rule>
Rules 349
Content-Type: application/json
Cookie: JSESSIONID=<VALID SESSION ID>
Rules 351
MyFileOutputResponse with contents='${stock.symbol} price is greater than $
{stock.price}'</drqlStatementFormatted>
<multithreaded>false</multithreaded>
<responses>
<href>api/projects/1/responses/c792b088-5f99-4b4b-9b28-b02d2c618edb</href>
<id>c792b088-5f99-4b4b-9b28-b02d2c618edb</id>
<objectType>responses</objectType>
<title>MyFileOutputResponse</title>
</responses>
<ruleType>template</ruleType>
<template>
<href>api/projects/1/templates/3d385b72-232a-4caa-861c-c59072a98b44</href>
<id>3d385b72-232a-4caa-861c-c59072a98b44</id>
<rel>template</rel>
<title>templ_stock_rule</title>
</template>
<templateParams>
<entry>
<key>price</key>
<value>38.89</value>
</entry>
<entry>
<key>symbol</key>
<value>XYZ</value>
</entry>
</templateParams>
<topics>
<href>api/projects/1/topics/c03e56e5-3718-4989-b23b-fe6f342ea655</href>
<id>c03e56e5-3718-4989-b23b-fe6f342ea655</id>
<objectType>topics</objectType>
<title>stock</title>
</topics>
</rule>
Rules 353
Delete Template Rule
Use the DELETE method to delete a template rule in RulePoint.
Retrieve Rules
Use the GET method to retrieve a rule in RulePoint.
Rules 355
then rtam_response with subject="${sqltopic.symbol} alert", body="cxall returns $
{wsa}""
},
{
"id": "a5046814-e355-4103-b885-71e2ac82ec4c",
"name": "sqlrule",
"valid": true,
"self": {
"rel": "self",
"href": "api/projects/1/rules/a5046814-e355-4103-b885-71e2ac82ec4c",
"title": "sqlrule",
"id": "a5046814-e355-4103-b885-71e2ac82ec4c"
},
"actions": [
{
"rel": "update",
"href": "api/projects/1/rules/a5046814-e355-4103-b885-71e2ac82ec4c",
"type": "PUT",
"title": "Edit"
},
{
"rel": "delete",
"href": "api/projects/1/rules/a5046814-e355-4103-b885-71e2ac82ec4c",
"type": "DELETE",
"title": "Delete"
},
{
"rel": "deploy",
"href": "api/projects/1/deploy",
"type": "POST",
"title": "Deploy"
},
{
"rel": "createTemplate",
"href": "api/projects/1/rules/a5046814-e355-4103-b885-71e2ac82ec4c",
"type": "POST",
"title": "Create Template"
}
],
"acl": {
"rel": "acl",
"href": "api/projects/1/rules/a5046814-e355-4103-b885-71e2ac82ec4c/acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "rules",
"lastModifiedDate": "2013-08-19T11:10:52+05:30",
"createDate": "2013-08-19T11:01:38+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"drqlStatement": "when 1 sqltopic then wsresponder_response",
"drqlStatementEditable": null,
"topics": [
{
"href": "api/projects/1/topics/13dcf0cf-4d29-434a-98ae-99dff34367ab",
"title": "sqltopic",
"objectType": "topics",
"id": "13dcf0cf-4d29-434a-98ae-99dff34367ab"
}
],
"responses": [
{
Rules 357
{
"href": "api/projects/1/topics/13dcf0cf-4d29-434a-98ae-99dff34367ab",
"title": "sqltopic",
"objectType": "topics",
"id": "13dcf0cf-4d29-434a-98ae-99dff34367ab"
}
],
"responses": [
{
"href": "api/projects/1/responses/8322f00d-6191-4932-a447-
a090e03b5696",
"title": "fileout_response",
"objectType": "responses",
"id": "8322f00d-6191-4932-a447-a090e03b5696"
}
],
"analytics": [
{
"href": "api/projects/1/analytics/d6a16480-2cd6-45bd-99a2-
dd347def6175",
"title": "systimeanalytic",
"objectType": "analytics",
"id": "d6a16480-2cd6-45bd-99a2-dd347def6175"
}
],
"multithreaded": true,
"ruleType": "advanced",
"drqlStatementFormatted": "when 6 sqltopic with systimeanalytic() as
mysystime then fileout_response with contents = "Read 6 events at ${mysystime}""
}
]
}
Response Code: 200 OK
Rules 359
<id>13dcf0cf-4d29-434a-98ae-99dff34367ab</id>
<objectType>topics</objectType>
<title>sqltopic</title>
</topics>
</rule>
</items>
<total>1</total>
</artifacts>
Response Code : 200 OK
Analytics
You can use API calls to retrieve an analytic in RulePoint.
Retrieve Analytics
Use the GET method to retrieve an analytic in RulePoint.
Analytics 361
"acl": {
"rel": "acl",
"href": "api/projects/1/analytics/d6a16480-2cd6-45bd-99a2-dd347def6175/
acl",
"title": "acl"
},
"owningProject": {
"rel": "owningProject",
"href": "api/projects/1",
"title": "Default Project",
"id": "1"
},
"type": "analytics",
"lastModifiedDate": "2013-08-19T11:10:52+05:30",
"createDate": "2013-07-30T10:10:21+05:30",
"createdBy": "Administrator",
"predefined": false,
"deployable": true,
"deployState": "DRAFT",
"force": false,
"analyticType": "systimeanalytic",
"analyticTypeDisplayName": "System Time Analytic",
"config": {
"evaluationRequired": "false",
"cacheDuration": "0"
},
"rules": [
{
"href": "api/projects/1/rules/9e212e7e-96e9-43f6-9725-57b3e3da4e23",
"title": "filrule",
"objectType": "rules",
"id": "9e212e7e-96e9-43f6-9725-57b3e3da4e23"
}
],
"booleanAnalytic": true
}
]
}
Response Code: 200 OK
Analytics 363
<rules>
<rule>
<href>api/projects/1/rules/f8573cc2-e263-47f8-8ae3-9de8b58c7b44</
href>
<id>f8573cc2-e263-47f8-8ae3-9de8b58c7b44</id>
<objectType>rules</objectType>
<title>sqlrtamrule</title>
</rule>
</rules>
</analytic>
<analytic>
<acl>
<href>api/projects/1/analytics/d6a16480-2cd6-45bd-99a2-dd347def6175/acl</
href>
<rel>acl</rel>
<title>acl</title>
</acl>
<actions>
<action>
<href>api/projects/1/analytics/d6a16480-2cd6-45bd-99a2-dd347def6175</
href>
<rel>update</rel>
<title>Edit</title>
<type>PUT</type>
</action>
<action>
<href>api/projects/1/analytics/d6a16480-2cd6-45bd-99a2-dd347def6175</
href>
<rel>delete</rel>
<title>Delete</title>
<type>DELETE</type>
</action>
</actions>
<id>d6a16480-2cd6-45bd-99a2-dd347def6175</id>
<links/>
<name>systimeanalytic</name>
<owningProject>
<href>api/projects/1</href>
<id>1</id>
<rel>owningProject</rel>
<title>Default Project</title>
</owningProject>
<self>
<href>api/projects/1/analytics/d6a16480-2cd6-45bd-99a2-dd347def6175</
href>
<id>d6a16480-2cd6-45bd-99a2-dd347def6175</id>
<rel>self</rel>
<title>systimeanalytic</title>
</self>
<valid>true</valid>
<createDate/>
<createdBy>Administrator</createdBy>
<deployState>DRAFT</deployState>
<deployable>true</deployable>
<force>false</force>
<lastModifiedDate/>
<predefined>false</predefined>
<type>analytics</type>
<analyticType>systimeanalytic</analyticType>
<analyticTypeDisplayName>System Time Analytic</analyticTypeDisplayName>
<booleanAnalytic>true</booleanAnalytic>
<config>
<entry>
<key>evaluationRequired</key>
<value>false</value>
</entry>
<entry>
<key>cacheDuration</key>
<value>0</value>
</entry>
Users
Use the examples to create, retrieve, update, or delete a user.
Create Users
Use the POST method to create a user in RulePoint.
Users 365
POST Response in JSON Format
Returns the user object and response code. Returns the error object if an error occurs.
{
"id": "98305",
"self": {
"rel": "self",
"href": "/api/users/newuser12",
"title": "newuser12",
"id": "newuser12"
},
"actions": [
{
"rel": "update",
"href": "/api/users/",
"type": "PUT"
},
{
"rel": "delete",
"href": "/api/users/newuser12",
"type": "DELETE"
}
],
"lastModifiedDate": "2013-09-18T18:34:38+05:30",
"createDate": "2013-09-18T18:34:38+05:30",
"modifiedBy": "Administrator",
"createdBy": "Administrator",
"userName": "newuser12",
"password": "*****",
"firstName": "new",
"lastName": "user1111",
"roles": [
{
"rel": "roles",
"href": "/api/roles/ROLE_ADMIN",
"title": "Predefined Admin Role",
"id": "ROLE_ADMIN"
},
{
"rel": "roles",
"href": "/api/roles/ROLE_USER",
"title": "Predefined User Role",
"id": "ROLE_USER"
}
],
"enabled": true,
"predefined": false,
"remoteUser": false
}
Users 367
Retrieve Users
Use the GET method to retrieve a user in RulePoint.
Update Users
Use the GET method to update a user in RulePoint.
Users 369
"id": "ROLE_USER"
}
],
"remoteUser": false
}
Users 371
<user>
<actions>
<action>
<href>/api/users/</href>
<rel>update</rel>
<type>PUT</type>
</action>
<action>
<href>/api/users/AT_User1</href>
<rel>delete</rel>
<type>DELETE</type>
</action>
</actions>
<id>32773</id>
<self>
<href>/api/users/AT_User1</href>
<id>AT_User1</id>
<rel>self</rel>
<title>AT_User1</title>
</self>
<createDate/>
<createdBy>Administrator</createdBy>
<enabled>true</enabled>
<firstName>Atuser</firstName>
<lastModifiedDate/>
<lastName>Atuserlastname</lastName>
<modifiedBy>Administrator</modifiedBy>
<password>*****</password>
<predefined>false</predefined>
<remoteUser>false</remoteUser>
<roles>
<href>/api/roles/AT_Role2</href>
<id>AT_Role2</id>
<rel>roles</rel>
<title>Role creation for AT</title>
</roles>
<userName>AT_User1</userName>
</user>
</items>
<total>1</total>
</results>
Response Code : 200 OK
Delete Users
Use the DELETE method to delete a user in RulePoint.
Objects Deployment
Use the examples to deploy, undeploy, redeploy, and reassign RulePoint objects.
Deploy Object
Use the POST method to deploy an object in RulePoint.
Undeploy Object
Use the POST method to undeploy an object in RulePoint.
Redeploy Object
Use the POST method to redeploy an object in RulePoint.
Reassign Object
Use the POST method to reassign an object in RulePoint.
</deploymentRequest>
Create Event
Use the POST method to publish an event on a deployed topic in RulePoint.
Log In
POST Request in JSON Format
To log in to RulePoint using JSON, you might use the following request header and response on wire:
POST http://invrw28cep14:8080/rulepoint/dtlogin
Content-Type: application/x-www-form-urlencoded
Accept: */*
j_password=Administrator1&j_username=Administrator
Log In 379
Chapter 7
RulePoint Pluggable
Authentication Module
This chapter includes the following topics:
RulePoint Security
Authentication in spring security is based on Authentication Manager, which is the main interface that
provides authentication services in Spring Security. Use spring security to implement RulePoint security.
You can plug in one or more Authentication Provider implementations in Authentication Manager. The
Authentication Provider implementation is mainly responsible to validate a user and build a complete identity
for a validated user. The components of the Authentication Provider framework manage sessions, login, and
logout.
Spring provides support to extend and plug Authentication Provider. You can override or customize the
Authentication Provider for RulePoint, so that you can integrate RulePoint with different authentication
providers, such as CAS, openID, and SiteMinder.
RulePoint runs in hybrid mode and includes configurations for both the local DB provider and the LDAP
provider. You can create, enable, or disable LDAP in RulePoint and it will not require you to restart RulePoint.
380
The flexible, extensible design of spring security makes it possible to customize the supported security
providers. The spring security project provides a library of classes for Authentication Provider
implementations, supporting classes for filter implementations, and configuration examples.
• security_authentication.xml
• security_authorization.xml
The files are in standard spring applicationContext xml format and additionally contain the elements from
the specific spring security namespace. The files are included in the contextConfigLocation context-param
in the web.xml file and loaded as other components of spring.
All REST endpoints are secured by spring security. When you perform an action through the user interface or
through the REST APIs, the underlying ReST layer authenticates each request with the employed
authentication mechanism.
Account Management
Use the default Database Provider to perform account management.
If you want to use a different provider, you can create proxy users in the system. For example, you can create
remote users for LDAP. The proxy users are read-only and provide a convenient placeholder to associate
roles. If you update the proxy users, the user details in RulePoint will not be updated.
Authorization Management
RulePoint includes twenty system-defined privileges, which form the basis of authorization.
You can create roles in RulePoint that can contain one or more privileges. You can then assign the roles to
users, irrespective of the type of authentication provider that is responsible for the user authentication. After
a user successfully logs in to RulePoint, spring creates a security context for the user. The security context
contains an authentication object that corresponds to the user, and includes a list of privileges assigned to
the user through the associated role.
You can map LDAP groups to a role created within RulePoint. All users who belong to the LDAP group will
have this role. Privileges determine the actions you can perform for a RulePoint object. For example, a user
can have create or view privileges. Permissions determine user access to actions for a particular instance of
an object.
RulePoint has an ACL system that is implemented by the spring ACL system, where you can include both
users and roles in the object ACLs. You can perform all the required authorization-related actions in
RulePoint. The authorization module is ApplicationProvider agnostic and does not require extension or
customization.
Authentication Management
Authentication management is implemented using spring security.
To implement a different authentication module, see the development guides maintained by spring security.
For more information, see the Spring Security documentation.
However, there is no external notification to an LDAP or any external system that keeps track when the user
is logged into the system.
Password Management
Only database users can change passwords and enforce password complexity, but are not allowed to expire
or retrieve forgotten passwords.
If LDAP is configured, LDAP validates the username and password. The LDAP server locks the user account,
if necessary.
Oracle Access Manager, SiteMinder, and J2EE container are some examples for pre-authenticated
authentication providers for spring security. The general procedure for enabling developing and enabling
authentication using these providers is the same.
OAMAuthenticationFilter.java
The following code shows you how to create the OAMAuthenticationFilter.java class:
package com.informatica.cep.design.custom.application.security.web;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.core.Authentication;
import
org.springframework.security.web.authentication.preauth.PreAuthenticatedCredentialsNotFou
ndException;
import
org.springframework.security.web.authentication.preauth.RequestHeaderAuthenticationFilter
;
import org.springframework.util.Assert;
import com.informatica.cep.design.application.security.entities.DTUser;
/**
* supports multiple request headers and onAuthenticationSuccessHandler to put the
currentLoggedInUser in Session
* @author suyadav
*
*/
public class OAMAuthenticationFilter extends RequestHeaderAuthenticationFilter {
@Override
protected Object getPreAuthenticatedPrincipal(HttpServletRequest request) {
String principal = null;
for(String currHdr:principalRequestHeaders){
principal = request.getHeader(currHdr);
if(principal == null){
logger.warn("Failed to find request header "+currHdr);
}else{
logger.debug((new StringBuilder()).append("Found user id:
").append(principal).toString());
break;
}
}
if (principal == null && exceptionIfHeaderMissing) {
throw new
PreAuthenticatedCredentialsNotFoundException(principalRequestHeaders
+ " header not found in request.");
}
return principal;
}
//this method override will be unnecessary if we in CurrentSessionInfoController we
pick details from SecurityContextHolder
@Override
protected void successfulAuthentication(HttpServletRequest request,
HttpServletResponse response, Authentication authResult) {
super.successfulAuthentication(request, response, authResult);
DTUser currUser = (DTUser)authResult.getPrincipal();
HttpSession currSess = request.getSession(false);
currSess.setAttribute("loggedInUser", currUser);
}
public List<String> getPrincipalRequestHeaders() {
return principalRequestHeaders;
}
@Override
PAUserDetailsServiceImpl
The following code shows you how to create the PAUserDetailsServiceImpl.java class:
package com.informatica.cep.design.custom.application.security.web;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import com.informatica.cep.design.application.security.repo.DTUserRepo;
@Autowired
private DTUserRepo userRepo;
@Override
public UserDetails loadUserByUsername(String username) throws
UsernameNotFoundException {
UserDetails ud =
userRepo.findLocalUserByUserNameForAuthentication(normalize(username));
if(ud == null)
throw new BadCredentialsException("Username :"+username+" not found in
Rulepoint");
return ud;
}
//this can be used in the main code as well that way we will not require this
special class just for this
private String normalize(String arg)
{
logger.debug((new StringBuilder()).append("normalize in
").append(arg).toString());
if(arg.indexOf('=') != -1)
arg = arg.substring(arg.indexOf('=') + 1);
logger.debug((new StringBuilder()).append("normalize out
").append(arg).toString());
return arg;
}
security_authentication_OAM.xml
The following code shows you an example of the security_authentication_OAM.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Application context containing authentication, channel
- security and web URI beans.
-
- Only used by "filter" artifact.
-
-->
<b:bean id="restSessionInfoOnAuthenticationHandler"
class="com.informatica.cep.design.application.security.web.SessionInfoOnAuhtenicationSucc
essHandler"/>
<b:bean id="dtPwdEnc"
class="org.springframework.security.crypto.password.StandardPasswordEncoder" />
<authentication-manager alias="dtAuthProvider">
<authentication-provider ref="preauthAuthProvider"/>
</authentication-manager>
class="com.informatica.cep.design.custom.application.security.web.OAMAuthenticationFilter
">
<b:property name="authenticationManager" ref="dtAuthProvider" />
</b:bean>
<b:bean id="preauthAuthProvider"
class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthentica
tionProvider">
<b:property name="preAuthenticatedUserDetailsService">
<b:bean id="userDetailsServiceWrapper"
class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
<b:property name="userDetailsService" >
<b:bean
class="com.informatica.cep.design.custom.application.security.web.PAUserDetailsServiceImp
l"/>
</b:property>
</b:bean>
</b:property>
</b:bean>
<b:bean id="restLoginExceptionHandler"
class="com.informatica.cep.design.application.security.web.Http401ExceptionHandler"/>
<b:bean id="dtAccessDecisionMgr"
class="org.springframework.security.access.vote.AffirmativeBased">
<b:constructor-arg>
<b:list>
<b:bean class="org.springframework.security.access.vote.AuthenticatedVoter"/>
<b:bean class="org.springframework.security.access.vote.RoleVoter">
<b:property name="rolePrefix" value="PRIV_"/>
</b:bean>
</b:list>
</b:constructor-arg>
</b:bean>
<b:bean id="dtLogoutHandler"
class="com.informatica.cep.design.application.security.web.NonRedirectingLogoutSucessHand
ler"/>
</b:beans>
The appendix provides a brief description of the common attributes across all the REST calls and also lists
the attributes specific for each resource type.
Attributes Description
387
Attributes Description
actions Array of all the actions, for example, deploy, update, or delete, that you can perform on the
object and the related URIs.
acl A list of permissions attached to an object or project. The acl associated to an object
consists of the user ID, the read, write, execute, or deny permissions, and the grant or deny
access rights to that particular object or project.
The current state of the object, for example, deployed, needs_deployment, or draft state.
force Force saves an invalid rule or template. If you set the value to true, if the rule or template
compilation fails, that rule or template is force saved as an invalid rule or template.
marshaller An object such as a source or responder that holds the marshaller class name and properties.
marshallerProperties A comma-separated list of key-value pairs that are passed to the marshaller.
Attributes Description
responderAccess The properties of events (either Named or All properties) in the topic that the responder must
access to.
rules The link to the array of rules that refer to the object.
Source Attributes
The tables list the HTTP request and response attributes to call a REST API for different types of RulePoint
sources.
SQL Source
The following table describes the HTTP request and response attributes of the REST calls for an SQL source:
Attributes Description
updateSql The UPDATE statement for each record extracted from the query and published to RulePoint.
bufferResult Determines whether to maintain a buffer of the result sets to publish to the topic. Used only
when defining a SQL source service.
markerId The name to assign to the marker. This is the batch name that the sever associates with all
published events.
propertyMetadataMap The unique name-value pairs of static metadata or additional information about this service
that becomes part of the event properties.
transactionSize The frequency to update the parameters with data from the most recently processed records.
Attributes Description
clientAcknowledgeMode Specifies the acknowledgement mode for non-transacted sessions, such as Auto
Acknowledge, Client Acknowledge, or Acknowledge.
messageSelector Criteria for filtering message header or message properties, to limit which JMS messages
RulePoint receives.
Attributes Description
username The user name to access the specified URL if the URL requires authentication.
propertyMetadataMap The unique name-value pairs of static metadata or additional information about this service
that becomes part of the event properties.
password The password associated with the user name required to access the specified URL.
Attributes Description
propertyMetadataMap The unique name-value pairs of static metadata or additional information about this service
that becomes part of the event properties.
Attributes Description
propertyMetadataMap The unique name-value pairs of static metadata or additional information about this service
that becomes part of the event properties.
Attributes Description
xpathExpr If the operation returns a result, the type of output that the Web Service expects. The output
types include an XML document or the result of the application of an XPath expression that
you provide.
markerId The name to assign to the marker. This is the batch name that the sever associates with all
published events.
propertyMetadataMap The unique name-value pairs of static metadata or additional information about this service
that becomes part of the event properties.
SQL Connection
The following table describes the HTTP request and response attributes of the REST calls for an SQL
connection:
Attributes Description
type Connections.
acquireRetryAttempts A limit for the number of times that RulePoint attempts to acquire a connection from the
database before giving up. If the value is less than or equal to zero, RulePoint makes an
indefinite number of attempts to fetch a connection.
driverClass The JDBC driver class for establishing connection to the database.
maxPoolSize The maximum number of connections that are maintained in the connection pool.
checkoutTimeout The timeout duration in milliseconds for acquiring connection to the database.
retryCount The number of connection retry attempts that RulePoint should make.
Attributes Description
username If required by the SMTP server, the SMTP server user name.
retryCount The number of connection retry attempts that RulePoint should make.
server The fully qualified domain name of the SMTP server that is used to send outbound email from RulePoint.
password If required by the SMTP server, the password associated with the SMTP server username.
JMS Connection
The following table describes the HTTP request and response attributes of the REST calls for a JMS
connection:
Attributes Description
location The location of the naming service and port on which to connect.
contextFactory The JMS provider specific initial JNDI context factory implementation for connecting to the
JNDI service. This value is a fully qualified class name of the factory class that creates the
initial context.
jmsConnectionFactory The name of the object in the JNDI server that enables the JMS Client to create JMS
connections.
packagePrefixes A colon-delimited list of package prefixes to use when loading URL context factories. These
are the package prefixes for the name of the factory class that will create a URL context
factory.
Attributes Description
retryCount The number of connection retry attempts that RulePoint should make.
password The password associated with the Web Service user name.
wsdlDuration The amount of time in seconds that the WSDL is retained in a cache.
url The URL of the WSDL file that contains the operations that you want to execute.
loginName The Web Service user name for Web Service authentication.
Analytic Attributes
The following table describes the HTTP request and response attributes of the REST calls for an SQL
analytic:
Attributes Description
evaluationRequired Specifies whether the result of the analytic is part of conditional evaluation within a rule.
xpathExpr If you specify an XPath expression in the analytic, you get either a single value or a list of many
text values in return. If you do not specify any XPath expression, you get the entire XML
document in return.
serviceName The name of the Web Services analytic. This must be a unique name.
cacheDuration The amount of time, in seconds, to retain the WSDL results in a cache for the provided
parameters.
RTAM Responder
The following table describes the HTTP request and response attributes of the REST calls for an RTAM
responder:
Attributes Description
to The user name of the user who would receive the alert.
header The header information for the alert, which the user can view in RTAM.
actions A semicolon-delimited list of comma-delimited name-link pairs for actions to show in the RTAM interface
for this alert.
groups A group address to receive the Response message as defined by your RTAM administrator.
Email Responder
The following table describes the HTTP request and response attributes of the REST calls for an email
responder:
Attributes Description
replyTo A comma-delimited list of email addresses to send replies to the email response.
sentDate The date that you want to appear as the email send date.
bcc A comma-delimited list of email addresses to send the responses to as a blind copy.
from The email address from which the email response must originate.
JMS Responder
The following table describes the HTTP request and response attributes of the REST calls for a JMS
responder:
Attributes Description
deliveryMode Persistent or Non-Persistent modes of delivering the message. Valid values would be 1 for non-
persistent mode, 2 for persistent mode.
destination The JMS destination to which the message has to be sent. Prefix a topic name with "topic/".
Attributes Description
SQL Response
The following table describes the attributes in the HTTP request and response content in an SQL response:
Attributes Description
Email Response
The following table describes the attributes in the HTTP request and response content in an email response:
Attributes Description
sentDate The date that you want to appear as the email send date.
bcc A comma-delimited list of email addresses to send a blind copy of the response.
from The email address from which the email response originates.
JMS Response
The following table describes the attributes in the HTTP request and response content in a JMS response:
Attributes Description
deliveryMode Persistent or Non-Persistent modes of delivering the message. Valid values would be 1 for non-
persistent mode, 2 for persistent mode.
destination The JMS destination to which the message has to be sent. Prefix a topic name with "topic/"
Attributes Description
inputParameters A comma-delimited list of name-value pairs provided to the Web Service. The operation and
parameters that you list must be defined in the WSDL.
Deployment Attributes
The following table describes the attributes in the HTTP request and response content for deploy and
reassign objects:
Attributes Description
itemsToDeploy An array of objects that you want to deploy along with the corresponding deployment groups.
groupNames An array of deployment groups to which you want to deploy the object.
Note: For undeploy and redeploy RulePoint objects, you send an array of the object IDs.
399
J O
Java Adapter for REST API object ID
.zip file components 29 REST API 41
creating a RulePoint Application 30
editing the configuration file 30
Overview 28
prerequisite 28
P
running a sample file 30 POST method
sample code 30 creating an event 377
setting the classpath 30 creating dynamic schedule 195
JSON and XML request and response creating email connection 85
analytics 360 creating email responder 215
connections 64 creating email response 276
dynamic schedule 195 creating event generator source 171
email connection 85 creating event transformer responder 241
email responder 215 creating event transformer response 303
email response 276 creating file input source 182
event generator source 171 creating file output responder 249
event transformer responder 241 creating file output response 318
event transformer response 303 creating JMS connection 92
file input\ source 182 creating JMS responder 224
file output responder 249 creating JMS response 288
file output response 318 creating JMS source 125
JMS connection 92 creating marshaller 325
JMS responder 224 creating projects 48
JMS response 288 creating RSS Reader source 135
JMS source 125 creating RTAM responder 256
marshaller 325 creating RTAM response 310
objects deployment 373 creating SQL connection 64
projects 48 creating SQL responder 199
responders 199 creating SQL response 264
responses 264 creating SQL source 106
RSS Reader source 135 creating static schedule 191
RTAM responder 256 creating template 334
RTAM response 310 creating template rule 345
rules 345 creating topic 54
schedule 190 creating URL monitoring source 144
sources 106 creating user 365
SQL connection 64 creating web page monitoring source 152
SQL responder 199 creating web service connection 99
SQL response 264 creating web service responder 233
SQL source 106 creating web service response 296
static schedule 190 creating web service source 161
template 334 deploying objects 373
topics 54 logging into RulePoint 378
URL monitoring source 144 reassigning objects 376
users 365 redeploying objects 375
web page monitoring source 152 undeploying objects 374
web service connection 99 PUT method
web service responder 233 update topic 61
web service response 296 updating dynamic schedule 196
web service source 161 updating email connection 88
updating email responder 219
updating email response 280, 284
400 Index
PUT method (continued) response 378
updating RTAM responder 260 REST API
updating RTAM response 314 calls 35
updating SQL connection 80 object ID 41
updating SQL responder 211 overview 35
updating SQL response 272 requests and responses 45
updating SQL source 120 URL 35
updating static schedule 192 REST APIs
updating template 339 date and time values 40
updating template rule 349 error codes 46
updating URL monitoring source 148 error objects 45
updating web page monitoring source 156 guidelines 46
updating web service connection 102 return lists in JSON 37
updating web service responder 237 return lists in XML 37
updating web service response 299 return list
updating web service source 166 REST API 37
RulePoint interface
overview 10
R RulePoint services 12
request body
REST API 36
request header
S
elements 36 schedulable source service
format 36 creating 19
request object SDK
JSON format 37 pluggable services 12
responder service source service 18
creating 26
Index 401