tibco activematrix businessworks plug-in for salesforce ......to use the plug-in activities, you...
TRANSCRIPT
TIBCO ActiveMatrix BusinessWorks™ Plug-infor Salesforce.com User’s GuideSoftware Release 6.0.0March 2014
Two-Second Advantage®
Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCHEMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY(OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THEEMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANYOTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.
USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS ANDCONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTEDSOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THECLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOADOR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE)OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USERLICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THESOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, ANDYOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BEBOUND BY THE SAME.
This document contains confidential information that is subject to U.S. and international copyright lawsand treaties. No part of this document may be reproduced in any form without the writtenauthorization of TIBCO Software Inc.
TIBCO, Two-Second Advantage, TIBCO ActiveMatrix BusinessWorks, TIBCO Business Studio, andTIBCO Enterprise Administrator are either registered trademarks or trademarks of TIBCO SoftwareInc. in the United States and/or other countries.
Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform EnterpriseEdition (J2EE), and all Java-based trademarks and logos are trademarks or registered trademarks ofOracle Corporation in the U.S. and other countries.
All other product and company names and marks mentioned in this document are the property of theirrespective owners and are mentioned for identification purposes only.
THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOTALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASEDAT THE SAME TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWAREVERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM.
THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHEREXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICALERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESECHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCOSOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S)AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME.
THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY ORINDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE,INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.
Copyright © 2007-2014 TIBCO Software Inc. ALL RIGHTS RESERVED.
TIBCO Software Inc. Confidential Information
2
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Contents
TIBCO Documentation and Support Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Plug-in Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Salesforce.com Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Importing a WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Creating a Salesforce Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Designing a Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Testing an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Deploying an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Generating an EAR File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Salesforce Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Selecting WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Getting Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Refreshing Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Salesforce Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Salesforce Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Salesforce Create All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Salesforce Delete All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Salesforce Get Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Salesforce Query All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Querying Data in Subset Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Relationship Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Salesforce Retrieve All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Retrieving Data in the Subset Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Salesforce Update All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Salesforce Upsert All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Salesforce Outbound Message Listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
Making Authenticated Web Service Callouts Using SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
One-way SSL Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Two-way SSL Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
Working With GeneralSample Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
General Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Working With RelationshipQuery Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
ChildToParent Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Mapping Data in the ChildToParent Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
ParentToChildren Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Mapping Data in the ParentToChildren Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Working With ERPIntegration Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Customer Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
SyncAccountProcess Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
UpdateAccountProcess Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Opportunity To Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
OpportunityToOrder_Polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
GetLastPollingTime Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
SetLastPollingTime Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
SyncOpportunity_Polling Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
OpportunityToOrder_UsingOutbound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
SyncOpportunity_OutboundListener Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Working With WorkWithInvokerActivity Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Workwithbwinvoker Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Properties Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Log Status Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Retrying Function Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Default Timeout Value Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Proxy Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Time Zone Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Processing 16 Digits Numeric Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Managing Plug-in Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Setting Up Log Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Exporting Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
TIBCO Documentation and Support Services
All TIBCO documentation is available in the TIBCO Documentation Library, which can be found here:
https://docs.tibco.com
Product-Specific Documentation
The following documents for this product can be found in the TIBCO Documentation Library:
● TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com Installation● TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com User's Guide● TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com Release Notes
How to Contact TIBCO Support
For comments or problems with this manual or the software it addresses, contact TIBCO Support asfollows:
● For an overview of TIBCO Support, and information about getting started with TIBCO Support,visit this site:
http://www.tibco.com/services/support
● If you already have a valid maintenance or support contract, visit this site:
https://support.tibco.com
Entry to this site requires a user name and password. If you do not have a user name, you canrequest one.
How to Join TIBCOmmunity
TIBCOmmunity is an online destination for TIBCO customers, partners, and resident experts. It is aplace to share and access the collective experience of the TIBCO community. TIBCOmmunity offersforums, blogs, and access to a variety of resources. To register, go to:
http://www.tibcommunity.com
5
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Plug-in Overview
TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com enables users to utilize the benefits ofthe salesforce.com server without any coding.
TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com plugs into TIBCO ActiveMatrixBusinessWorks, allows users to configure a connection to the salesforce.com server and use activities tointegrate with the salesforce.com database.
TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com provides the following commonfunctionalities for integrating with the salesforce.com server:
● Easy-to-configure connection configuration shared resources can be reused for different activitiesand processes.
● The Get Session activity provides a simple interface and hides all details of complex sessionmanagement tasks, such as login, session expiration, and so on.
● Metadata Management allows you to build metadata at design time and store them as XML SchemaDefinition (XSD) schemas, which in turn will be used at runtime to perform runtime type-checking.
● High level data calls, such as Create All, Query All, Update All, Upsert All, Retrieve All, and DeleteAll. Each of these activities will have built-in error handling and logging.
● Dynamical Web Services Description Language (WSDL) switching allows you to work withdifferent versions of salesforce.com Partner and Enterprise WSDLs.
● Outbound Message Listener allows you to receive notifications from the salesforce.com server.● Relationship Query can be used to query multiple sObjects at one time in the salesforce.com
database. A relationship is created between those sObjects. Salesforce Object Query Language(SOQL) provides the syntax to support relationship queries. Parent-to-children and child-to-parentare the two possible relationships between sObjects.
6
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Salesforce.com Overview
Salesforce.com is the worldwide leader in on-demand customer relationship management (CRM)services. It delivers integrated and completely customizable enterprise applications for companies of allsizes.
Salesforce.com provides a web services Application Programming Interface (API) for customers andIndependent Software Vendor (ISVs) who want to build integrations. While web services are incrediblypowerful, there are a number of limitations customers run into when trying to build enterprise-classintegrations quickly and easily.
Customers, partners, and consultants build the same common components during each integrationeffort. These components, including session management, exception handling, logging, processmanagement, configuration management, reliable transactions, and polling services, are necessary forevery enterprise-class integration implementation.
7
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Getting Started
A typical workflow using the plug-in to achieve different goals includes creating a project, designing aprocess, and deploying the application.
TIBCO ActiveMatrix BusinessWorks enables users to create services and integrate applications, anddeploy them at runtime. It uses the Eclipse graphical user interface (GUI) for defining businessprocesses and the process engine to execute them.
Follow the tasks below to design a process and deploy it at runtime:
1. Creating a Project
2. Importing a WSDL
3. Creating a Salesforce Connection
4. Designing a Process
5. Testing an Application
6. Deploying an Application
Creating a ProjectBusinessWorks application modules are Eclipse projects that are created in TIBCO Business Studio, andthey contain various resources.
Procedure
1. Start TIBCO Business Studio.
2. Select File > New > BusinessWorks Resources.
3. Click the BusinessWorks Application Module resource in the BusinessWorks Resource Wizardwindow. Click Next.
4. Type a name for the project that you are creating in the Project name field.
5. Select the Create empty process check box and type a process name in the Name field.
8
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
6. Select the Create Application check box and type an application name in the Name field. ClickFinish.A project with the default settings is opened in the Project Explorer view.
Importing a WSDLThe Web Services Description Language (WSDL) is an XML-based language that can be used todescribe the services a business offers and to provide a way for individuals and other businesses toaccess those services electronically.
Procedure
1. Start TIBCO Business Studio.
2. In the Project Explorer view, right click the application module and select BW Salesforce Tools >Select Wsdl from the pop-up menu.
3. Select a WSDL from the Salesforce WSDL list, and then click OK.The default WSDL value is Partner WSDL. If you select Other WSDLs, you need to locate thecorresponding WSDL file in your computer.
4. Click OK in the Success window.
This manual uses Partner 28.0 WSDL to describe the salesforce activities. For eachactivity, the fields under the Input, Output, and Fault tabs are generated from thePartner 28.0 WSDL. If you select a WSDL other than this WSDL in a project, the Input,Output, and Fault fields may be different from the fields explained in the Salesforcepalette.
What to do next
After selecting a WSDL, you can create a salesforce connection.
9
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Creating a Salesforce ConnectionTo use the plug-in activities, you need to create a salesforce connection using the Salesforce sharedresource. The Salesforce shared resource describes the connection between the plug-in and theSalesforce.com server.
Procedure
1. In the Project Explorer view, expand the created application module and ritht click the Resourcesfolder, select New > Salesforce Connection Configuration.
2. Click Finish in the Salesforce Connection window.
3. Configure the related fields in the Salesforce Connection editor.See Salesfroce Connection for the more details.
4. Click Test Connection to validate the connection.
What to do next
After creating the salesforce connection, fetch the salesforce metadata from the salesforce.com serverwhen selecting a Partner WSDL for your project. For more information, see Getting Metadata for moredetails. The metadata is the key part of the database operations.
Designing a ProcessProcesses capture and manage the flow of business information in an enterprise between different datasources and destinations. You can design a process by using activities and adding conditions.
By default, an empty process is created when creating a project with the Create empty process checkbox selected.
See TIBCO ActiveMatrix BusinessWorks Application Deployment for more details about creating processes.
10
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Procedure
1. In the Process editor, select and drop an activity from the Palette view.For example, select and drop the Timer activity from the General Activities folder and theSalesforce Create All activity from the Salesforce folder.
2. Click the icon to create links between the activities.
3. Configure the added activities.
A salesforce shared resource is required when configuring the salesforce activities. See Creating a Salesforce Connection for more details on how to create a salesforce connection.
4. Click File > Save to save the process.
Testing an ApplicationAn application contains an application module that is defined in TIBCO Business Studio. After youdesign your business process, you can run and debug the configurations.
TIBCO Business Studio has a built-in debugger that allows users to debug the design-timeconfigurations.
Prerequisites
Ensure that you have created an application and designed a process before testing.
By default, a process and an application are created when Creating a Project with the Create emptyprocess and Create Application check boxes selected.
See TIBCO ActiveMatrix BusinessWorks Application Deployment for more details about creating processesand applications.
Procedure
1. Click Run > Run to run the application.
2. Optional: Click Run > Debug to debug the application.The perspective changes from Modelling to Debug . You can view the job details in the Consoleview from the Debug perspective.
11
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Deploying an ApplicationYou can manage BusinessWorks applications by using TIBCO Enterprise Administrator after deployingthe applications.
Prerequisites
An EAR file must be generated before deploying an application. See Generating an EAR File for detailsabout generating an EAR file.
A complete workflow of deployment includes:
1. Building an ERA file.
2. Uploading the ERA file.
3. Deploying the ERA file.
4. Configuring the application profile.
5. Starting the application.
You can deploy an application EAR file from TIBCO Enterprise Administrator, or by using thecommand-line mode with the bwdesign utility. See TIBCO ActiveMatrix BusinessWorks Administrationfor more details on how to deploy an application.
Generating an EAR FileApplication archives are the enterprise archive (EAR) files that are created in TIBCO Business Studio.An EAR file is required when deploying an application.
Prerequisites
An application project has been created, as explained in creating a project.
Procedure
1. Go to the File Explorer view and click the Open Directory to Browse icon.
2. Select the folder where you want to generate the EAR file and click OK.The new folder is displayed in the File Explorer view.
3. Drag the application from the Project Explorer view to the new folder in the File Explorer.
The EAR file is generated with the name <application>_<version>.ear. The <version> starts from1.0.0 and increments as more generations occur.
12
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Salesforce Tools
Salesforce tools can help you manage data in the salesforce.com server.
It includes the following tools:
● Selecting WSDL● Getting Metadata● Refreshing Metadata
Selecting WSDLThe Web Services Description Language (WSDL) is an XML-based language that can be used todescribe the services a business offers and to provide a way for individuals and other businesses toaccess those services electronically.
Import a WSDL
When working with the plug-in, you need to import a WSDL for your project after creating a project.
Default WSDL
In the plug-in, all available WSDLs and the SalesforceWSDLs.xml file that defines the WSDLs shownin the Select WSDL list are located in the TIBCO_HOME\bw\palettes\salesforce\6.0\wsdlsdirectory.
The default WSDL is defined in the first wsdl node in the SalesforceWSDLs.xml file, as shown in thefollowing figure.
13
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
SalesforceResources Folder
If the WSDL is successfully selected in an application module, the SalesforceResources folder will bedisplayed in the Project Explorer view. It is used to store salesforce resource files related to the currentapplication module. The resource files include the WSDL files, metadata files and so on.
● You cannot rename, edit, or delete the WSDL and the metadata files in the SalesforceResourcesfolder.
● You can add other files to the SalesforceResources folder.
Switch WSDL
The plug-in contains two types of salesforce.com WSDLs, the Partner WSDL and the Enterprise WSDL.You can only select one WSDL for an application module. If you want to switch the current WSDL toanother one, perform the Select WSDL operation again and using the following guidelines:
● When switching WSDLs between two different versions of Partner WSDLs, perform the SelectWSDL operation to import a target WSDL first, and then update the metadata from thesalesforce.com server. For more information, see Refreshing Metadata.
● When the Partner WSDL is replaced with an Enterprise WSDL, all metadata files related to theoriginal Partner WSDL are erased from the SalesforceResource folder. The Enterprise WSDLcontains its own metadata that can be used in your process.
● When the Enterprise WSDL is replaced with a Partner WSDL, you need to select a Partner WSDLfirst, and then perform the Getting Metadata operation to get the metadata from the salesforce.comserver.
14
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
● When the WSDL is changed, the string in the Server URL field needs to be updated by clicking the
button.
The Server URL in all the salesforce configuration resources must be the same version asthe selected WSDL.
● For the salesforce activities, the fields in the Input, Output and Fault tabs are parsed from thecertain WSDL. After the WSDL has been changed, the mapping configuration for the fieldsmentioned above may be affected. You need to repair any incorrect mappings.
Getting MetadataSalesforce Metadata resource describes the schema definition metadata for a given organization as aXML Schema Definition(XSD).
Prerequisites
Before getting metadata for your project, you need to create a salesforce connection, which allows youto download and store metadata as an XSD resource in the TIBCO Business Studio project during thedesign time.
Procedure
1. In the Project Explorer view, right click the application module and select BW Salesforce Tools >Get Metadata from the pop-up menu.
2. Click browse next to the Salesforce Connection field to select one usable connection for the currentactivity.
3. Click OK in the Select Salesforce Connection window.
4. Click OK in the Get Salesforce Metadata window.The Salesforce_Metadata.xsd and sforce_partner.xsd are displayed in theSalesforceResources folder in the Project Explorer view:
● The Salesforce_Metadata.xsd is a metadata schema that comes from a specified database onthe salesforce.com server.
● The sforce_partner.xsd stores some public data properties.
When selecting an Enterprise WSDL for your project, you do not need to perform theGetting Metadata operation to get salesforce metadata. The Enterprise WSDL containssalesforce metadata.
Refreshing MetadataThe Refreshing Metadata operation can be used to get updated schemas from the salesforce.com server.
Schema objects may change between the development phase and the production phase, or over thetime. It is important to decide to accept or reject changes. If you accept the change, you will be warnedthat all processes referring to the metadata may be impacted.
Procedure
1. Right click the application module in the Project Explorer view, and then select BW SalesforceTools > Refresh Metadata.
15
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
2. Click OK in the Refresh Salesforce Metadata window to perform the operation.
● If there is no update about the metadata on the salesforce.com server, then just click therelevant buttons to finish the operation.
● If the metadata on the salesforce.com server is different from the local metadata, a window willbe displayed, as shown in the following figure. Fields modified on the salesforce.com serverare displayed in the window.
3. Click relevant buttons to perform corresponding operations.
● Click OK to accept the updated result.● Click Cancel to reject this result.● Click Save As to save the result to an .xml file.
16
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Salesforce Connection
The Salesforce Connection shared resource specifies the salesforce connection information.
General
The General panel contains the following fields.
FieldModuleProperty? Description
Name No The name displayed as the label for the salesforce shared resourcein the process.
Description No Add a short description for the shared resource.
Connection Configuration
The Connection Configuration panel contains the following fields.
FieldModuleProperty? Description
Server URL No The URL to use when connecting to the salesforce.com loginserver.
After selecting a WSDL for your project, the URL information willbe automatically filled in this field. If you re-import a differentWSDL for your project, you need to click Reload WSDL to refreshthe ecore model for your project.
You must maintain one Server URL when configuringthe whole salesforce project.
User Name Yes The username to access the salesforce.com server.
Password Yes The password to access the salesforce.com server.
In certain circumstances, you may need to append thesecurity token to your password. A security token is anautomatically-generated key from salesforce.com. Forexample, if your password is mypassword, and theirsecurity token is XXXXXXXXXX, then you must entermypasswordXXXXXXXXXX to log in.
For detailed information on when to use a security token and howto generate it, refer to salesforce.com Web Service API Developer'sGuide.
Session Timeout(Min)
Yes The Session Timeout attribute specifies the duration for which thesession will be active. The value set here must be less than or equalto the value set on the salesforce.com website.
The default value is 120 minutes.
17
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
FieldModuleProperty? Description
Test Connection No Click Test Connection to test whether the specified configurationfields result in a valid connection to a database in thesalesforce.com server.
18
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Salesforce Palette
The Salesforce palette contains activities that can be added to your business processes to allow you todeal with a certain workflow.
It includes the following activities:
● Salesforce Create All● Salesforce Delete All● Salesforce Get Session● Salesforce Query All● Salesforce Retrieve All● Salesforce Update All● Salesforce Upsert All● Salesforce Outbound Message Listener
Salesforce Create AllThe Salesforce Create All activity adds one or more new individual objects to your organization’s data.
General
The General tab contains the following fields.
Field
ModuleProperty? Description
Name No The name displayed as the label for the activity in the process.
SalesforceConnection
Yes The path to the shared configuration resource defining how theapplication joins the salesforce.
Click the Choose/Create Default Resource icon to select ausable connection for the activity.
Description
Provide a short description for the activity.
Input
The Input tab contains the following fields.
Input Items Data Type Description
connectionInfo (All fields in this section are optional.)
serverUrl string URL of the endpoint that will be used by this operation.
sessionId string Unique ID associated with this session.
19
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input Items Data Type Description
externalSessionIdUsed
boolean Specifies whether an external session ID is used (true) or not(false).
If the value is set to true, an external session ID will be filled in thesessionId field.
When the session needs to be refreshed, the refreshed operationcannot be performed, and an exception will be thrown.
create
batchSize integer Optional. When processing large amounts of data, the activityinternally invokes several SOAP calls. This field is used to set thebatch size for the number of records created through a SOAP call.
The value is set between 1 and 200.
If the input value equals to -1, it will be set to the default value. Ifthe input value is greater than 200, it will be set to 200. If the inputvalue is less than 1 (except -1), it will be set to 1.
The default is 200.
externalIdFieldName
string Optional. This field is used when performing the retry operation. Aninternal upsert method will be called to retry the operation. If thisfield is not specified when doing the retrying operation, anexception will be thrown out and the retrying operation will not beperformed.
It contains the name of the field defined as a key field in the sObject.
createSObjects Each createSobjects includes the following element:
● sObjects (A complex value): Required. An array of one or moreobjects to create. This sObject can be converted to the specifiedtype defined in the metadata schema, for example, theSalesforce_metadata, getting from the salesforce.com server.
● In this release, you can create up to 10 object typesin one call. Select sObjects > Duplicate to addmultiple object types.
● You do not need to specify the Id field in thesObject.
To create a new relationship between a newlycreated sObject (sObject A) and an existing sObject(sObject B), where the sObject A schema includesthe sObject B schema, set the value of the key fieldin sObject B while creating sObject A. If youmodify the values of the fields in sObject B withinthe sObject A schema, the original sObject B willnot be modified. The key field in sObject B withinthe sObject A schema is only used to link sObject Awith the original sObject B.
20
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input Items Data Type Description
create_Optional (All fields in this section are optional.)
_configData Each _configData includes the following element:
● timeout (A integer value): The timeout value specifies thenumber of milliseconds, and an internal API call waits before thedata returns.
The default value is 15000 milliseconds.
You can also change the default timeout value by setting theproperties. See Default Timeout Value Setting for detailedinformation.
21
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input Items Data Type Description
headers Each headers includes the following elements:
● CallOptions
— client (A string value): A string that identifies a particularclient.
— defaultNamespace (A string value): A string that identifiesa developer namespace prefix. Use this field to resolve fieldnames in managed packages without having to fully specifythe fieldName everywhere.
● AssignmentRuleHeader
— assignmentRuleId (A string value): The ID of a specificassignment rule to run for the Case or Lead. It can be aninactive assignment rule. The ID can be retrieved byquerying AssignmentRule object. If specified, do not specifyuseDefaultRule. This element is ignored for Accounts,because all territory assignment rules are applied.
Case and Lead are two predefined salesforce.com schematypes. For more information about this two types, seeForce.com Web Service API Developer's Guide.
— useDefaultRule (A boolean value): If true for a Case orLead, uses the default (active) assignment rule for a Case orLead. If specified, do not specify an assignmentRuleId andtype an empty string in the assignmentRuleId field. If truefor an Account, all territory assignment rules are applied,and if false, no territory assignment rules are applied.
● MruHeader
— updateMru (A boolean value): Specifies whether to updatethe list of most recently used items (true) or not (false).
● AllowFieldTruncationHeader
— allowFieldTruncation (A boolean value): Specifieswhether to truncate field values that are too long (true) ornot (false).
Default is false: no change in behavior. If a string ortextarea value is too large, the operation fails and the faultcode STRING_TOO_LONG is returned.
● DisableFeedTrackingHeader
— disableFeedTracking (A boolean value): If it is set to true,the changes made in the current call are not tracked in feeds.
The default is false.
22
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input Items Data Type Description
● StreamingEnabledHeader
— streamingEnabled (A boolean value): To specify whetheryou want to receive streaming notifications changes of thedata.
● AllOrNoneHeader
— allOrNone (A boolean value): If allOrNone is set to true,any failed records in a call cause all changes for the call to berolled back. Record changes are not committed unless allrecords are processed successfully.
The default is false. Some records can be processedsuccessfully while others are marked as failed in the callresults.
When processing large amounts of data, theactivity internally invokes several SOAP calls.However, this AllOrNoneHeader only applies toeach internal SOAP call. If allOrNone is set totrue, the records in each internal SOAP call willall succeed or be rolled back.
● DebuggingHeader
— debugLevel (A string value): Specifies the level of detail inthe debug header.
See salesforce.com document Apex Developer’s Guide fordetailed information.
The response of the debugging information can be found inthe SOAP message log. You may need to enable the debugrole log to trace the debugging errors.
● PackageVersionHeader
Each PackageVersion includes the following elements:
● majorNumber (A int value): The major version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● minorNumber (A int value): The minor version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● namespace (A string value): The unique namespace of themanaged package.
23
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input Items Data Type Description
● EmailHeader
— triggerAutoResponseEmail (A boolean value): Specifieswhether to trigger auto-response rules (true) or not (false),for leads and cases. In the salesforce.com user interface, thisemail can be automatically triggered by a number of events,for example creating a case or resetting a user password.
— triggerOtherEmail (A boolean value): Specifies whether totrigger email outside the organization (true) or not (false).In the salesforce.com user interface, this email can beautomatically triggered by creating, editing, or deleting acontact for a case.
— triggerUserEmail (A boolean value): Specifies whether totrigger email that is sent to users in the organization (true)or not (false). In the Salesforce user interface, this email canbe automatically triggered by a number of events; resetting apassword, creating a new user, adding comments to a case,or creating or modifying a task.
Output
The Output tab contains the following fields.
Output ItemDataType Description
createAllResponse
result errors complex If errors occur during the activity, an array of error objects withan error code and description will be returned.
id string ID of an sObject that you attempt to create.
success boolean Indicate whether the Create activity has succeeded (true) ornot (false).
Fault
The Fault tab lists the possible exceptions thrown by this activity.
Fault Thrown when..
SalesforceExecuteSOAPMethodException
An error occurred when calling a SOAP method.
For example, the wrong value is set in the Input fields or the Salesforce sessionhas timed out.
SalesforceLoginException
An error occurred when logging on to the salesforce.com server.
24
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Fault Thrown when..
SalesforceConnectionNotFoundException
An error occurred when the external session Id is not used and the SalesforceConnection is not configured correctly.
Salesforce Delete AllThe Salesforce Delete All activity deletes one or more individual objects from your organization’s data.
General
The General tab contains the following fields.
FieldModuleProperty? Description
Name No The name displayed as the label for the activity in the process.
SalesforceConnection
Yes The path to the shared configuration resource defining how theapplication joins the salesforce.
Click the Choose/Create Default Resource icon to select ausable connection for the activity.
Description
Provide a short description for the activity.
Input
The Input tab contains the following fields.
Input Items Data Type Description
connectionInfo (All fields in this section are optional.)
serverUrl string URL of the endpoint that will be used by this operation.
sessionId string Unique ID associated with this session.
externalSessionIdUsed
boolean Specifies whether an external session ID is used (true) or not(false).
If the value is set to true, an external session ID will be filled in thesessionId field.
When the session needs to be refreshed, the refresh operation cannotbe performed, and an exception will be thrown.
25
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input Items Data Type Description
delete Each delete includes the following elements:
● batchSize (A integer value): Optional. When processing largeamounts of data, the activity internally invokes several SOAPcalls. This field is used to set the batch size for the number ofrecords deleted through an SOAP call.
The value is set between 1 and 200. If the input value equals -1,it will be set to the default value. If the input value is greater than200, it will be set to 200. If the input value is less than 1 (except-1), it will be set to 1.
The default value is 200.
● deleteSObjects
— ids (A string value): Required. An array of one or more IDsassociated with the objects to delete.
delete_Optional (All fields in this section are optional.)
_configData Each _configData includes the following node:
● timeout (A integer value): The timeout value specifies thenumber of milliseconds, and an internal API call waits before thedata returns. The default value is 15000 milliseconds. You canalso change the default timeout value by setting the properties.See Default Timeout Value Setting for detailed information.
26
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input Items Data Type Description
headers Each headers includes the following elements:
● CallOptions
— client (A string value): A string that identifies a particularclient.
— defaultNamespace (A string value): A string that identifiesa developer namespace prefix. Use this field to resolve fieldnames in managed packages without having to fully specifythe fieldName everywhere.
● PackageVersionHeader
Each PackageVersion includes the following nodes:
● majorNumber (A int value): The major version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● minorNumber (A int value): The minor version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● namespace (A string value): The unique namespace of themanaged package.
● UserTerritoryDeleteHeader
— transferToUserId (A string value): The ID of the user towhom open opportunities in that user's territory will beassigned when an opportunity's owner (user) is removedfrom a territory.
● EmailHeader
— triggerAutoResponseEmail (A boolean value): Specifieswhether to trigger auto-response rules (true) or not (false),for leads and cases. In the salesforce.com user interface, thisemail can automatically triggered by a number of events, forexample creating a case or resetting a user password.
— triggerOtherEmail (A boolean value): Specifies whether totrigger email outside the organization (true) or not (false).In the salesforce.com user interface, this email can beautomatically triggered by creating, editing, or deleting acontact for a case.
— triggerUserEmail (A boolean value): Specifies whether totrigger email that is sent to users in the organization (true)or not (false). In the Salesforce user interface, this email canbe automatically triggered by a number of events; resetting apassword, creating a new user, adding comments to a case,or creating or modifying a task.
27
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input Items Data Type Description
● AllowFieldTruncationHeader
— allowFieldTruncation (A boolean value): Specifieswhether to truncate field values that are too long (true) ornot (false).
Default is false: no change in behavior. If a string ortextarea value is too large, the operation fails and the faultcode STRING_TOO_LONG is returned.
● DisableFeedTrackingHeader
— disableFeedTracking (A boolean value): If it is set to true,the changes made in the current call are not tracked in feeds.
The default is false.
● StreamingEnabledHeader
— streamingEnabled (A boolean value): To specify whetheryou want to receive streaming notifications of changes to thedata.
● AllOrNoneHeader
— allOrNone (A boolean value): If allOrNone is set to true,any failed records in a call cause all changes for the call to berolled back. Record changes are not committed unless allrecords are processed successfully.
The default is false. Some records can be processedsuccessfully while others are marked as failed in the callresults.
When processing large amounts of data, theactivity internally invokes several SOAP calls.However, AllOrNoneHeader only applies to eachinternal SOAP call. If allOrNone is set to true, therecords in each internal SOAP call will all succeedor be rolled back.
● DebuggingHeader
— debugLevel (A string value): Specifies the level of detail inthe debug header.
See Apex Developer’s Guide for detailed information.
The response of the debugging information can be found inthe SOAP message log. You may need to enable the debugrole log for tracing debugging errors.
Output
The Output tab contains the following fields.
28
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Output ItemDataType Description
deleteAllResponse
result errors complex If errors occur during the activity, an array of error objects with anerror code and description, are returned.
id string ID of an sObject that you attempted to delete.
success boolean Indicate whether the delete activity has succeeded (true) or not(false).
Fault
The Fault tab lists the possible exceptions thrown by this activity. See TIBCO ActiveMatrixBusinessWorks Error Code for more information about error codes and corrective actions to take.
Fault Thrown when
SalesforceExecuteSOAPMethodException An error occurred when calling an SOAP method.
For example, the wrong value is set in the Input fieldsor the Salesforce session has timed out.
SalesforceLoginException An error occurred when logging on to thesalesforce.com server.
SalesforceConnectionNotFoundException An error occurred when the external session Id is notused and the salesforce connection is not configuredcorrectly.
Salesforce Get SessionThe Salesforce Get Session activity retrieves an object reference for a specified salesforce connection andgets an existing session. This session can be used within salesforce activities to access a specifieddatabase.
General
The General tab contains the following fields.
Field
ModuleProperty? Description
Name No The name displayed as the label for the activity in the process.
SalesforceConnection
Yes The path to the shared configuration resource defining how theapplication joins the salesforce.
Click the Choose/Create Default Resource icon to select a usableconnection for the activity.
29
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Description
Provide a short description for the activity.
Input
The Input tab contains the following fields.
Input ItemDataType Description
login
salesforceConnection
string Optional. Path to the shared configuration resource containing thesalesforce connection information.
The priority of this field is higher than the Salesforce Connectionfield in the General tab. If you want to change the referencedsalesforce connection resource at runtime, you may set it here.
refreshSession boolean Optional. Specify whether a new session can be initiated.
Set the value to true if you always want to get a new session.
Set the value to false if the existing session is used. The obtainedsession may not be usable if it has timed out. But the performancetime in this situation is faster.
Output
The Output tab contains the following fields.
Output ItemDataType Description
salesforceConnection
string Path to the shared configuration resource containing the salesforceconnection information.
Indicates that the Salesforce Get Session activity uses thissalesforce connection resource at runtime.
loginResponse
30
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Output ItemDataType Description
result Each result includes the following elements:
● metadataServerUrl (A string value): URL of the endpoint thatprocesses subsequent metadata API calls.
● passwordExpired (A boolean value): Indicates whether thepassword used during the login attempt has expired (true) ornot (false).
● sandbox (A boolean value): To specify whether the usingSalesforce environment is sandbox or not.
● serverUrl (A string value): URL of the endpoint thatprocesses subsequent API calls.
● sessionId (A string value): Unique ID associated with thissession.
● userId (A string value): ID of the user associated with thespecified username and password.
● userInfo (A complex value): User information fields.
Fault
The Fault tab lists the possible exceptions thrown by this activity.
Fault Thrown when
SalesforceLoginException An error occurred when logging on to the salesforce.com server.
SalesforceConnectionNotFoundException
An error occurred when the external session Id is not used andthe Salesforce Connection is not configured correctly.
Salesforce Query AllThe Salesforce Query All activity performs the specified SOQL SELECT statement. It executes a queryagainst the specified object and returns data that matches the specified criteria.
General
The General tab contains the following fields.
Field
ModuleProperty? Description
Name No The name displayed as the label for the activity in the process.
31
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Field
ModuleProperty? Description
SalesforceConnection
Yes The path to the shared configuration resource defining how theapplication joins the salesforce.
Click the Choose/Create Default Resource icon to select ausable connection for the activity.
Description
Provide a short description for the activity.
Input
The Input tab contains the following fields.
Input ItemsDataType Description
connectionInfo (All fields in this section are optional.)
serverUrl string URL of the endpoint that is used by this operation.
sessionId string Unique ID associated with this session.
externalSessionIdUsed
boolean Specify whether an external session ID is used (true) or not (false).
If the value is set to true, an external session ID will be filled in thesessionId field.
When the session needs to be refreshed, the refresh operation cannotbe performed, and an exception will be thrown.
query
batchSize integer Optional. When processing large amounts of data, the activityinternally invokes several SOAP calls. This field is used to set thebatch size for the number of records returned through a SOAP call.
The value can be set between 200 and 2000. If the input value equals-1, it will be set to the default value. If the input value is greater than2000, it will be set to 2000. If the input value is less than 200 (except-1), it will be set to 200.
The default value is 500.
queryMain Each queryMain includes the following element:
● queryString (A string value): Required. Query string followsSOQL syntax. It specifies the object to query, the fields to return,and any condition for including a specific object in the query.
query_Optional (All fields in this section are optional.)
32
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
_configData Each _configData includes the following element:
● timeout (A int value): The timeout value specifies the number ofmilliseconds, and an internal API call waits before the datareturns.
The default value is 15000 milliseconds.
You can also change the default timeout value by setting theproperties. See Default Timeout Value Setting for detailedinformation.
headers Each headers includes the following elements:
● CallOptions
— client (A string value): A string that identifies a particularclient.
— defaultNamespace (A string value): A string that identifies adeveloper namespace prefix. Use this field to resolve fieldnames in managed packages without having to fully specifythe fieldName everywhere.
● MruHeader
— updateMru (A boolean value): Specify whether to update thelist of most recently used items (true) or not (false), whichis on the sidebar in the salesforce.com user interface.
● PackageVersionHeader
Each PackageVersion includes the following elements:
● majorNumber (A int value): The major version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● minorNumber (A int value): The minor version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● namespace (A string value): The unique namespace of themanaged package.
33
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
SubsetSetting Each SubsetSetting includes the following elements:
● ProcessInSubsets(A boolean value): Optional. Specify whetherto allow you to process smaller batches of rows instead ofretrieving one large result set (true) or not (false).
This element must be used in conjunction with a Repeat loopscope for processing the result sets. See Querying Data in SubsetMode for more information.
The default value is false.
● subsetSize (A int value): Optional. This element is only availablewhen the ProcessInSubsets field is set to true. When that fieldis set to true, records are processed in batches and the returneddata will be passed out from the activity when completing theactivity in a subsetSize batch.
This element specifies the maximum number of messages that arepicked up for each execution loop. Its range is from 1 to 10. Thisallows you to process smaller batches of rows instead ofretrieving one large result set. This element must be used inconjunction with a Repeat loop scope group for processing theresult sets. See Querying Data in Subset Mode for moreinformation.
The default value is 1.
Output
The Output tab contains the following fields.
Output ItemDataType Description
queryAllResponse
result done boolean Indicates whether additional rows need to be retrieved fromthe query results (false) using another query activity, or not(true). Your client application can use this value as a loopcondition when iterating through the query results.
queryLocator string Used in subsequent query activities for retrieving sets ofobjects from the query results, if applicable.
records complex An array of sObjects representing individual objects of thespecified object and containing data defined in the fieldlistspecified in the queryString element.
These sObjects can be converted to the specified type definedin the metadata schema, for example, the Salesforce_Metadata,retrieved from the salesforce.com server.
34
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Output ItemDataType Description
size integer Total number of rows retrieved in the query. Your clientapplication can use this value to determine whether the queryretrieved any rows (size > 0) or not (size = 0).
lastSubset boolean Indicate whether the current output is the last subset (true) ornot (false).
Fault
TheFault tab lists the possible exceptions thrown by this activity. See TIBCO ActiveMatrix BusinessWorksError Code for more information about error codes and corrective actions to take.
Fault Thrown when
SalesforceExecuteSOAPMethodException
An error occurred when calling an SOAP method.
For example, the wrong value is set in the Input fields orthe salesforce session has timed out.
SalesforceLoginException An error occurred when logging on to the salesforce.comserver.
SalesforceConnectionNotFoundException
An error occurred when the external session Id is not usedand the salesforce connection is not configured correctly.
Querying Data in Subset ModeWhen the result set of a query is very large, you can query subsets of the result set and iterate until theentire result set is processed.
To query subsets, you must use a Repeat loop scope to iterate through the entire result set:
Procedure
1. Create a Salesforce Query All activity.
2. Specify the fields in the General tab and create a query that returns multiple rows.
3. Set the ProcessInSubsets element of the Input tab to true.
4. Set the subsetSize element for the Salesforce Query All activity to the maximum number ofmessages of batchsize you want to process for each execution loop.
5. Right click the Salesforce Query All activity, and then select Create Group > Scope from the pop-upmenu to create a scope containing the activity.
6. Select Repeat from the Group Type list in the General tab, and specify an index name.
7. The loop exits when the entire result set has been consumed. The condition for the loop can be setto: $SalesforceQueryAll/queryAllResponse/lastSubset=’true’.
The above procedure is a general guideline for creating a loop scope for processing a largeset of records. You may want to modify the procedure to include additional processing ofthe records, or you may want to change the XPath expressions to suit your businessprocess.
35
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Relationship QueryThe Relationship Query can be used to query multiple sObjects at a time in the salesforce.com database.
There is a relationship created between those sObjects. SOQL provides the syntax to supportrelationship queries. Parent-to-children and child-to-parent are the two possible relationships betweensObjects. In the salesforce.com database, some sOjects with a relationship are predefined. For example,Account is a parent to Contact. You can use relationship queries to search for sObjects of one typebased on criteria that applies to sObjects of another type. For example, “return all accounts created byBob Jones and the contacts associated with those accounts.” There must be a parent-to-children orchild-to-parent relationship connecting the sObjects, as shown in the following figure:
For more information about relationship queries, See Force.com Web Service API Developer's Guide and Working With RelationshipQuery Project.
Salesforce Retrieve AllThe Salesforce Retrieve All activity retrieves one or more individual objects from your organization’sdata and bases on the specified object IDs.
General
The General tab contains the following fields.
Field
ModuleProperty? Description
Name No The name displayed as the label for the activity in the process.
SalesforceConnection
Yes The path to the shared configuration resource defining how theapplication joins the salesforce.
Click the Choose/Create Default Resource icon to select ausable connection for the activity.
Description
Provide a short description for the activity.
Input
The Input tab contains the following fields.
Input ItemsDataType Description
connectionInfo (All fields in this section are optional.)
serverUrl string URL of the endpoint that is used by this operation.
36
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
sessionId string Unique ID associated with this session.
externalSessionIdUsed
boolean
Specify whether an external session ID is used (true) or not (false).
If set the value to true, an external session ID will be filled in thesessionId field.
When the session needs to be refreshed, the refresh operation cannotbe performed, and an exception will be thrown.
retrieve
batchSize integer Optional. When processing large amounts of data, the activityinternally invokes several SOAP calls. This field is used to set thebatch size for the number of records returned through an SOAP call.
The value should be set between 200 and 2000. If the input valueequals -1, it will be set to the default value. If the input value isgreater than 2000, it will be set to 2000. If the input value is less than200 (except -1), it will be set to 200.
The default value is 500.
retrieveMain Each retrieveMain includes the following elements:
● fieldList (A string value): Required. List of one or more fieldsin the specified object, separated by commas.You must specifyvalid field names and must have read-level permissions to eachspecified field.
The fieldList defines the ordering of fields in the result.Because using the wildcard (*) might return a very large result setthat can slow client application performance, use it only whennecessary.
● sObjectType (A string value): Required. The specified valuemust be a valid object for your organization.
● ids (A string value): Required. An array of one or more IDs ofthe objects to retrieve. You can pass a maximum of 2000 objectIDs to the activity.
retrieve_Optional
_configData Each _configData includes the following element:
● timeout (A int value): The timeout value specifies the number ofmilliseconds, and an internal API call waits before the datareturns.
The default value is 15000 milliseconds.
You can also change the default timeout value by setting theproperties. See Default Timeout Value Setting for detailedinformation.
37
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
headers Each headers includes the following elements:
● CallOptions
— client (A string value): A string that identifies a particularclient.
— defaultNamespace (A string value): A string that identifies adeveloper namespace prefix. Use this field to resolve fieldnames in managed packages without having to fully specifythe fieldName everywhere.
● MruHeader
— updateMru (A boolean value): To specify whether to updatethe list of most recently used items (true) or not (false),which is on the sidebar in the salesforce.com user interface.
● PackageVersionHeader
Each PackageVersion includes the following nodes:
● majorNumber (A int value): The major version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● minorNumber (A int value): The minor version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● namespace (A string value): The unique namespace of themanaged package.
38
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
SubsetSetting Each SubsetSetting includes the following elements:
● ProcessInSubsets (A boolean value): Optional. Specify whetherto allow you to process smaller batches of rows instead ofretrieving one large result set (true) or not (false).
This element must be used in conjunction with a Repeat loopscope for processing the result sets. See Retrieving Data in theSubset Mode for more information.
The default value is false.
● subsetSize (A int value): Optional. This element is onlyavailable when the ProcessInSubsets field is set to be true.When that field is set to be true, records are processed in batchesand the returned data will be passed out from the activity whencompleting the activity in a subsetSize batches.
This element specifies the maximum number of messages that arepicked up for each execution loop. Its range is from 1 to 10.
This allows you to process smaller batches of rows instead ofretrieving one large result set. This element must be used inconjunction with Repeat loop scope for processing the result sets.See Retrieving Data in the Subset Mode for more information.
The default value is 1.
Output
The Output tab contains the following fields.
OutputItem
DataType Description
retrieveAllResponse
result complex An array of sObjects representing individual objects of the specified objectand containing data defined in the fieldlist specified in the ids.
Those sObjects can be converted to the specified type defined in themetadata schema, for example, the Salesforce_metadata, getting from thesalesforce.com server.
lastSubset boolean Indicate whether the current output is the last subset (true) or not(false).
Fault
The Fault tab lists the possible exceptions thrown by this activity.
39
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Fault Thrown when
SalesforceExecuteSOAPMethodException
An error occurred when calling an SOAP method.
For example, the wrong value is set in the Input fields orthe Salesforce session has timed out.
SalesforceLoginException An error occurred when logging on to the salesforce.comserver.
SalesforceConnectionNotFoundException
An error occurred when the external session Id is not usedand the salesforce connection is not configured correctly.
Retrieving Data in the Subset ModeWhen the result set of a retrieve is very large, the result can be returned in subsets and iterate themuntil the entire result set is processed.
To retrieve subsets, you must use a Repeat loop scope to iterate through the entire result set:
Procedure
1. Create a Salesforce Retrieve All activity.
2. Specify the fields in the General tab and create a retrieve that returns multiple rows.
3. Set the ProcessInSubsets element of the Input tab to true .
4. Set the subsetSize element for the Salesforce Retrieve All activity to the maximum number ofmessages of batch size you want to process for each execution loop.
5. Right click the Salesforce Query All activity, and then select Create Group > Scope from the pop-upmenu to create a scope containing the activity.
6. Select Repeat from the Scope Type list in the General tab, and specify an index name.
7. The loop exits when the entire result set has been consumed. The condition for the loop can be setto: $SalesforceRetrieveAll/retrieveAllResponse/lastSubset=’true’.
The above procedure is a general guideline for creating a loop scope for processing a largeset of records. You may want to modify the procedure to include additional processing ofthe records, or you may want to change the XPath expressions to suit your businessprocess.
Salesforce Update AllThe Salesforce Update All activity updates one or more existing objects with your organization’s data.
General
The General tab contains the following fields.
Field
ModuleProperty? Description
Name No The name displayed as the label for the activity in the process.
40
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Field
ModuleProperty? Description
SalesforceConnection
Yes The path to the shared configuration resource defining how theapplication joins the salesforce.
Click the Choose/Create Default Resource icon to select a usableconnection for the activity.
Description
Provide a short description for the activity.
Input
The Input tab contains the following fields.
Input ItemsDataType Description
connectionInfo (All fields in this section are optional.)
serverUrl string URL of the endpoint that is used by this operation.
sessionId string Unique ID associated with this session.
externalSessionIdUsed
boolean
Specify whether an external session ID is used (true) or not (false).
If the value is set to true, an external session ID will be filled in thesessionId field.
When the session needs to be refreshed, the refresh operation cannotbe performed, and an exception will be thrown out.
update
batchSize integer Optional. When processing large amounts of data, the activity willinternally invoke several SOAP calls. This field is used to set the batchsize for the number of records updated through a SOAP call.
The value can be set between 1 and 200. If the input value equals to-1, it will be set to the default value. If the input value is greater than200, it will be set to 200. If the input value is less than 1 (except -1), itwill be set to 1.
The default value is 200.
41
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
updateSObjects Each updateSObjects includes the following element:
● sObjects (A complex value): Required. An array of one or moreobjects to update. This sObject can be converted to the specifiedtype defined in the metadata schema, for example, theSalesforce_metadata, retrieved from the salesforce.com server.
To create a new relationship between a newly created sObject(sObject A) and an existing sObject (sObject B), where the sObjectA schema includes the sObject B schema, set the value of the keyfield in sObject B while updating sObject A. If you modify thevalues of the fields in sObject B within the sObject A schema, theoriginal sObject B will not be modified. The key field in sObject Bwithin the sObject A schema is only used to link sObject A withthe original sObject B.
In this release, you can create up to 10 object types inone call. Select sObjects > Duplicate to add multipleobject types.
update_Optional
_configData Each _configData includes the following element:
● timeout (A int value): The timeout value specifies the number ofmilliseconds an internal API call waits before the data returns. Thedefault value is 15000 milliseconds.
You can also change the default timeout value by setting theproperties. See Default Timeout Value Setting for detailedinformation.
42
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
headers Each headers includes the following elements:
● CallOptions
— client (A string value): A string that identifies a particularclient.
— defaultNamespace (A string value): A string that identifies adeveloper namespace prefix. Use this field to resolve fieldnames in managed packages without having to fully specifythe fieldName everywhere.
● AssignmentRuleHeader
— assignmentRuleId (A string value): The ID of a specificassignment rule to run for the Case or Lead. It can be aninactive assignment rule. The ID can be retrieved by queryingAssignmentRule object. If specified, do not specifyuseDefaultRule. This element is ignored for Accounts, becauseall territory assignment rules are applied.
Case and Lead are two pre-defined Salesforce.com schematypes. For more information about this two types, refer toForce.com Web Service API Developer's Guide.
— useDefaultRule (A boolean value): If true for a Case orLead, uses the default (active) assignment rule for a Case orLead. If specified, do not specify an assignmentRuleId andtype an empty string in the assignmentRuleId field. If truefor an Account, all territory assignment rules are applied, andif false, no territory assignment rules are applied.
● MruHeader
— updateMru (A boolean value): Specify whether to update thelist of most recently used items (true) or not (false), which ison the sidebar in the salesforce.com user interface.
● AllowFieldTruncationHeader
— allowFieldTruncation (A boolean value): Specify whetherto truncate field values that are too long (true) or not (false).
Default value is false: no change in behavior. If a string ortext area value is too large, the operation fails and the faultcode STRING_TOO_LONG is returned.
● DisableFeedTrackingHeader
— disableFeedTracking (A boolean value): If true, thechanges made in the current call are not tracked in feeds.
The default is false.
43
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
● StreamingEnabledHeader
— streamingEnabled (A boolean value): Specify whether wantto receive streaming notificaions of changes to the data.
● AllOrNoneHeader
— allOrNone (A boolean value): If allOrNone is set to true, anyfailed records in a call cause all changes for the call to berolled back. Record changes are not committed unless allrecords are processed successfully.
The default value is false. Some records can be processedsuccessfully while others are marked as failed in the callresults.
When processing large amounts of data, the activityinternally invokes several SOAP calls. However,this AllOrNoneHeader only applys to each internalSOAP call. If allOrNone is set to true, the recordsin each internal SOAP call will all succeed or berolled back.
● DebuggingHeader
— debugLevel (A string value): Specify the level of detail in thedebug header. See Apex Developer’s Guide for detailedinformation.
The response of the debugging information can be found inthe SOAP message log. You may need to enable the debugrole log for tracing the debugging errors.
● PackageVersionHeader
Each PackageVersion includes the following elements:
● majorNumber (A int value): The major version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● minorNumber (A int value): The minor version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● namespace (A string value): The unique namespace of themanaged package.
44
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
● EmailHeader
— triggerAutoResponseEmail (A boolean value): Specifywhether to trigger auto-response rules (true) or not (false),for leads and cases. In the salesforce.com user interface, thisemail can be automatically triggered by a number of events,for example creating a case or resetting an user password.
— triggerOtherEmail (A boolean value): Specify whether totrigger email outside the organization (true) or not (false).In the Salesforce.com user interface, this email can beautomatically triggered by creating, editing, or deleting acontact for a case.
— triggerUserEmail (A boolean value): Specifies whether totrigger email that is sent to users in the organization (true) ornot (false). In the Salesforce user interface, this email can beautomatically triggered by a number of events; resetting apassword, creating a new user, adding comments to a case, orcreating or modifying a task.
● OwnerChangeOptions
— transferAttachments (A boolean value): IftransferAttachments is set to true, the record’s notes,attachments, and Google Docs are transferred to the newrecord owner. If false, the original record owner retainsownership.
The default is true.
— transferOpenActivities (A boolean value): IftransferOpenActivities is set to true, the record’s openactivities are transferred to the new record owner. If false,the original record owner retains ownership.
The default is true.
Output
The Output tab contains the following fields.
Output ItemDataType Description
updateAllResponse
result errors complex If errors occur during the activity, an array of error objects with theerror code and description, are returned.
id string The ID of an sObject that you attempt to create.
45
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Output ItemDataType Description
success
boolean Indicate whether the create activity succeeds (true) or not (false).
Fault
TheFault tab lists the possible exceptions thrown by this activity.
Fault Thrown when
SalesforceExecuteSOAPMethodException
An error occurred when calling an SOAP method.
For example, the wrong value is set in the Input fields or thesalesforce session is timeout.
SalesforceLoginException An error occurred when logging on to the salesforce.com server.
SalesforceConnectionNotFoundException
An error occurred when the external session Id is not used andthe salesforce connection is not configured correctly.
Salesforce Upsert AllThe Salesforce Upsert All activity creates new objects or updates existing objects; uses a custom field todetermine the presence of existing objects.
This activity uses the external ID to determine whether it creates a new object or updates an existingone:
● If the external ID does not match, a new object is created.● If the external ID is matched once, the existing object is updated.● If the external ID is matched multiple times, an error is reported.● When batch updating multiple objects where the external ID is the same for two or more objects in
your batch call, those records will be marked as errors in the UpsertResult. The objects will beneither created or updated.
General
The General tab contains the following fields.
Field
ModuleProperty? Description
Name No The name displayed as the label for the activity in the process.
SalesforceConnection
Yes The path to the shared configuration resource defining how theapplication joins the salesforce.
Click the Choose/Create Default Resource icon to select a usableconnection for the activity.
46
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Description
Provide a short description for the activity.
Input
The Input tab contains the following fields.
Input ItemsDataType Description
connectionInfo (All fields in this section are optional.)
serverUrl string URL of the endpoint that will be used by this operation.
sessionId string Unique ID associated with this session.
externalSessionIdUsed
boolean Specifies whether an external session ID is used (true) or not(false).
If set the value to true, an external session ID will be filled in thesessionId field.
When the session needs to be refreshed, the refresh operation cannotbe performed, and an exception will be thrown out.
upsert
batchSize integer Optional. When processing large amounts of data, the activity willinternally invoke several SOAP calls. This field is used to set thebatch size for the number of records created or updated through anSOAP call.
The value is set between 1 and 200. If the input value equals -1, itwill be set to the default value. If the input value is greater than 200,it will be set to 200. If the input value is less than 1 (except -1), it willbe set to 1.
The default value is 200.
47
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
upsertSObjects Each upsertSObjects includes the following elements:
● externalIDFieldName (A string value): Required. This fieldcontains the name of the field defined as a key field in the sObject.
● sObjects (A complex value): Required. An array of one or moreobjects to create or update. This sObject can be converted to thespecified type defined in the metadata schema, for example, theSalesforce_metadata, getting from the Salesforce.com server.
You do not need to specify the Id field in the sObject.
To create a new relationship between a newly createdsObject (sObject A) and an existing sObject (sObject B),where the sObject A schema includes the sObject Bschema, set the value of the key field in sObject B whileupserting sObject A. If you modify the values of thefields in sObject B within the sObject A schema, theoriginal sObject B will not be modified. The key field insObject B within the sObject A schema is only used tolink sObject A with the original sObject B.
upsert_Optional (All fields in this section are optional.)
_configData Each _configData includes the following element:
● timeout (A int value): The timeout value specifies the number ofmilliseconds an internal API call waits before the data returns.
The default value is 15000 milliseconds.
You can also change the default timeout value by setting theproperties. See Default Timeout Value Setting for detailedinformation.
48
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
headers Each headers includes the following elements:
● CallOptions
— client (A string value): A string that identifies a particularclient.
— defaultNamespace (A string value): A string that identifies adeveloper namespace prefix. Use this field to resolve fieldnames in managed packages without having to fully specifythe fieldName everywhere.
● AssignmentRuleHeader
— assignmentRuleId (A string value): The ID of a specificassignment rule to run for the Case or Lead. It can be aninactive assignment rule. The ID can be retrieved by queryingAssignmentRule object. If specified, do not specifyuseDefaultRule. This element is ignored for Accounts,because all territory assignment rules are applied.
Case and Lead are two predefined salesforce.com schematypes. For more information about these two types, seeForce.com Web Service API Developer's Guide.
— useDefaultRule (A boolean value): If true for a Case orLead, uses the default (active) assignment rule for a Case orLead. If specified, do not specify an assignmentRuleId andtype an empty string in the assignmentRuleId field. If truefor an Account, all territory assignment rules are applied, andif false, no territory assignment rules are applied.
● MruHeader
— updateMru (A boolean value): Specify whether to update thelist of most recently used items (true) or not (false), whichis on the sidebar in the salesforce.com user interface.
● AllowFieldTruncationHeader
— allowFieldTruncation (A boolean value): Specify whetherto truncate field values that are too long (true) or not(false).
Default value is false: no change in behavior. If a string ortext area value is too large, the operation fails and the faultcode STRING_TOO_LONG is returned.
● DisableFeedTrackingHeader
— disableFeedTracking (A boolean value): IfdisableFeedTracking is set to true, the changes made inthe current call are not tracked in feeds.
The default is false.
49
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
● StreamingEnabledHeader
— streamingEnabled (A boolean value): Specify whether wantto receive streaming notifications of changes to the data.
● AllOrNoneHeader
— allOrNone (A boolean value): If allOrNone is set to true,any failed records in a call cause all changes for the call to berolled back. Record changes are not committed unless allrecords are processed successfully.
The default value is false. Some records can be processedsuccessfully while others are marked as failed in the callresults.
When processing large amounts of data, theactivity internally invokes several SOAP calls.However, this AllOrNoneHeader only applys toeach internal SOAP call. If allOrNone is set totrue, the records in each internal SOAP call will allsucceed or be rolled back.
● DebuggingHeader
— debugLevel (A string value): Specify the level of detail in thedebug header. See Apex Developer’s Guide for detailedinformation.
The response of the debugging information can be found inthe SOAP message log. You may need to enable the debugrole log for tracing the debugging errors.
● PackageVersionHeader
Each PackageVersion includes the following nodes:
● majorNumber (A int value): The major version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● minorNumber (A int value): The minor version number of apackage version.
A package version is denoted by majorNumber.minorNumber,for example 2.1.
● namespace (A sting value): The unique namespace of themanaged package.
50
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Input ItemsDataType Description
● EmailHeader
— triggerAutoResponseEmail (A boolean value): Specifywhether to trigger auto-response rules (true) or not (false),for leads and cases. In the salesforce.com user interface, thisemail can be automatically triggered by a number of events,for example, resetting an user password.
— triggerOtherEmail (A boolean value): Specify whether totrigger email outside the organization (true) or not (false).In the salesforce.com user interface, this email can beautomatically triggered by creating, editing, or deleting acontact for a case.
— triggerUserEmail (A boolean value): Specifies whether totrigger email that is sent to users in the organization (true) ornot (false). In the Salesforce user interface, this email can beautomatically triggered by a number of events; resetting apassword, creating a new user, adding comments to a case, orcreating or modifying a task.
● OwnerChangeOptions
— transferAttachments (A boolean value): IftransferAttachments is set to true, the record’s notes,attachments, and Google Docs are transferred to the newrecord owner. If false, the original record owner retainsownership.
The default is true.
— transferOpenActivities (A boolean value): IftransferOpenActivities is set to true, the record’s openactivities are transferred to the new record owner. If false,the original record owner retains ownership.
The default is true.
Output
The Output tab contains the following fields.
Output ItemDataType Description
upsertAllResponse
result created boolean Indicate whether the record is created (true) or updated (false).
errors complex If errors occurred during the activity, an array of error objects with theerror code and description, is returned.
id string The ID of an sObject that you attempt to create.
51
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Output ItemDataType Description
success boolean Indicate whether the Salesforce Create All activity has succeeded(true) or not (false).
Fault
The Fault tab lists the possible exceptions thrown by this activity.
Fault Thrown when
SalesforceExecuteSOAPMethodException
An error occurred when calling a SOAP method.
For example, the wrong value is set in the Input fields or thesalesforce session has timed out.
SalesforceLoginException An error occurred when logging on to the salesforce.comserver.
SalesforceConnectionNotFoundException
An error occurred when the external session Id is not used andthe salesforce connection is not configured correctly.
Salesforce Outbound Message ListenerThe SalesforceOutboundMessageListener process starter creates a process instance for incomingsalesforce outbound messages. Salesforce Outbound Message is part of the workflow rule functionalityin salesforce. It uses the notifications call to send SOAP messages over HTTP(S) to a designatedendpoint when triggered by a workflow rule.
General
The General tab contains the following fields.
FieldModuleProperty? Description
Name No The name for the activity in the process definition.
HttpConnection
Yes Path to the http connection resource containing the connectioninformation of the Salesforce Outbound Message Listener activity.
Click the Choose/Create Default Resource icon to select a usableconnection for the activity.
WSDL No File path to the Outbound Message WSDL file.
Click the icon to open the Select Salesforce WSDL window.Select one WSDL related to the current Salesforce Outbound MessageListener to apply to your activity.
52
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
If the Salesforce Outbound Message Listener activity is used in a process, the Endpoint URL of theprocess is http://host:port/URI, in which host and port are the values in the Host and Port fields ofthe HTTP Connector shared resource and URI is the value in the WSDL file. For example, the Host andPort fields in the HTTP Connector shared resource are 192.168.0.1 and 8443, and the Endpoint URLin the WSDL file is http://192.168.66.99:8090/outbound/test, so the real Endpoint URL thatplug-in uses to start the listener is http://192.168.0.1:8443/outbound/test.
Description
Provide a short description for the activity.
Advanced
The Advanced tab contains the following fields.
Field Description
SequenceKey
This field contains an XPath Expression that specifies the order in which processesrun. Process instances with sequencing keys that evaluate to the same value will beexecuted sequentially in the order the process instance is created.
Custom JobId
This field contains an XPath expression that specifies a custom ID for the processinstance.
Making Authenticated Web Service Callouts Using SSLCallouts is a useful feature that allows you to connect to other web services and exchange data. You canuse it to notify other services of changes to data in your environment or retrieve data from a remotesystem.
Callouts can be secured using SSL, in which both the client and the server present certificates to provetheir identities to each other.
The following describes two SSL authentications:
● One-way SSL Authentication● Two-way SSL Authentication
One-way SSL Authentication
Only the identity of the server is represented by digital certificates in one-way SSL.
For outbound messaging, one-way SSL is enabled by default when you configure HTTPS insalesforce.com site. Once you have defined an outbound message, you need to configure the one-waySSL authentication:
Procedure
1. Log on to the Salesforce.com, select Build > Create > Workflow & Approvals > OutboundMessages from the left panel.All outbound messages are displayed in the All Outbound Messages panel.
2. Click the one you want to use.The Workflow Outbound Message Detail panel is displayed.
3. Right click Click for WSDL, next select Save Link As.4. Type a file name or accept the default name to save the .wsdl file to your local directory.
5. Import the .wsdl file into your project.
53
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
6. Configure the Keystore Provider.
7. Configure the SSL Server.
8. Specify HTTP Connector and select the Confidentiality check box in the Security panel.
See TIBCO ActiveMatrix BusinessWorks Bindings and Palettes Reference on how to configureKeystore Provider, SSL Server and HTTP Connector.
9. Click and configure the Salesforce Outbound Message Listener starter in the Process editor:
a) Click the Choose/Create Default Resource icon to select the http connection you justcreated. Click OK.
b) Click the icon beside the WSDL field to select the .wsdl file imported. Click OK.
10. Click File > Save.
Two-way SSL Authentication
The identities of the client and server are represented by digital certificates in two-way SSL.
Currently, Salesforce only supports both self-signed and CA-signed certificates. To configure the two-way SSL authentication, perform the following steps:
Procedure
1. Log on to the Salesforce.com, select Build > Create > Workflow & Approvals > OutboundMessages from the left panel.All outband messages are displayed in the All Outband Messages panel.
2. Click the one you want to use.The Workflow Outbound Message Detail panel is displayed.
3. Right-click Click for WSDL, next select Save Link As.
4. Type a file name or accept the default name to save the .wsdl file to your local directory.
5. Copy the .wsdl file into your project.
6. Configure the Keystore Provider.
7. Configure the SSL Server.a) Select the Enable Mutual Authentication check box in the Basic SSL Server Configuration
panel.b) Select required from the Clicnt Auth Type list.
8. Specify HTTP Connector and select the Confidentiality check box in the Security panel.
See TIBCO ActiveMatrix BusinessWorks Bindings and Palettes Reference on how to configureKeystore Provider, SSL Server and HTTP Connector.
9. Click and configure the Salesforce Outbound Message Listener starter in the Process editor:
a) Click the Choose/Create Default Resource icon to select the http connection you justcreated. Click OK.
b) Click the icon beside the WSDL field to select the .wsdl file imported. Click OK.
10. Click File > Save.
54
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Samples
The samples helps you understand how TIBCO ActiveMatrix BusinessWorks Plug-in forSalesforce.com operates.
TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com packages four sample projects withinthe installer. The following sample projects are located in the TIBCO_HOME\bw\palettes\salesforce\6.0\samples directory.
To run the following sample projects smoothly, apply for a new developer edition account ofsalesforce.com.
● GeneralSample Project● RelationshipQuery Project● ERPIntegration Project● WorkWithInvokerActivity Project
Working With GeneralSample ProjectThis GeneralSample project gives you a quick overview of how to use TIBCO Active matrixBusinessWorks Plug-in for Salesforce.com.
Procedure
1. Start TIBCO Business Studio.
2. Click File > Import.
3. In the Import window, expand the General folder and select the Existing Studio Projects intoWorkspace item. Click Next.
4. Click Browse next to the Select archive file field to locate the samples. Click Finish.The sample project is located in the TIBCO_HOME\bw\palettes\salesforce\6.0\samples\GeneralSample directory.
In this project, two processes are created:
● General Process
This process is used to show the general configurations of salesforce activities. Most salesforceactivities are included, such as Salesforce Create All, Salesforce Query All, Salesforce RetrieveAll, and so on.
● RemoveSampleData Process
After running the General process, you may run this process to remove all generated data fromyour salesforce.com database.
5. Change the values in the User Name and Password fields in the Connection Configuration panelof the Salesforce Connection shared resource.
6. Test and run the processes in the project.
General ProcessThis General process is used to show the general configurations of salesforce activities.
The process is designed with the following activities:
55
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
The following table lists and explains the activities in the process.
Activity Description
Salesforce Create All Salesforce Create All activity.
Creates five sample contact sObjects in your Salesforce.com database.
Salesforce Query All Salesforce Query All activity.
Executes a query to get the five sample contact sObjects created bythe Salesforce Create All activity.
Salesforce Retrieve All Salesforce Retrieve All activity.
Retrieves the five sample contact sObjects created by the SalesforceCreate All activity.
Salesforce Update All Salesforce Update All activity.
Updates the information of the five sample contact sObjects.
Salesforce Get Session Salesforce Get Session activity.
Gets a session from the session pool that is related to the specifiedSalesforce Connection. This session will be used in the followingSalesforce Upsert All activity.
Salesforce Upsert All Salesforce Upsert All activity.
Upserts the information of the five sample contact sObjects.
When doing this activity, since ID is defined as the external ID, thefive sample contact sObjects are updated.
56
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Activity Description
Salesforce Delete All Salesforce Delete All activity.
Deletes all sample data from your Salesforce database.
Working With RelationshipQuery ProjectThe RelationshipQuery project shows how to do relationship queries in TIBCO BusinessWorksSalesforce.com Plug-in. Two kinds of relationship queries are defined by Salesforce.com: parent-to-children and child-to-parent.
Procedure
1. Start TIBCO Business Studio.
2. Click File > Import.
3. In the Import window, expand the General folder and select the Existing Studio Projects intoWorkspace item. Click Next.
4. Click Browse next to the Select archive file field to locate the samples. Click Finish.The sample project is located in the TIBCO_HOME\bw\palettes\salesforce\6.0\samples\RelationshipQuerySample directory.
In this project, the following four processes are created:
● CreateData Process
Before running the childToParent process or the parentToChildren process, run this process tocreate sample sObjects with the relationship in your salesforce.com database.
● RemoveData Process
After running the childToParent process or the parentToChildren process, you may run thisprocess to remove all the sample data from your salesforce.com database.
● ChildToParent Process
This process shows how to do a child-to-parent relationship query and how to map the data toother activities.
See Relationship Query for more details.● ParentToChildren Process
This process shows how to do a parent-to-children relationship query and how to map the datato other activities.
See Relationship Query for more details.
5. Change the values in the User Name and Password fields in the Connection Configuration panelof the Salesforce Connection shared resource.
6. Test and run the processes in the project.
If some fields cannot be accessed when running the project, you may need to change theField Accessibility configuration in the Salesforce.com database.
ChildToParent ProcessThis ChildToParent process shows how to do a child-to-parent relationship query and how to map thedata to other activities.
The process is designed with the following activities:
57
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
The following table lists and explains the fields in the activities in the process.
Activity Description
Salesforce Query All Salesforce Query All activity.
Processes the child-to-parent relationship query.
The following statement is entered in the queryString field.
Select Id, FirstName, LastName, Account.Id,
Account.Name, Account.BillingStreet from Contact where
Account.Name='TIB_Sample_TIB' and
Account.BillingStreet='TIB_Sample_TIB'
Mapper Receives the returned data from the Salesforce Query activity, andthen maps the data values.
For detailed information, see Mapping Data in the ChildToParentProcess.
Mapping Data in the ChildToParent Process
Mapper is a general activity defined in TIBCO BusinessWorks. It is used as the data consumer of theSalesforce Query All activity.
To map data values in the ChildToParent process:
Procedure
1. Click the Mapper activity in the ChildToParent process, the Mapper panel is displayed.
In the Input tab, you can see the available data source and the activity’s expected input. The datasource and activity input are represented as schema trees.
58
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
2. Coerce the records node that is received from the Salesforce Query All activity into the data type ofthe Contact sObject.
3. Map the coerced records element to the Contacts element in the activity input area.
4. Map other elements to the corresponding elements in the activity input area, as shown in thefollowing figure.
Result
Map data in the ChildToParent process:
ParentToChildren ProcessThis ParentToChildren process shows how to do a parent-to-children relationship query and how tomap the data to other activities.
The process is designed with the following activities:
59
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
The following table lists and explains the fields in the activities in the process.
Activity Description
Salesforce Query All Salesforce Query All activity.
Processes the parent-to-child relationship query.
The following statement is entered in the queryString field.
Select Id, Name,BillingStreet, (select Id,
FirstName,LastName from Contacts) from Account a where
a.Name='TIB_Sample_TIB' and
a.BillingStreet='TIB_Sample_TIB’
Mapper Receives the returned data from the Salesforce Query All activity, andthen maps the data values.
For detailed information, see Mapping Data in the ParentToChildrenProcess.
Mapping Data in the ParentToChildren Process
Mapper is a general activity defined in TIBCO BusinessWorks. It is used as the data consumer of theSalesforce Query activity.
To map data values in the ParentToChildren process:
Procedure
1. Click the Mapper activity in the ParentToChildren process, the Mapper panel is displayed.In the Input tab, you can see the available data source and the activity’s expected input. The datasource and activity input are represented as schema trees.
60
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
2. Coerce the records element that is received from the Salesforce Query activity into the data type ofthe Account sObject and then map the coerced records element to the Account element.
3. Map other elements to the corresponding elements.If you need to map a complex element under the coerced element, you need to manually set XPathin the corresponding input field, as shown in the following figure. The XPath must be matched withthe corresponding schema returned from the query process at runtime.
Working With ERPIntegration ProjectThe ERPIntegration project shows how to use a TIBCO BusinessWorks process to manipulate theBusinessWorks Salesforce.com Plug-in service.
To access the sample application:
Procedure
1. Start TIBCO Business Studio.
2. Click File > Import.
3. In the Import window, expand the General folder and select the Existing Studio Projects intoWorkspace item. Click Next.
4. Click Browse next to the Select archive file field to locate the samples. Click Finish.The sample project is located in the TIBCO_HOME\bw\palettes\salesforce\6.0\samples\ERPIntegration directory.
5. Log on the Salesforce.com website using the new account information. Make sure that there is atleast one product that has been added to the price book, and this product needs to be added as theline item for an Opportunity whose stage is Close Won.
6. Add a customized field named ErpAccountId in the Account Object on the Salesforce.com server.
7. If you want to run the SyncOpporunity_OutboundListener process in TIBCO Business Studio,create an Outbound Message on the Salesforce.com website.Make sure that the Endpoint URI is the same as the one defined in the WSDL file of the OutboundListener activity. For example, the Endpoint URI defined in the WSDL file is: /OpportunityToOrder_UsingOutboundMsgListener/
SyncOpportunityProcess_UsingOutboundMsgListener, so in the Salesoforce.com website, thewhole URL address is http://host:port/OpportunityToOrder_UsingOutboundMsgListener/SyncOpportunityProcess_UsingOutboundMsgListener.
61
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
8. Generate an Outbound Message WSDL and configure the workflow rule to trigger the OutboundMessage you just created.
9. Use the CreateErpObjects.sql file to build Oracle database tables and other necessary objects.CreateErpObject.sql is available from the TIBCO_HOME\bw\palettes\salesforce\6.0\samples\ERPIntegration directory.
For running this sample application, a new user of Salesforce.com creates at least oneproduct as the line item for an Opportunity with the state of Close Won.
10. Change module properties if necessary in TIBCO Business Studio.
● BW_LastPollingTime_File: The location of the file, in which the last polling time is recorded.● BW_OpportunityStart_Time: The time that the opportunities start to record.
All opportunities occur before this time is ignored.
11. Configure the Salesforce Connection, the JDBC Connection and HTTP Connector.
12. Configure the JDBC driver for the JDBC activities both at design time and runtime.See TIBCO ActiveMatrix BusinessWorks Bindings and Palettes Reference for more details.
13. Test and run the processes in the sample application.
Customer MasterThe company’s sales department uses Salesforce.com CRM to manage the sales process and to monitorthe pipeline. Sales users create new Account records to represent prospects and Opportunity records totrack deals in progress. The Account data entered by sales users is not accurate enough to satisfy therequirements for the back office fulfillment and finance departments, whereas the Oracle ERP data istightly controlled and well maintained.
The Customer Master Integration requires implementation of two unidirectional processes on theTIBCO BusinessWorks platform.
● SyncAccountProcess● UpdateAccountProcess
SyncAccountProcess Process
The SyncAccountProcess process copies all Accounts ready for promotion from the Salesforce.comserver to the ERP system, writes back the ERP Account ID primary key field to the ErpAccountId fieldthat has been created in the Salesforce.com Account, and changes the Account record type in theSalesforce.com server to the read-only Integrated Account type. This process is invoked from within theOpportunity to Order process as needed.
The process is designed with the following activities:
62
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
The following table lists and explains the activities in the process.
Activity Description
Salesforce RetrieveAccount
Salesforce Retrieve All activity.
Gets a set of Salesforce.com Account sObject by using the given sObjectIds.
Erp Check Account Checks whether there is an Account in the ERP_ACCT table with the samename as the getting Account from the Salesforce.com server.
Erp Update Acct Updates the ERP_ACCT table while an Account is found in the activitynamed Erp Check Account.
Erp Update Shipping Updates the shipping information in the ERP_ADDR table after executingthe activity named Erp Update Acct.
Erp Update Billing Updates the billing information in the ERP_ADDR table after executing theactivity named Erp Update Acct.
Erp Insert Acct Creates an Account in the ERP_ACCT table if an account is not found inthe activity named Erp Check Account.
Erp Get AcctId Gets the Account ID from the ERP_ACCT table after executing the activitynamed Erp Insert Acct.
Erp Insert Shipping Creates the shipping information in the ERP_ADDR table when needed.
Erp Insert Billing Creates the billing information in the ERP_ADDR table when needed.
Salesforce Update All Salesforce Update All activity.
Updates the ACCT_ID field value of the newly created records in theERP_ACCT table to the ErpAccountId field in the Salesforce.com Account.
63
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
UpdateAccountProcess Process
The UpdateAccountProcess process monitors Accounts in the ERP system for changes and updates theSalesforce.com Account accordingly.
The process is designed with the following activities:
The following table lists and explains the activities in the process.
Activity Description
Erp-Query-Acct Gets ERP Accounts from the ERP_ACCT and ERP_ADDR tables.
Group Repeats activities in the group.
Salesforce QueryAccount
Checks whether the ERP Account exists in the Salesforce.com Account.
Salesforce CreateAccount
If the ERP Account does not exist in the Salesforce.com server, thisactivity will create a new Account in it.
Salesforce UpdateAccount
If the ERP Account exists in the Salesforce.com, this activity will updatethe Account in it.
Opportunity To OrderDuring the selling process, a salesperson tracks the status of a deal as it moves through the salespipeline using the Salesforce.com Opportunity object. When a deal closes, a new Order must be createdin the ERP system to initiate the invoicing and shipment processes. The current manual entry processshould be replaced by an automated data transfer from the Salsforce.com into the ERP system.
It concludes the following processes:
● OpportunityToOrder_Polling● OpportunityToOrder_UsingOutbound
OpportunityToOrder_Polling
When a deal closes successfully, the owner of the Salesforce.com Opportunity representing that dealchanges its status to Closed Won. The Opportunity To Order process requires a process to be
64
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
implemented on the Business works platform that will look for new closed opportunities on a regularbasis and create a new order in the ERP system each time one is found. If the Order’s Account is not inthe ERP system, the Account record needs to be migrated from the Salesforce.com CRM as well,according to the Customer Master Process.
The process named SyncOpportunity_Polling takes the above task in hand. Another two processesnamed GetLastPollingTime and SetLastPollingTime are called by the SyncOpportunity_Pollingprocess.
GetLastPollingTime Process
The GetLastPollingTime process is called by the SyncOpportunity_Polling process.
The process is designed with the following activities:
The following table lists and explains the activities in the process.
Activity Description
Read File Reads the file, in which the polling time is recorded.
Create File Creates a file to record the polling time if it does not exist before.
Write File Adds a lock sign to the file, in which the polling time is recorded.Adds a locksign to the file, in which the polling time is recorded.
SetLastPollingTime Process
The SetLastPollingTime process is called by the SyncOpportunity_Polling process.
The process is designed with the following activities:
65
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
The following table lists and explains the activities in the process.
Activity Description
Write File Removes the lock sign from the file.
Writes the current polling time in the file.
SyncOpportunity_Polling Process
The SyncOpportunity_Polling process takes the above task in hand.
The process is designed with the following activities:
The following table lists and explains the activities in the process.
Activity Description
GetLastPollingTime Gets the last polling time and locks this process.
66
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Activity Description
QueryOpportunityHistory
Salesforce Query All activity.
Gets the results of the opportunity history when the followingconditions are met:OpportunityHistory.State = ’Close Won’OpportunityHistory.CreateDate > the last polling time
QueryOpportunity Salesforce Query All activity.
Gets results of the opportunities according to the following conditions:Opportunity.Id in OpportunityHistory(Queried
before).OpportunityId Opportunity.HasLineitem = true
QueryOpportunityLineItem
Salesforce Query All activity.
Gets results of the opportunity line items.
Transition Control Group
ErpUpdateOrder Updates the ERP_ORDER table in the ERP system.
ErpUpdateOrderLine Updates the ERP_ORDERLINE table in the ERP system.
OpportunityToOrder_UsingOutbound
This OpportunityToOrder_UsingOutbound process uses the Outbound Message Listener to completethe same task as the task described in the OpportunityToOrder_Polling section.
The process named SyncOpportunity_OutboundListener takes the task in hand.
SyncOpportunity_OutboundListener Process
The SyncOpportunity_OutboundListener process takes the task in hand.
The process is designed with the following activities:
67
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Activity Description
Salesforce OutboundMessage Listener
Sets an Outbound Message Listener.
You may use it to create a new job for processing the coming outboundmessage.
QueryOpportunityLineItems
Salesforce Query All activity.
Gets results of the opportunity line items.
Transition Control Group
ErpUpdateOrder Updates the ERP_ORDER table in the ERP system.
ErpUpdateOrderLine Updates the ERP_ORDERLINE table in the ERP system.
Working With WorkWithInvokerActivity ProjectThis WorkWithInvokerActivity project shows how to work with SOAP activity in TIBCOBusinessWorks process to manipulate the Salesforce.com Plug-in service.
To access the sample application:
Procedure
1. Start TIBCO Business Studio.
2. Click File > Import.
3. In the Import window, expand the General folder and select the Existing Studio Projects intoWorkspace item. Click Next.
4. Click Browse next to the Select archive file field to locate the samples. Click Finish.The sample project is located in the TIBCO_HOME\bw\palettes\salesforce\6.0\samples\WorkWithInvokerActivity directory.
5. Log on the Salesforce.com website using the new account information. Make sure that at least oneContact record with the phone number (4159017000) used in the example process has been created.
6. Change the values in the User Name and Password fields in the Connection Configuration panel ofthe Salesforce Connection shared resource.
7. Test and run the processes in the sample application.
Workwithbwinvoker ProcessThe Workwithbwinvoker process in the project updates the phone number on the specified Contactrecords. It searches the Contact records with a specified phone number from the Salesforce.com serverby using the Invoke activity, and then updates those Contact records with the new phone number.
The process is designed with the following activities:
68
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
The following table lists and explains the activities in the process.
Activity Description
SalesforceGetSession Gets an existing session from the session pool that is related to thespecified Salesforce Connection.
SetContext Set the context parameters for the Invoke activity.
SearchForTargetContact Searches the Contract records with the specified searchString. Thissearch operation has been defined in the Partner WSDL used in thissample project.
SalesforceUpdateAll Salesforce Update All activity.
Updates the specified Contact records with the new phone number.
69
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Miscellaneous
Miscellaneous describes the property settings, the time zone construction and other miscellaneoustopics in TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com.
It includes the following sections:
● Properties Settings● Time Zone Information● Processing 16 Digits Numeric Data
Properties SettingsThe properties settings explains the property settings you may need to configure for the product.
It includes the following sections:
● Log Status Settings● Retrying Function Setting● Default Timeout Value Setting● Proxy Settings
Log Status SettingsLogs are used to trace and troubleshoot exceptions. The log status settings allow users to set up loglevels, specify log file name, and the location of the log file.
Before running TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com, you need to write thefollowing lines in the logback.xml file located in the TIBCO_HOME\bw\6.0\config\design\logbackdirectory to set the log status:<logger name="com.tibco.bw.palette.salesforce.runtime"> <level value="DEBUG"/></logger>
The level tag defines the log level. The value includes TRACE, DEBUG, INFO, WARN, and ERROR.
After adding the above lines into the logback.xml file, the log status of all activities is displayed in theConsole view. If you want to display a specified activity log status, select the following correspondingline:com.tibco.bw.palette.salesforce.runtime.SalesforceQueryActivitycom.tibco.bw.palette.salesforce.runtime.SalesforceCreateActivitycom.tibco.bw.palette.salesforce.runtime.SalesforceUpdateActivitycom.tibco.bw.palette.salesforce.runtime.SalesforceRetrieveActivitycom.tibco.bw.palette.salesforce.runtime.SalesforceUpsertActivitycom.tibco.bw.palette.salesforce.runtime.SalesforceDeleteActivitycom.tibco.bw.palette.salesforce.runtime.SalesforceGetSessionActivitycom.tibco.bw.palette.salesforce.runtime.eventsource.SalesforceOutboundListenerEventSource
For example, using the following codelines to display the log status of the Salesforce Query All activity:<logger name="com.tibco.bw.palette.salesforce.runtime.SalesforceQueryActivity"><level value="DEBUG"/></logger>
TRACE, DEBUG, INFO, WARN, and ERROR are five general properties in TIBCO ActiveMatrixBusinessWorks. They are not added in the default logback.xml configuration file. If you want tochange the log levels, you need to manually update them in the file.
See Managing Plug-in Logs for more details.
70
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Retrying Function SettingThe retrying function is triggered when you retry connecting to the salesforce.com server with thesalesforce configuration resource in TIBCO ActiveMatrix BusinessWorks Plug-in for salesforce.com.The retrying function is also triggered when you retry the actions in the Salesforce activities.
When you retry actions in the salesforce activity for deployment, you need to write the followingproperty lines in the TIBCO_HOME\bw\domains\defaultdomain\appnodes\defaultappspace\defaultappnode\config file:com.tibco.plugin.salesforce.retry.rotationPolicy=2,5,20com.tibco.plugin.salesforce.retry.rotationNumber=1
Property Description
com.tibco.plugin.salesforce.retry.r
otationPolicy
This property is used to set time interval between eachretrying operation. It is applied on both SalesforceActivities and Salesforce Get Session activity.
The default value in seconds is 2, 5, 20. If using thisdefault value in our process, retrying operation will betriggered three times. The activity will wait for 2seconds before retrying for the first time, 5 secondsbefore retrying for the second time, and 20 secondsbefore retrying for the third time..
com.tibco.plugin.salesforce.retry.r
otationNumber
The property is used to set how many times theprocess defined in thecom.tibco.plugin.salesforce.retry.rotationPo
licy property will be executed.
When you retry actions in the salesforce activity in TIBCO Business Studio, you need to write thefollowing property line to the place described by the following figure: -Dcom.tibco.plugin.salesforce.retry.rotationPolicy=2,5,20 -
Dcom.tibco.plugin.salesforce.retry.rotationNumber=1
71
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Default Timeout Value SettingThe timeout value specifies the number of milliseconds an internal API call waits before it isterminated.
When configuring the salesforce activity used in a process, you need to set the timeout value for theactivity. For example, for a Salesforce Query All activity, you need to set the timeout value as shown inthe following figure:
To conveniently configure the timeout value for the Salesforce activities running in TIBCO BusinessStudio, you can write the property line -Dcom.tibco.plugin.salesforce.invoke.timeout=15000into the place described by the following figure:
72
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
When you configure the timeout value in the salesforce activity for deployment, you need to write theproperty line com.tibco.plugin.salesforce.invoke.timeout=15000 into the TIBCO_HOME\bw\domains\defaultdomain\appnodes\defaultappspace\defaultappnode\config file.
Property Description
com.tibco.plugin.salesforce.
invoke.timeout
This property is used to set the default timeout value forsalesforce activities.
The default value in milliseconds is 15000.
You may change the timeout value in the above line. This value will be the default timeout value foreach salesforce activity.
Proxy SettingsThe Plug-in HTTP proxy property is provided in TIBCO ActiveMatrix BusinessWorks Plug-in forSalesforce.com.
When using Proxy, you need to operate proxy settings.
To conveniently configure Proxy in TIBCO Business Studio, you can write the property line -Dcom.tibco.plugin.salesforce.proxyHost=192.168.54.11 -
Dcom.tibco.plugin.salesforce.proxyPort=89 into the place described by the following figure:
73
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
When you configure configure Proxy for deployment, you need to write the property linescom.tibco.plugin.salesforce.proxyHost=192.168.54.11com.tibco.plugin.salesforce.proxyPort=89
into the TIBCO_HOME\bw\domains\defaultdomain\appnodes\defaultappspace\defaultappnode\config file.
Property Description
com.tibco.plugin.salesforce.pr
oxyHost
Required. The proxy host name or its IP address.
com.tibco.plugin.salesforce.pr
oxyPort
Required. The port on which the proxy service is listening.
com.tibco.plugin.salesforce.pr
oxyUser
Optional. The username for logging on to the proxy server.
com.tibco.plugin.salesforce.pr
oxyPwd
Optional. The password for logging on to the proxy server.
com.tibco.plugin.salesforce.pr
oxyTimeout
Optional. The timeout value in minutes for an HTTP call.
This property is to help avoid long wait times whenattempting to retry through a proxy.
74
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Time Zone InformationTIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com contains three data types for definingthe date or time data: date, dateTime, and time. Time zone information can be added to the dateTimeand time data types.
DataType Data Format Example Description
date yyyy-MM-dd 2009-01-31 Greenwich Mean Time (GMT) date.
If you add the time zoneinformation in the date data,TIBCO ActiveMatrixBusinessWorks Plug-in forSalesforce.com will accept it,but the time zone portioncannot be processed.
For example, if the date datais 2009-01-31+08:00, it will betruncated to 2009-01-31.
dateTime
yyyy-MM-ddTHH:mm:ss
2009-01-31T16:16:16 Greenwich Mean Time (GMT) datetime.
yyyy-MM-ddTHH:mm:ssZ
2009-01-31T16:16:16Z
yyyy-MM-ddTHH:mm:ss+hh:mm
2009-01-31T16:16:16+08:00
The datetime data with the specifiedtime zone.
yyyy-MM-ddTHH:mm:ss-hh:mm
2009-01-31T16:16:16-08:00
time HH:mm:ss 16:16:16 Greenwich Mean Time (GMT) time.
HH:mm:ssZ 16:16:16Z
HH:mm:ss+hh:mm 16:16:16+08:00 The time data with the specified timezone.
HH:mm:ss-hh:mm 16:16:16-08:00
Processing 16 Digits Numeric DataYou can input numeric data of a length greater than 16 digits in the Salesforce.com database.
For an application that is written in the JAVA language, data with a length greater than 16 digits isdefined as the double type and its precision will be changed in the application.
75
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
TIBCO ActiveMatrix BusinessWorks Plug-in for Salesforce.com is implemented using the JAVAlanguage. When data with a length greater than 16 digits is processed between the plug-in and theSalesforce.com database, you may encounter the following situations:
● If the datum are retrieved from the Salesforce.com database, their precision will be rounded to 16digits in the plug-in.
Affected Salesforce activities are Salesforce Query All, Salesforce Retrieve All, and SalesforceOutbound Message Listener.
● If the datum need to be sent to the Salesforce.com database, they will be rounded to the 16-digitprecision and then sent out.
Affected Salesforce activities are Salesforce Create All, Salesforce Update All, and Salesforce UpsertAll.
76
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Troubleshooting
When you encounter problems with the project, ensure that you have cleaned up the project.
If errors occur when you run a process in TIBCO Business Studio, you can do a cleaning first. Cleaningdeletes all the old files and reorganizes the project.
Procedure
1. Right-click the project in the Project Explorer view and click Refresh.
2. Select Project > Clean to start the cleaning.
77
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Managing Plug-in Logs
Logs are used to trace and troubleshoot exceptions. The plug-in allows users to set up log levels andexport logs to a file by modifying the logback.xml file.
TIBCO Business Studio provides a built-in debugger, which allows users to debug a project. Whenstarting debugging or running a project, the logs are displayed in the Console view. You can set up thelog level to define the log amount. To set up the console log level, see Setting Up Log Level.
The plug-in also allows users to export logs of the defined log levels to a file. To export logs to a file, see Exporting Logs.
Setting Up Log LevelWhen you run a process in TIBCO Business Studio, the runtime logs are displayed in the Console view.You can set up the log level before running a process.
Procedure
1. Navigate to the TIBCO_HOME\bw\6.0\config\design\logback directory and open thelogback.xml file.
When deploying the application in TIBCO Enterprise Administrator, you need to navigateto the TIBCO_HOME\bw\domains\defaultdomain\appnodes\defaultappspace\defaultappnode directory to find the logback.xml file.
2. Add the following node to specify the log level.<logger name="com.tibco.bw.palette.salesforce.runtime"> <level value="ERROR"/></logger>
The level tag defines the log level and the value can be TRACE, DEBUG, INFO, WARN and ERROR.
3. Save the file.
Exporting LogsYou can print the log to a file by adding FILE appender in the logback.xml file.
Procedure
1. Navigate to the TIBCO_HOME\bw\6.0\config\design\logback directory and open thelogback.xml file.
When deploying the application in TIBCO Enterprise Administrator, you need to navigateto the TIBCO_HOME\bw\domains\defaultdomain\appnodes\defaultappspace\defaultappnode directory to find the logback.xml file.
2. Add the following node to specify the file location.<appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>c:/bw6-salesforce.log</file> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}-%msg%n</pattern> </encoder></appender>
The file tag defines the location to which the log is exported and the value is the absolute path ofthe file that is detailed to the file name.
78
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
3. Add the following node to specify the log level.<logger name="com.tibco.bw.palette.salesforce.runtime"> <appender-ref ref="FILE"/> <level value="ERROR"/></logger>
The level tag defines the log level and the value can be be TRACE, DEBUG, INFO, WARN and ERROR.
4. Save the file.
79
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Codes
The error codes in the Fault tab for each activity are listed with the corresponding description andresolution.
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-100001
traceRole BW-Plugin Request SOAP messagesent for operation {0}: \n{1}
None
TIBCO-BW-PALETTE-SALESFORCE-100002
traceRole BW-Plugin Response SOAP messagereceived for operation {0}:\n {1}
None
TIBCO-BW-PALETTE-SALESFORCE-200001
debugRole BW-Plugin {0} None
TIBCO-BW-PALETTE-SALESFORCE-200002
debugRole BW-Plugin The operation name hasbeen changed from [ {0} ]to [ {1} ].
None
TIBCO-BW-PALETTE-SALESFORCE-200003
debugRole BW-Plugin The following RequestSOAP Message will besent \n {0}
None
TIBCO-BW-PALETTE-SALESFORCE-300001
infoRole BW-Plugin The session for User {0}timed out. Old sessionIdis {1}.
None
TIBCO-BW-PALETTE-SALESFORCE-300002
infoRole BW-Plugin The session for User {0}was refreshed. OldsessionId is {1}.
None
TIBCO-BW-PALETTE-SALESFORCE-300003
infoRole BW-Plugin User {0} is logging in... None
TIBCO-BW-PALETTE-SALESFORCE-300004
infoRole BW-Plugin This is the {1} time(s)during the rotation {2} foruser {0} trying to login.
None
TIBCO-BW-PALETTE-SALESFORCE-300005
infoRole BW-Plugin Login failed for User {0}. None
TIBCO-BW-PALETTE-SALESFORCE-300006
infoRole BW-Plugin Login succeeded for User{0}. SessionId is [{1}]
None
TIBCO-BW-PALETTE-SALESFORCE-300007
infoRole BW-Plugin Get session for User {0}immediately. SessionId is[{1}]
None
80
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-300008
infoRole BW-Plugin Mechanism Retry ofGetting Session makesUser {0} to sleep for {1}seconds.
None
TIBCO-BW-PALETTE-SALESFORCE-300009
infoRole BW-Plugin Request SOAP MessageSent \n {0}
None
TIBCO-BW-PALETTE-SALESFORCE-300010
infoRole BW-Plugin Response SOAP MessageReceived \n {0}
None
TIBCO-BW-PALETTE-SALESFORCE-300011
infoRole BW-Plugin Start to operate [ {0} ].Process Id: [ {1} ]. EngineName: [ {2} ].
None
TIBCO-BW-PALETTE-SALESFORCE-300012
infoRole BW-Plugin Renewed session in {0}activity.
None
TIBCO-BW-PALETTE-SALESFORCE-300013
infoRole BW-Plugin Ready to execute theoperation [ {0} ]...
None
TIBCO-BW-PALETTE-SALESFORCE-300014
infoRole BW-Plugin Ready to execute theoperation [ {0} ]. Therelated input count is {1}...
None
TIBCO-BW-PALETTE-SALESFORCE-300015
infoRole BW-Plugin Trying to refresh thesession...
None
TIBCO-BW-PALETTE-SALESFORCE-300016
infoRole BW-Plugin Refreshed the session. Beready to retry theoperation...
None
TIBCO-BW-PALETTE-SALESFORCE-300017
infoRole BW-Plugin Be ready to execute theoperation [Query], thequery string is [{0}]...
None
TIBCO-BW-PALETTE-SALESFORCE-300018
infoRole BW-Plugin Be ready to execute theoperation [QueryMore],the query locator is [{0}]...
None
TIBCO-BW-PALETTE-SALESFORCE-300019
infoRole BW-Plugin Processing in subsets.Batch size is [ {0} ], subsetsize is [ {1} ].
None
TIBCO-BW-PALETTE-SALESFORCE-300020
infoRole BW-Plugin The configured BatchSizeis [ {0} ].
None
81
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-300021
infoRole BW-Plugin Be ready to process theoperation in subsets for[ {0} ] activity. Theconfigured BatchSize is[ {1} ], and the SubsetSizeis [ {2} ].
None
TIBCO-BW-PALETTE-SALESFORCE-300022
infoRole BW-Plugin The end of the [ {0} ]activity.
None
TIBCO-BW-PALETTE-SALESFORCE-300023
infoRole BW-Plugin Retry to execute the [ {0} ]operation in [ {1} ]seconds.
None
TIBCO-BW-PALETTE-SALESFORCE-300024
infoRole BW-Plugin This is the [ {0} ] time(s)during the rotation [ {1} ]for trying [ {2} ] operation.
None
TIBCO-BW-PALETTE-SALESFORCE-300025
infoRole BW-Plugin Processing in subsets isfinished for [ {0} ] activity.
None
TIBCO-BW-PALETTE-SALESFORCE-300026
infoRole BW-Plugin Be ready to process theoperation for [ {0} ]activity.
None
TIBCO-BW-PALETTE-SALESFORCE-300027
infoRole BW-Plugin Processing the operationis finished for [ {0} ]activity.
None
TIBCO-BW-PALETTE-SALESFORCE-300028
infoRole BW-Plugin Recoverable errorsreturned with the records.Please find theinformation of the relatedrecords in the log.
None
TIBCO-BW-PALETTE-SALESFORCE-300029
infoRole BW-Plugin -----------------------------------------------
None
TIBCO-BW-PALETTE-SALESFORCE-300030
infoRole BW-Plugin The results have beenreturned successfully.There is no error in thereturned data.
None
TIBCO-BW-PALETTE-SALESFORCE-300032
infoRole BW-Plugin End of executing a batchof the operation for [ {0} ]activity. [ {1} ] sObject(s)have been returned.
None
82
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-300033
infoRole BW-Plugin Salesforce OutboundMessage Listener on [ {0} ]was initializedsuccessfully.
None
TIBCO-BW-PALETTE-SALESFORCE-300036
infoRole BW-Plugin Be ready to execute theoperation [QueryMore] ifany nested sObjectexists...
None
TIBCO-BW-PALETTE-SALESFORCE-300037
infoRole BW-Plugin End of executing a batchof the operation for thenested node [ {2} ] of [ {0} ]activity. [ {1} ] sObject(s)have been returned.
None
TIBCO-BW-PALETTE-SALESFORCE-300038
infoRole BW-Plugin The invocation timeoutvalue is {0} ms.
None
TIBCO-BW-PALETTE-SALESFORCE-300039
infoRole BW-Plugin The timeout value for thiscall are [ {0} ]milliseconds.
None
TIBCO-BW-PALETTE-SALESFORCE-300040
infoRole BW-Plugin The Salesforce OutboundMessage Listener receiveda message whoseServiceEntry URL is[ {0} ]. Sending an Ack:[ {1} ].
None
TIBCO-BW-PALETTE-SALESFORCE-300041
infoRole BW-Plugin The Salesforce OutboundMessage Listener receiveda message whoseServiceEntry URL is[ {0} ].
None
TIBCO-BW-PALETTE-SALESFORCE-300042
infoRole BW-Plugin Proxy setting in use, theproxyHost:[ {0} ],proxyPort:[ {1} ],proxyUser:[ {2} ],proxyPwd:[ {3} ],proxyTimeout(min):[ {4} ].
None
TIBCO-BW-PALETTE-SALESFORCE-300043
infoRole BW-Plugin End of executing a batchof operation for activity[ {0} ], but no sObjectreturned.
None
83
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-300044
infoRole BW-Plugin End of executing a batchof operation for the node[ {1} ] of [ {0} ] activity, butno sObject is returned.
None
TIBCO-BW-PALETTE-SALESFORCE-400001
warnRole BW-Plugin The batchSize was notassigned with a validvalue. It will be given adefault value.
None
TIBCO-BW-PALETTE-SALESFORCE-400002
warnRole BW-Plugin The input of'salesforceConnection' isempty. The operationcannot be retried when aninvalid session exceptionoccurred.
None
TIBCO-BW-PALETTE-SALESFORCE-400003
warnRole BW-Plugin The configured BatchSizeis [ {0} ] that will be fixedto the minimum (200) ormaximum (2000)BatchSize.
None
TIBCO-BW-PALETTE-SALESFORCE-400004
warnRole BW-Plugin The configuredSubsetSize is [ {0} ] thatwill be fixed to theminimum (1) ormaximum (10) SubsetSize.
None
TIBCO-BW-PALETTE-SALESFORCE-400005
warnRole BW-Plugin The configured BatchSizefor [ {0} ] operation is [ {1}]that will be fixed to theminimum (200) ormaximum (2000)BatchSize.
None
TIBCO-BW-PALETTE-SALESFORCE-400006
warnRole BW-Plugin The configuredSubsetSize for [ {0} ]operation is [ {1} ] thatwill be fixed to theminimum (1) ormaximum (10) SubsetSize.
None
TIBCO-BW-PALETTE-SALESFORCE-400007
warnRole BW-Plugin The [ {0} ] activity ends upwith the error(s).
None
TIBCO-BW-PALETTE-SALESFORCE-400008
warnRole BW-Plugin No error information isavailable in the returneddata.
None
84
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-400009
warnRole BW-Plugin End of executing a batchof operation for activity[ {0} ], but no sObjectreturned.
None
TIBCO-BW-PALETTE-SALESFORCE-400010
warnRole BW-Plugin No input data under thenode [ {0} ] at the run-timefor activity [ {1} ] isavailable. An emptyresult will be returneddirectly.
None
TIBCO-BW-PALETTE-SALESFORCE-400011
warnRole BW-Plugin The session refreshingoperation could not beperformed because theexternal sessionconfiguration has beenused.
None
TIBCO-BW-PALETTE-SALESFORCE-400012
warnRole BW-Plugin End of executing a batchof operation for the node[ {1} ] of [ {0} ] activity, butno sObject is returned.
None
TIBCO-BW-PALETTE-SALESFORCE-500001
errorRole BW-Plugin Cannot find sharedSalesforce configuration:{0}
Check theconfiguration of theSalesforceConnectionandreconfigureit.
TIBCO-BW-PALETTE-SALESFORCE-500002
errorRole BW-Plugin Error occurred whilelogging in: {0}
Checkwhether thenetwork isconnectedand theuser’s nameandpasswordare correct.
TIBCO-BW-PALETTE-SALESFORCE-500003
errorRole BW-Plugin FatalException: Failed toexecute the operationafter retrying [ {0} ]time(s).
Check thenetworkconfiguration.
85
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-500004
errorRole BW-Plugin OperationException:Failed to execute theoperation. Please checkthe input configuration.{0} Detailed information:[ {1} ] Other information:[ {2} ]
Check theinputconfiguration.
TIBCO-BW-PALETTE-SALESFORCE-500005
errorRole BW-Plugin FatalException: Failed torenew the session in {0}activity.
Check theinput of thesalesforceConnectionfield.
TIBCO-BW-PALETTE-SALESFORCE-500006
errorRole BW-Plugin Exception occurred whileexecuting the operation.Exception type: [ {0} ]Exception message: [ {1} ]Exception detail: [ {2} ]Other information: [ {3} ]
None
TIBCO-BW-PALETTE-SALESFORCE-500007
errorRole BW-Plugin Network problemoccurred. The server iscurrently unavailable orthe session has timed out.
Check thenetworkconfiguration.
TIBCO-BW-PALETTE-SALESFORCE-500008
errorRole BW-Plugin The [ {0} ] operation istemporarily unavailable.
ContactSalesforce.comsupport.
TIBCO-BW-PALETTE-SALESFORCE-500009
errorRole BW-Plugin An unrecoverable erroroccurred while executingthe {0} operation.
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500010
errorRole BW-Plugin An unrecoverable erroroccurred while inputtingthe invalid data for the {0}activity. Please check theinput configuration of theactivity.
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500011
errorRole BW-Plugin ConnectionException:Failed to execute theoperation.
Check thenetworkconfiguration.
86
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-500012
errorRole BW-Plugin Detailed informationabout this unknownexception: StackTrace: {0}Exception Message: [ {1}].FullClass [ {2} ].
Check theinputconfiguration of theactivity orcontactTIBCOsupport.
TIBCO-BW-PALETTE-SALESFORCE-500013
errorRole BW-Plugin Data was not returned inlimited operation timewhile executing [ {0} ]operation.
Change thetimeoutvalue orcheck theconnectionof thenetwork.
TIBCO-BW-PALETTE-SALESFORCE-500014
errorRole BW-Plugin Application exceptionoccurred while handlingan error.
Check theinputconfiguration of theactivity orcontactTIBCOsupport.
TIBCO-BW-PALETTE-SALESFORCE-500015
errorRole BW-Plugin FatalException: Invalidsession error occurred.Since an external sessionID was used, therefreshing sessionmechanism cannot beperformed. The externalsession ID is {0}.
Make surethe externalsession IDis valid.
TIBCO-BW-PALETTE-SALESFORCE-500016
errorRole BW-Plugin ApplicationException:The operation failed. {0}Detailed information:[ {1} ]. Other information:[ {2} ].
Check theinputconfiguration of theactivity orcontactTIBCOsupport.
TIBCO-BW-PALETTE-SALESFORCE-500017
errorRole BW-Plugin UnknownException: Theoperation failed. {0}
Check theinputconfiguration of theactivity orcontactTIBCOsupport.
87
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-500018
errorRole BW-Plugin ConnectionException: Theoperation was failed {0}Detailed information:[ {1} ] Other information:[ {2} ]
Check thenetworkconnection.
TIBCO-BW-PALETTE-SALESFORCE-500019
errorRole BW-Plugin TimeoutException: Thetimeout value is [ {0} ].Exception Message: [ {1} ]
Change thetimeoutvalue orcheck theconnectionof thenetwork.
TIBCO-BW-PALETTE-SALESFORCE-500020
errorRole BW-Plugin The provided certificationis invalid or the selectedencryption strength maynot match your policy file.
Make suretheSalesforceResourcesfolder hasbeenimportedand JavaCryptographyExtension(JCE) hasbeeninstalled.
TIBCO-BW-PALETTE-SALESFORCE-500021
errorRole BW-Plugin ApplicationException:The required field [ {0} ] isempty, please assign avalid value.
Make surethat a validvalue isassigned intherequiredfield.
TIBCO-BW-PALETTE-SALESFORCE-500022
errorRole BW-Plugin OperationException: Thereturned sObjectcontained an errorinformation. statusCode:[ {0} ] message: [ {1} ]sObject ID in the returneddata: [{2} ] fields: [ {3} ] thesObject ID in the input:[ {4} ]
Check theinputconfiguration ofsObjects.
88
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-500023
errorRole BW-Plugin The operation cannot becontinued because someunrecoverable errorsoccurred. statusCode:[ {0} ] message: [ {1} ]Please check the errormessage that wasgenerated from theactivity output.
Check theerrormessagethat wasgeneratedfrom theactivityoutput.
TIBCO-BW-PALETTE-SALESFORCE-500024
errorRole BW-Plugin OperationException: Thereturned sObject containsan error information.statusCode: [ {0} ]message: [ {1} ] sObject IDin the returned data: [ {2} ]fields: [ {3} ].
Check theinputconfiguration ofsObjects.
TIBCO-BW-PALETTE-SALESFORCE-500025
errorRole BW-Plugin OperationException: Thereturned sObject haserror. statusCode: [ {0} ].message: [ {1} ]. sObject idin the returned data:[ {2} ]. fields: [ {3} ]. valueassigned forexternalIDFieldName:[ {4} ]
Check theinputconfiguration ofsObjects.
TIBCO-BW-PALETTE-SALESFORCE-500026
errorRole BW-Plugin Error occurred whileexecuting the SalesforceSOAP method: Themethod is {0}, details - {1}.
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500028
errorRole BW-Plugin Failed to retry theoperation [ {0} ].
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500029
errorRole BW-Plugin Failed to retry theoperation in a rotation.
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500030
errorRole BW-Plugin Unrecoverable errorsreturned with the records.Please find theinformation of the relatedrecords in the log.
Check theinputconfiguration of theactivity.
89
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-500031
errorRole BW-Plugin The required field'externalIdFieldName'was empty. Could not doretrying for the CreateAll.
Fill in thevalue in theexternalIdFieldNamefield.
TIBCO-BW-PALETTE-SALESFORCE-500032
errorRole BW-Plugin Failed to retry theoperation for all [ {0} ]rotation(s).
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500033
errorRole BW-Plugin Error was kept in thereturned sObject. Theindex number in thebatch: [ {0} ], statusCode:[ {1} ], message: [ {2} ],sObject ID in the returneddata (if available): [ {3} ],fields (if available): [ {4} ].
Check theerrormessagethat wasgeneratedfrom theactivityoutput.
TIBCO-BW-PALETTE-SALESFORCE-500034
errorRole BW-Plugin Error occurred on theOutbound MessageListener: {0}.
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500035
errorRole BW-Plugin Unrecoverable error waskept in the returnedsObject. The indexnumber in the batch:[ {0} ], statusCode: [ {1} ],message: [ {2} ], sObjectID in the returned data (ifavailable): [ {3} ], fields (ifavailable): [ {4} ].
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500036
errorRole BW-Plugin Recoverable error waskept in the returnedsObject. The indexnumber in the batch:[ {0} ], statusCode: [ {1} ],message: [ {2} ], sObjectID in the returned data (ifavailable): [ {3} ], fields (ifavailable): [ {4} ].
Check theinputconfiguration of theactivity.
90
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide
Error Code Role Category Description Resolution
TIBCO-BW-PALETTE-SALESFORCE-500037
errorRole BW-Plugin Common error was keptin the returned sObject.The index number in thebatch: [ {0} ], statusCode:[ {1} ], message: [ {2} ],sObject ID in the returneddata (if available): [ {3} ],fields (if available): [ {4} ].
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500038
errorRole BW-Plugin The operation failed.Error message: {0}.
Check theinputconfiguration of theactivity.
TIBCO-BW-PALETTE-SALESFORCE-500039
errorRole BW-Plugin Could not find anavailable session for theoperation [ {0} ]. Pleasecheck the configuration ofthe Salesforce Connection.
Check theconfiguration of theSalesforceConnection.
TIBCO-BW-PALETTE-SALESFORCE-500040
errorRole BW-Plugin The WSDL was NOTspecified.
ConfigureanOutboundMessageWSDLgeneratedfrom theSalesforce.com server.
TIBCO-BW-PALETTE-SALESFORCE-500041
errorRole BW-Plugin The Keystore File wasNOT specified.
Configure aKeystoreFile.
TIBCO-BW-PALETTE-SALESFORCE-500042
errorRole BW-Plugin The Trusted CertificatesFolder was NOTspecified.
Configure aTrustedCertificatesFolder.
TIBCO-BW-PALETTE-SALESFORCE-500043
errorRole BW-Plugin Failed to start outboundlistener due to[ {0} ]
None
91
TIBCO ActiveMatrix BusinessWorks™ Plug-in for Salesforce.com User’s Guide