CA Servicedesk Webservices User Guide
CA Servicedesk Webservices User Guide
This documentation (the Documentation) and related computer software program (the Software) (hereinafter
collectively referred to as the Product) is for the end users informational purposes only and is subject to change
or withdrawal by CA at any time.
This Product may not be copied, transferred, reproduced, disclosed, modified or duplicated, in whole or in part,
without the prior written consent of CA. This Product is confidential and proprietary information of CA and protected
by the copyright laws of the United States and international treaties.
Notwithstanding the foregoing, licensed users may print a reasonable number of copies of the Documentation for
their own internal use, and may make one copy of the Software as reasonably required for back-up and disaster
recovery purposes, provided that all CA copyright notices and legends are affixed to each reproduced copy. Only
authorized employees, consultants, or agents of the user who are bound by the provisions of the license for the
Software are permitted to have access to such copies.
The right to print copies of the Documentation and to make a copy of the Software is limited to the period during
which the license for the Product remains in full force and effect. Should the license terminate for any reason, it
shall be the users responsibility to certify in writing to CA that all copies and partial copies of the Product have
been returned to CA or destroyed.
EXCEPT AS OTHERWISE STATED IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT PERMITTED BY
APPLICABLE LAW, CA PROVIDES THIS PRODUCT AS IS WITHOUT WARRANTY OF ANY KIND, INCLUDING
WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
OR NONINFRINGEMENT. IN NO EVENT WILL CA BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY
LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS PRODUCT, INCLUDING WITHOUT LIMITATION,
LOST PROFITS, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED OF
SUCH LOSS OR DAMAGE.
The use of this Product and any product referenced in the Documentation is governed by the end users applicable
license agreement.
The manufacturer of this Product is CA.
This Product is provided with Restricted Rights. Use, duplication or disclosure by the United States Government
is subject to the restrictions set forth in FAR Sections 12.212, 52.227-14, and 52.227-19(c)(1) - (2) and DFARS
Section 252.227-7013(c)(1)(ii), as applicable, or their successors.
All trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.
Copyright 2006 CA. All rights reserved.
CA Product References
This document references the following CA products:
Advantage
Allfusion
BrightStor
CleverPath Portal
Contents
Chapter 1: Web Services Basics
19
39
Objects.............................................................................................................................. 39
Lock Errors ........................................................................................................................ 41
Access the Unicenter Service Desk Web Services ..................................................................... 41
Time Outs .......................................................................................................................... 41
System Updates and Caching................................................................................................ 42
Categories and Properties..................................................................................................... 43
Contents v
55
67
Contents vii
LREL Methods....................................................................................................................135
getLrelLength...............................................................................................................136
getLrelValues ...............................................................................................................137
createLrelRelationships..................................................................................................138
removeLrelRelationships ................................................................................................140
Knowledge Tools ................................................................................................................140
Table Types .................................................................................................................141
Knowledge Tools General Methods ..................................................................................142
Attachment Methods .....................................................................................................174
Miscellaneous Methods........................................................................................................183
callServerMethod..........................................................................................................184
createObject ................................................................................................................186
getBopsid ....................................................................................................................188
getConfigurationMode ...................................................................................................189
getObjectValues ...........................................................................................................189
getObjectTypeInformation .............................................................................................190
serverStatus ................................................................................................................193
updateObject ...............................................................................................................193
WorkFlow Methods .............................................................................................................195
getWorkflowTemplates ..................................................................................................195
createWorkFlowTask .....................................................................................................197
deleteWorkFlowTask .....................................................................................................199
Attachment Methods...........................................................................................................199
createAttachment .........................................................................................................199
removeAttachment .......................................................................................................200
Index
203
Implementations Offered
Two implementations of the Unicenter Service Desk Web Services were
included in the prior release, one used Microsoft .NET and the other used Java
2 Enterprise Edition (J2EE) technology. However, only the J2EE
implementation is offered in this release in order to provide consistent
behaviors across platforms.
For backward compatibility, the post GA r6.0 J2EE Web Services is still offered
in this release. Users of GA r6.0 .NET Web Services need to switch to J2EE
Web Services. The WSDL of the post GA r6.0 Web Services is exactly the same
as the original .NET implementation (meaning that code targeted for 6.0
should continue to function the same), but you will need to specify a different
SOAP end point.
Important! After migrating from r6.0 Unicenter Web Services running on
Unicenter Service Desk r6.0 to a r6.0-level Web Service on version r11, any
object handles that you may have persisted should be considered invalid after
migration.
The installation files for the backward compatible J2EE Web Services are
located in the following directory:
<NX_ROOT>/sdk/websvc/60
where <NX_ROOT> is the root installation path for Unicenter Service Desk.
Post GA 6.0
The WSDL for the post GA 6.0 Web Services resides at the following URL:
http://<servername>:<port>/axis/services/USD_ WebServiceSoap?WSDL
Note: Any client code written to the r6.0 Web Services will continue to
function as long as it references the post GA r6.0 WSDL. The r11 interface is
not compatible with the GA r6.0 interface.
Many servlet containers use a port other than 80. For example, Tomcat
defaults to port 8080, which is established during installation.
Configuration
Note: emptyArray can then be passed to array parameters that accept empty
arrays.
Configuration
The Unicenter Service Desk Web Services may be configured with entries in
special web configuration files. The names and descriptions of the
configuration options (described in detail later in this chapter) are summarized
as follows:
Option Name
Description
design_mode_stubs
require_secure_logon
Configuration
Option Name
Description
require_secure_connection
disable_user_logon
Note: The configuration settings can be set in the deploy.wsdd file. For r11,
this file is located in this subdirectory: <NX_ROOT>/sdk/websvc/R11. For post
GA 6.0, it is located in this subdirectory: <NX_ROOT>/sdk/websvc/60. We
recommend that you create a back up copy of either file before making any
changes to it.
New configuration settings take effect when Unicenter Service Desk Web
Services is redeployed. The following steps (taken directly from the Apache
Axis documentation), redeploys the Unicenter Service Desk Web Services:
1.
2.
3.
Recycle Tomcat by recycling the Service Desk service. You may avoid
shutting down the entire Service Desk system by recycling Tomcat by
simply using the following commands:
pdm_tomcat_nxd c stop
pdm_tomcat_nxd c start
The Unicenter Service Desk Web Service is now redeployed. You can verify
that the service actually deployed by viewing the Axis services listing page at
the following default URL:
http://<servername>:<port>/axis/services
Security
Security
There are important security considerations in deploying web services. The
default configuration when using HTTP is insecure, as it is for all information in
web service calls sent between the client and the server in plain text over the
network using the HTTP protocol. This includes not only application data, such
as ticket descriptions and contact names, but also web service session
identifiers (SID); and depending upon the web service application login
methods used, it may include passwords. Administrators deploying web
services are highly encouraged to review this section carefully and to take
additional configuration steps at the application and network levels in order to
secure their web service environment.
Important! The default web service configuration used with HTTP is insecure
and vulnerable to security threats, which can include password discovery,
session fixation, and data spying, among others.
There are three interrelated key security considerations in deploying Web
Services:
Security
Security
This security feature requires you to use SSL (or https) for calling the
Login() and LoginService() methods. This feature also provides a handy
method for protecting the username and password, while avoiding the
overhead of SSL for the rest of the web services.
Important! If you use the require_secure_logon command, the Web
Services application will not confirm that communications protocol-level
security is enforced for methods other than Login() and LoginService().
Unless other precautions are taken, the other Web Services methods may
be invoked insecurely, causing greater vulnerability to security threats.
require_secure_connection
This security feature requires you to use SSL to access any part of the web
service. If https is required but not used, then a SOAP Fault with code
UDS_SECURE_CHANNEL_REQUIRED is returned. For more information
about how to configure SSL, see the J2EE Servlet Container
documentation.
Error Handling
Error Handling
If an error occurs with a Web Services method, a SOAP Fault is returned. The
SOAP Fault is the standard means of returning exception information for Web
Services.
The Fault message contains standardized <Message> and <Code> elements,
but the most informative is the <Detail> element. The <Detail> element
contains <ErrorCode> and <ErrorMessage> elements. The <ErrorCode>
element returns an enumerated error code specific to either the Unicenter
Service Desk or Unicenter Knowledge Tools product. The <ErrorMessage>
contains an English string describing the errors. The <ErrorMessage>
elements are more suitable for aiding the developer and more appropriate
messages should display to users.
For example, the following illustrates a SOAP Fault when a bad parameter is
supplied to Unicenter Service Desks getObjectValues() method:
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Error on fetch with attribute
list:persistent_id,first_name,last_nameParamErrorHere<faultstring>
<detail>
<ErrorCode>1001</ErrorCode>
<ErrorMessage> Error on fetch with attribute list:
persistent_id,first_name,last_nameParamErrorHere </ErrorMessage>
</detail>
</soap:Fault>
If you are using a client built with Microsoft .NET managed code, a failed Web
Services method call raises a "SOAPException" exception. All errors cancel the
operation invoked.
In some cases, errors may be written by the servlet container and therefore,
display in the servlet container logs. In other cases, error information may be
written to Unicenter Service Desk logs. These logs are located in the following
subdirectories:
Note: We recommend that you constantly monitor these logs, as the server
may log its own errors without reporting them to the Unicenter Service Desk
Web Services.
External Specifications 19
External Specifications 21
Process
Description
External Specifications 23
Process
Description
If this value is set to zero (0), a SID never times out. If this option is missing
or not set, the default is one hour. If a Web Service method is called with an
expired SID, a Fault is returned with an error code of UDS_SESSION_TIMEOUT
the first time it is referenced, and UDS_BAD_SESSION each time thereafter.
To keep a SID active, call any web service method before the time out is
reached. To keep the SID active without working the server, call
serverStatus().
External Specifications 25
Launch Unicenter Service Desk and select the Administration tab to view
the Administration menu.
2.
Select Web Services Policy, and then Policies, to access the Create New
Web Services Acess Policy window
3.
Each access policy contains a unique symbol and code. Enter field
information based on the following table descriptions:
Field
Description
Symbol
Code
Status
Proxy Contact
Field
Description
Default
Has Key
Allow Impersonate
Description
Ticket Creation
Object Creation
Object Updates
Attachments
External Specifications 27
Field
Description
Data Queries
Knowledge
createTicket()
createQuickTicket()
createRequest()
createChangeOrder()
createIssue()
Object Creation
logComment()
createAsset()
addAssetLog()
createAssetParentChildRelationship()
createObject()
createWorkFlowTask()
createActivityLog()
notifyContacts()
addBookmark()
addComment()
createFolder()
Object Updates
addMemberToGroup()
removeMemberFromGroup()
closeTicket()
createLrelRelationships()
removeLrelRelationships()
deleteWorkFlowTask()
updateObject()
transfer()
escalate()
attachChangeToRequest()
detachChangeFromRequest()
External Specifications 29
changeStatus()
clearNotification()
updateLrel()
deleteBookmark()
updateRating()
Attachments
createAttmnt()
createAttachment()
attachURLLink()
deleteAttmnt()
deleteComment()
removeAttachment()
Data Queries
impersonate()
serverStatus()
getBopsid()
getConfigurationMode()
getHandleForUserid()
getAccessTypeForContact()
getPermissionsGroup
getObjectTypeInformation()
getRelatedList()
getRelatedListValues()
getGroupMemberListValues()
getPendingChangeTasksForContact()
getPendingIssueTasksForContact()
getWorkFlowTemplates()
getWorkflowTemplateList()
getTasksListValues()
getNotificationsForContact()
getPolicyInfo()
getAssetExtensionInformation()
getLrelValues()
getObjectValues()
doSelect()
doQuery()
getPropertyInfoForCategory()
getValidTaskTransitions()
getListValues()
getListInfo()
findContact()
getAttmntInfo()
getAttmntList()
getBookmarks()
getCategory()
getComments()
getContact()
getDecisionTrees()
getDocument()
getDocumentTypes()
getFolderInfo()
getFolderList()
getLrelLength()
getPriorities()
getRepositoryInfo()
getStatuses()
getTemplateList()
Knowledge
createDocument()
deleteDocument()
doSelectKD()
faq()
attmntFolderLinkCount()
getAttmntListPerKD()
isAttmntLinkedKD()
getDocumentByIDs()
External Specifications 31
getKDListPerAttmnt()
getQuestionsAsked()
modifyDocument()
rateDocument()
search()
External Specifications 33
Problem Type
Description
Ticket Template
Default
Active
Internal
Symbol
Code
Description
Problem Type
Description
Duplicate Handling
Return Data
At least one ticket of the same type (cr, iss, or chg) already exists and is
ACTIVE.
The existing ticket was created with the same Policy and Problem Type as
the ticket being created.
The create date of the existing ticket is within a specified threshold (for
example, it was opened less than 2 days ago).
Note: The create date field is configured using the Maximum time interval
for searching duplicates.
The duplicate ID matches the one provided by users when invoking the
createTicket() method.
External Specifications 35
Results
Once a problem type is defined, Unicenter Service Desk Web Services uses
it to create a ticket. The proxy user defined in the access policy is used for
the ticket creation if the userid is empty, and asset information is added to
the ticket (if the input is not empty). Once the ticket is created
successfully, Unicenter Service Desk Web Services returns both user data
and application data, as specified by the problem type.
closeTicket (SID, Description, TicketHandle)
Users can call this function to close an open ticket. It simply sets the
status of an open ticket to close and adds the input description to the
activity log.
External Specifications 37
Objects
The Unicenter Service Desk system treats each entity, such as a contact or an
issue, as an object. These high-level objects are defined in majic (.maj) and
mod (.mod) files on the Service Desk server in the following directory:
/bopcfg/majic
Objects
An object has attributes, which are essentially columns in a database table (do
not confuse these with XML attributes). Web Services offers many methods to
retrieve values for attributes. Many methods require you to name attributes
for setting or retrieving values. You must use the attribute name assigned in
the majic or mod file that defines the object, which can be different than the
actual database name. For a list of all the attributes for each object, see the
Unicenter Service Desk Modification Guide. It is possible for client sites to add
additional attributes as a customization.
Web Services uniquely identifies an object by its handle, which is a string
value of the form objectType:ID, where objectType is the objects type
(factory) name, and ID is a unique value. The ID value matches that of the id
attribute found in every Unicenter Service Desk object. Because the id
attribute is almost always indexed in the DBMS, using the ID portion of the
object handle is especially valuable for forming efficient queries. Each object,
regardless of its type, stores this value in an object attribute named
persistent_id.
Note: In prior releases, the ID portion of the handle was always a string of
integers. In r11, the ID portion may also be the string representation of a
UUID, typically 32 characters.
The following table lists the object and factory names of the entities that use
UUIDs:
Object Name
Factory Name
Contact
cnt
Asset
nr
Organization
org
Location
loc
Company/Vendor
ca_cmpny
Model
mfrmod
Lock Errors
Lock Errors
Unicenter Service Desk objects are locked during updates. Methods that
update objects (such as, updateObject() or transfer()) may return the
following lock error code:
UDS_LOCK_ERR
This code indicates that another user is updating the record. Often the locking
users handle is returned in the ErrorMessage element.
Time Outs
A method may take a long time to process if the Unicenter Service Desk server
is heavily loaded. In rare cases, a method may never return because a
separate process failed to reply or some other error occurred. To guard against
excessive blocking, every Web Services method times out after a number of
seconds. Web Services method time-out is a Unicenter Service Desk server
time-out, not a Web server time-out, network time-out, and so on.
If a method times out, it returns the following error code:
UDS_TIMEOUT_ERR
The operation is not aborted! The server may have received the request and
will process it successfully, although slowly.
Note: The Web Services will delay a few seconds the first time it is accessed
after the J2EE application server is recycled. This happens because the
application is initializing, loading DLLs, libraries, and so on, and occurs only
with the first Web Services method call. All subsequent calls return much
faster.
Object Type
Definition
cr
Request
chg
Change Order
iss
Issue
cnt
Contact
nr
Asset
wf
iss_wf
Workflow (Issues)
prp
prptpl
cr_prp
Request Property
cr_prptpl
Design-time Feature
The Unicenter Service Desk Web Services includes a method stub
configuration feature for developers. When activated, the Web Services
ignores the Unicenter Service Desk server and returns simulated data for
method calls so Web Services calls can be made without running a Unicenter
Service Desk server.
To activate this feature in the Java version, edit deploy.wsdd to uncomment
the sections for design_mode_stubs. You must reverse the deployment and
redeploy the server, and recycle the application server.
Note: The Design-time feature applies to Unicenter Service Desk Web
Services methods only.
XML Element
Type
Description
<UDSObject>
N/A
<Handle>
String
<Attributes>
Sequence
<attrName0 DataType =
typeEnum">
String
<List name="mylist1">
<UDSObject>...</UDSObject>
<UDSObject>...</UDSObject>
</List>
</Lists>
</UDSObject>
Note: The type attribute is only used when Unicenter Service Desk is
configured for ITIL, so it can be ignored if ITIL is not being used.
The 182 is the ID portion of the handle representing Incident types (for more
information, see the crt (Call_Req_Type) objects table illustrated in Out-ofthe-Box Handles. For more information about forming proper queries, see
Where Clauses.
Configuration Items
The ITIL methodology uses the term Configuration Item to refer to software,
hardware, and other IT resources. The out-of-the-box Unicenter Service Desk
Web Services uses the term Asset. These terms both refer to the nr object
stored in the ca owned resource database table. All methods described in this
guide that use asset objects, specifically those described in the Web Services
Asset Management Methods and Web Services Business Methods sections,
work in the same manner for Configuration Items. It is merely a difference in
terminology.
The sample code is written in Java using Apache Axis for SOAP messaging.
Logins
Before any Web Services method can be used, a SID (session ID) must be
obtained from one of these methods: login(), loginService(), and
loginServiceManaged(). The first two methods require a username and
password that are validated exactly the same as the Unicenter Service Desk
Web client; the contacts Access Type specifies the validation method. The
third method requires a public/private key pair, where login request encrypted
with the private key can only be decrypted through the public key, and vice
versa. For more information about access authentication, see External
Specifications.
Out-of-the-Box Handles
Some data shipped out-of-the box is used frequently. Instead of looking up
handles for these objects, some of the commonly used ones are listed in the
following tables.
Note: While the handles do not change, the legible symbols may be edited.
Contact Type (Object name: ctp)
Handle
Note
ctp:2307
ctp:2310
ctp:2305
ctp:2308
Handle
Note
imp:1605
Impact None
imp:1600
Low impact 5
imp:1601
Medium-low impact 4
imp:1602
Medium impact 3
Handle
Note
imp 1603
Medium-high impact 2
imp:1604
High impact 1
Handle
Note
pri:505
pri:500
Low priority 5
pri:501
Medium-low priority 4
pri:502
Medium priority 3
pri:503
Medium-high priority 2
pri:504
High priority 1
Handle
Note
sev:800
Low severity 1
sev:801
Medium-low severity 2
sev:802
Medium severity 3
sev:803
Medium-high severity 4`
sev:804
High severity 5
Handle
Note
crt:180
Request
crt:181
crt:182
where
<assigneeID> is the id portion of a contact handle, value, such as
555A043EDDB36D4F97524F2496B35E75.
This where clause works for requests, change orders and issues because they
all have the assignee and active attributes, and they mean the same thing
for all three object types. The active = 1 portion of the where clause restricts
the search to active requests. For more information on the active flags, see
the next section.
To set an object to active or inactive, you need to pass the handle of the
Boolean object representing either true or false. These handles do not change,
so you can safely hard-code them. These are listed as follows:
Active_Boolean_Table
Boolean_Table
actbool:4551 = Active
bool:200 = False
actbool:4552 = Inactive
bool:201 = True
For example, to get the number of Activity Logs for a certain request, pass the
following to getObjectValues():
act_log_all.length
Note: This is the only way you can use list names in these types of methods.
Error Codes
The following table lists the possible values for the <ErrorCode> value in a
SOAP Fault returned from a Web Services call:
Error Name
Value
Description
UDS_OK
Successful.
UDS_FAILURE
General failure,
check system logs.
UDS_BAD_PARAM
1000
UDS_INTERNAL_ERR
1001
Signals that an
internal error
occurred. A
description is found
in the return array
and the system logs.
Error Name
Value
Description
UDS_LOCK_ERR
1002
An attempt was
made to update an
object locked by
another user or
process. Usually the
ID of the contact
responsible for
locking the object is
returned in the
return data.
UDS_UPDATE_ERR
1003
An error occurred
updating an object.
Make sure all
required attributes
were set and check
the system log.
UDS_CREATION_ERR
1004
An error occurred
creating a new
object. Make sure all
required attributes
were set and check
the system logs.
UDS_NOT_FOUND
1005
A search method
failed to find any
matches or failed to
find an object
specified. This can
happen if a bad or
invalid handle is
passed to any
method.
UDS_SESSION_TIMEOUT
1006
UDS_SERVER_GONE
1007
Error Name
Value
Description
UDS_FETCH_ERR
1008
An error occurred
while retrieving list
data.
UDS_BAD_SESSION
1010
UDS_CNTXT_TIMEOUT
1011
UDS_SECURE_
CHANNEL_REQUIRED
1012
UDS_SECURITY_
VIOLATION
1013
The attempted
operation violates
Service Desk security
and was aborted.
UDS_OVER_POLICY_
LIMIT
3002
The attempted
request is refused
because it exceeds
the limit defined in
the policy.
Data Type
Value
Integer
2001
String
2002
Duration
2003
Date
2004
SREL
2005
UNKNOWN
2006
List (QREL/BREL)
2007
Lrel (many-to-many)
2008
UUID
2009
Integer
The Integer data type represents a 32-bit signed integer. Null an integer
attribute by passing the empty string.
Common Elements 55
String
The String data type represents a character string, where the the maximum
length is defined by the database storage allocated for a particular string
attribute. For more information about character strings, see "Parsing Tools" in
the Unicenter Service Desk Modification Guide.
If you attempt to set a string attribute to a value that exceeds its length, the
value is truncated and an error message is written to the Service Desk log.
Duration
The Duration data type is an integer representing time duration in seconds.
For example, 90 represents one minute and 30 seconds. To set a duration
type, use an integer representing the number of seconds for the duration.
Negative values are not permitted. To make a duration attribute null, pass the
empty string.
Date
The Date data type represents a date value. This is stored as a UNIX-like UTC
value in the database (the number of seconds since 1-1-1970). When
retrieving date values, the integer UTC is returned. Similarly, use a UTC value
to set a date. Negative values are not permitted. Null a date attribute by
passing the empty string.
SREL
The SREL data type represents an SREL (Single RELation), which is a pointer
to another object. In database terms, it is a foreign key to another table. For
example, an Issue object has a pointer attribute to a Contact representing the
Assignee.
Most Service Desk Web Services methods permit dot-notation to retrieve
information about objects to which an SREL points. For example, to specify the
name of a Contacts organization from the context of the Contact, use the
following:
organization.name
List (QREL/BREL)
An object can have a list attribute that represents a one-to-many relationship.
These are defined in majic files with the QREL or BREL keywords. A list exists
at the object levelit does not take any additional storage in the DBMS.
The Service Desk system handles list collections as abstract data types. The
Web Services provides several methods to interact with listsfor references
and queries to lists defined in an object, use getRelatedList() and
getRelatedListValues(). For more information about lists, see Service Desk
Lists in this chapter.
LREL
The LREL data type represents a many-to-many relationship between two
object types. An LREL has two names, one for each side of the relationship.
The Unicenter Service Desk Web Services provides special functions for
interacting with LRELs. For more information about LRELs, see LREL Methods.
Common Elements 57
UNKNOWN
The Unknown data type represents an unknown data type.
UUID
A UUID is a 128-bit integer (16 bytes) or a 32-byte character that can be used
across all computers and networks wherever a unique identifier is required.
Such an identifier has a very low probability of being duplicated (for example,
a contact ID). UUIDs are used mostly with primary keys.
Lists
Lists
Some Web Services methods return lists, represented by a unique integer
handle. A list is simply a collection of same-type objects. Lists are especially
useful when dealing with a large collection of objects (for example, all the
contacts in the system) because you can retrieve information about items in a
range of the list. The disadvantage is that you must make more method calls
to obtain a list handle, retrieve information, and finally, free the list handle. If
the expected number of list rows is small, use methods that do not involve list
handles, such as doSelect().
The following describes more details about lists:
Lists are homogenous
List may only contain objects of a single type, for example, lists of
contacts, list of organizations, and so on.
Lists are Static
For example, if a list object is obtained for all contacts and another contact
is added to the system, the update is not reflected in the list. Another list
handle must be obtained to get the most current data.
List Handles
A request for a list returns an integer handle representing the list of sametype objects. No other information is sent to the client. The client may
query the list for specific information about its rows. When a client is
finished with a list, the handle must be released with freeListHandles().
The Unicenter Service Desk server maintains the list, consuming system
resources. Therefore, it is important to free lists. Unlike object handles, list
handles are not persistent across sessions.
Integer Index
Several methods require an integer index into a list. Lists are zero-based
so the first element is at index = 0.
As previously mentioned, using list handles is most useful for larger sets of
data that may be queried multiple times. For some operations, however, lists
are excessive. Several methods are provided, but the most notable is
doSelect(), as it returns requested information about a set of data without the
overhead of list handles.
Common Elements 59
Lists
The decision to use list handles versus methods, such as doSelect(), is one of
performance and convenience. For example, suppose your application does
processing on all 15,000 Contacts in your system. The doSelect() method can
retrieve all the contact data in one call, but the reply will be delayed and will
negatively impact overall system performance while it assembles and returns a
very large data set. The doQuery() method, in this case, will return a list
reference very quickly. Ranges of data can be queried from the list to improve
response times from the server. A good practice to follow is to use list
references if the data set exceeds 250 items.
Sometimes it does not make sense to use list handles. For example, an issue
has a list of Activity Logs. Depending on the installation, the number of logs
can range from a few to several dozen. It is probably faster to request the
data all at once instead of requesting a list reference, querying it for data, and
then releasing the list.
Examples of methods that return data sets instead of list references include
the following:
doSelect()
getRelatedListValues()
getLrelValues()
getTaskListValues()
getValidTaskTransitions()
As previously stated, queries that return a large number of rows can severely
impact the performance of the server. To protect against this, Unicenter
Service Desk limits the number of rows returned to 250. This affects all
Unicenter Service Desk Web Services methods that return lists of objects,
including the following:
doSelect()
doSelectKD()
getGroupMemberListValues()
getListValues()
getPropertyInfoForCategory()
getRelatedListValues()
getTaskListValues()
getValidTaskTransitions()
This limit applies even if you request one of these methods to retrieve more
than 250 rows.
Lists
To retrieve large numbers of rows, you should obtain a handle to the list of
results and use getListValues() to retrieve chunks of 250 or fewer rows each.
This strategy helps keep the server from becoming slow while serving huge
amounts of data.
Common Elements 61
Where Clauses
Where Clauses
Several Web Services methods, such as doSelect() and doQuery(), require
where clauses for searching. A where clause is the string appearing after the
WHERE keyword in an SQL statement. For example, a where clause to find
contacts (the cnt object) by last name could be the following:
last_name = Jones
or
last_name LIKE Jone%
The second example finds all contacts with names beginning with Jone, while
the first just finds the Jones.
Unicenter Service Desk supports only a subset of the standard SQL parameters
for where clauses, and are listed as follows:
LIKE and IS
NULL
Parentheses are allowed for grouping. Explicit joins, EXISTS, and GROUP BY
elements are not supported.
The column names are simply the objects attribute names. You must use the
names defined for the attributes at the object leveldo not use the actual
DBMS column names (for more information about mapping of object-level
names to DBMS column names, see the appendixes Data Element
Dictionary, Objects and Attributes, and Table and Object Cross-References
in the Unicenter Service Desk Modification Guide). String values must be
quoted as in the previous example. Unicenter Service Desk data types, such as
date and duration, are treated as integers, as shown in the following example:
creation_date > 38473489389
Where Clauses
Common Elements 63
Where Clauses
IN Clause
The IN clause requires some special explanation. The two syntactic forms are:
SREL_attr_name.subq_WHERE_attr[.attr] IN ( value1 [, value2 [,]] )
SREL_attr_name.[subq_SELECT_attr]LIST_name.subq_WHERE_attr IN (value1, [,value2
[,]] )
The left side of the clause must begin with an SREL-type attribute of the table
being queried, which is represented by SREL_attr_name. subq_WHERE_attr is
an attribute of the foreign object, which itself may be another SREL pointer.
For example, a query against the request (cr) object may be coded as
follows:
category.sym IN (Soft%, Email)
In the previous sub query , pcat is the object name pointed to by cr.category.
The second form of the IN clause can search through QREL or BREL lists. For
example, to find all requests assigned to an analyst in a specific group, the
clause is as follows:
assignee.[member]group_list.group IN (U913B485771E1B347968E530276916387)
The first part of the clause, assignee, is an SREL (foreign key) of the cr object,
pointing to the cnt object. Next, group_list, which is an attribute of the cnt
object, is a list of cnt objects that represent groups to which a contact
belongs. The last part, group, forms the first part of the where clause for the
IN sub query. U913B485771E1B347968E530276916387is the foreign key
value to match on group. The sub query return is specified by [member]. This
translates to the following pseudo-SQL statement:
SELECT FROM cr WHERE cr.assignee IN (SELECT member from grpmem WHERE group =
U913B485771E1B347968E530276916387)
You can specify multiple foreign keys for matching multiple objects by
providing a comma-separated list:
assignee.[member]group_list.group IN (U913B485771E1B347968E530276916387,
U913B485771E1B347968E530276916300)
You cannot extend the dot notation for this use of the IN clause, for example,
the following is not valid:
assignee.[member]group_list.group.last_name IN (Account Center)
Where Clauses
One use of IN is to avoid Cartesian products. For example, the following query
results in a Cartesian product and is very inefficient:
assignee.last_name LIKE MIS% OR group.last_name LIKE MIS%
This query does not create a Cartesian product; in fact, it creates no joins at
all.
Note: The parentheses that normally enclose the list of values on the right
side of IN can be omitted if there is only one value in the list. Similarly, you
should avoid joins by converting queries, as shown by the following example:
assignee.last_name LIKE Smith
to:
assignee = U913B485771E1B347968E530276916387
This avoids the join with some loss in clarity. Using IN, the same partition can
be written as follows, with the clarity of the first version and almost the same
efficiency as the second version:
assignee.last_name IN Smith
The NOT keyword cannot be in conjunction with IN, for example, NOT IN.
Common Elements 65
login
The following parameters apply to the login method:
Parameter
Type
Description
username
String
password
String
Identifies the
password.
Description
Login validates a user with Service Desk login validation and returns a unique
session ID that is required for most other web method calls. This key should
be freed with logout(). A SID may expire if it is not used before a time out
elapses.
The username/password is validated exactly the same as the Service Desk
Web client; the contacts Access Type specifies the validation method. The
default access policy will be applied to control and manage all subsequent
accesses after a successful call of this function. The login user (not proxy
contact specified in the default policy) is then responsible for subsequent web
service activities. All function group security and data partition are enforced
for the login user.
Returns
The following is returned:
Parameter
Type
Description
<SID>
Integer
loginService
The following parameters apply to the loginService method:
Parameter
Type
Description
username
String
password
String
Identifies the
password.
policy
String
(Required) Identifies
the policy code, which
must be in plain text.
Although it is required,
it may be empty.
Description
Lets users log in with a conventional username/password authentication
scheme where if valid, the system returns a unique session ID. This key
should be freed with logout(). A SID may expire if it is not used before a
timeout elapses.
User authentication is performed on the username and password while access
control is applied based on the policy specified. The authentication is
performed as described in login(). Empty policy will allow default policy to be
applied automatically. The login user (not the proxy contact specified in the
policy) is responsible for subsequent web service activities. All function group
security and data partitions are enforced for the login user.
Returns
The following is returned:
Parameter
Type
Description
SID
Integer
loginServiceManaged
The following parameters apply to the loginServiceManaged method:
Parameter
Type
Description
policy
String
(Required) Identifies
the policy, which must
be must be in plain
text.
encrypted_policy
String
(Required) Identifies
the digital signature of
the policy code,
encrypted with the
policyholders private
key. It is in BASE64
text format.
Description
Performs the user authentication by locating the policy through the plain text
policy code, finding the policyholders public key associated with the policy,
decrypting the encrypted policy code, matching decrypted content with the
policy code, and finally, opening a session with a back-end server. The
returned session ID (SID) can be used for subsequent web services method
invocations. Proxy contact specified in the policy is responsible for all
subsequent web service activities initiated. All function group security and data
partition are enforced for the proxy contact defined in the policy.
It is also important to note that the encrypted_policy parameter is in the
BASE64 text format, and it is necessary to perform proper conversion from the
binary format. The SID should be freed with logout(). A SID may expire if it is
not used before a timeout elapses.
Returns
The following is returned:
Parameter
Type
Description
SID
String
impersonate
The following parameters apply to the impersonate method:
Parameter
Type
Description
SID
Integer
username
String
(Required) Identifies
the user name of the
user being
impersonated.
Description
Lets an administrator switch the user responsible for all web services activities
in a current web services session without additional user authentication.
Invoking this method is allowed only if the current web services session is
started by using the PKI access authentication scheme and the access policy is
defined to allow impersonation.
The Access Type of the user to be impersonated is checked against the Access
Type of the proxy user of the policy used in the current web services session.
If the access_level of the new users access type is less than or equal to the
grant_level of the proxy users access type, this method will replace the
current user with the new user. A new web services session starts while the
old session ends. A new SID is then returned. In addition, the new user is
given the responsibility for all subsequent activities initiated in this new
session. The function group security and data partition are enforced for the
new user.
Returns
The following is returned:
Parameter
Type
Description
SID
Integer
logout
The following parameter applies to the logout method:
Parameter
Type
Description
SID
Integer
Description
Invalidates a SID obtained from login(), loginService(), and
loginServiceManaged().
Returns
Nothing.
getHandleForUserid
The following parameters apply to the getHandleForUserid method:
Parameter
Type
Description
SID
Integer
userID
String
Description
Returns the persistent handle for a Contact represented by userID.
Returns
The following is returned:
Parameter
Type
Description
<Handle>
String
getAccessTypeForContact
The following parameters apply to the getAccessTypeForContact method:
Parameter
Type
Description
SID
Integer
ContactHandle
String
Description
Returns a handle for the Access Type for a Contact.
Every Contact is assigned an Access Type object, which defines a Contacts
permissions and security. Note the access_type field on a Contact is not
required. To accommodate this, a single Access Type is marked as the default
for Contacts who do not have an object specifically assigned.
This method returns the Access Type directly assigned to a Contact (that is,
the information to which the access_type field points in the Contact record) or
it returns the default. Typical value methods, such as getObjectValues() or
getListValues(), may not return the correct Access type; therefore, these are
not the accurate methods for retrieving the Contacts Access.
Returns
A string handle for an Access Type object.
getContact
The following parameter applies to the getContact method:
Parameter
Type
Description
SID
String
Identifies the
session retrieved
from logging in.
contactId
String
Description
Retrieves information on all contacts.
Returns
A <UDSObject> node with a <UDSObject> node describing a contact with
some of the following child <Attributes> nodes:
Type
Description
contactid
String
Specifies a unique ID
of the contact.
contactId is UUID in
string format.
userid
String
last_name
String
first_name
String
middle_name
String
location
String
dept
String
Identifies the
department of the
contact.
organization
String
Identifies the
organization of the
contact.
email_address
String
pemail_address
String
Signifies the
alternate email
address of the
contact.
phone_number
String
Type
Description
alt_phone
String
Indicates the
alternate phone
number of the
contact.
address1
String
address2
String
Specifies the
alternate address of
the contact.
city
String
state
String
zip
String
country
String
delete_flag
Integer
Indicates whether
the contact is active:
0=Active
1=Inactive
createTicket
The following parameters apply to the createTicket method:
Parameter
Type
Description
SID
Integer
Description
String
(Optional) Identifies
the description of the
ticket.
Parameter
Type
Description
problem_type
String
Userid
String
(Optional) Specifies
the user ID of the
end user for the new
ticket. If this is blank
or the supplied user
ID is not found, the
proxy contact
defined in the access
policy is used and
the ticket is still
created.
Asset
String
(Optional) Identifies
the handle of an
asset to be attached
to the ticket.
Parameter
Type
Description
DuplicationID
String
(Optional) Allows
callers to assist the
duplication handling
routines used for
classifying tickets as
being unique or
different. If duplicate
handling is on, this
string is inspected
after other duplicate
handling criteria
match to determine
whether this is a
unique or duplicate
call to this method.
For more information
about Duplicate
Ticket Handling, see
Duplicate Ticket
Handling.
Description
Creates a ticket based on the rules defined in both the Service Aware Policy
and the specified Problem Type. The Problem Type specifies the type of ticket
created by a Request/Change/Issue template. The supplied description is
copied in and the user is set from the access policys proxy contact.
If input problem_type does not exist, the policys default problem type is used.
The problem type also defines how to handle duplicate ticket creation, and
additional returned data. For detailed information about configuring access
policy and problem types, see the chapter External Specifications.
Returns
Returns the new tickets handle, ticket number, and the user-specified return
data defined in the problem type that is used to create the ticket.
XML Element
Type
Description
<UDSObject>
N/A
createRequest()
createChange()
createIssue()
String
NewTicketNumber
String
XML Element
Type
Description
ReturnAppCode
String
ReturnUserCode
String
findContacts
The following parameters apply to the findContacts method:
Parameter
Type
Description
SID
Integer
userName
String
lastName
String
Parameter
Type
Description
firstName
String
String
accessType
String
inactiveFlag
Integer
0 for active
1 for inactive
Description
Retrieves the list of contacts.
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
contacts with the following <Attributes> child nodes:
Type
Description
id
UUID
userid
String
last_name
String
first_name
String
access_type
Integer
delete_flag
Integer
0 for active
1 for inactive
getPermissionGroups
The following parameters apply to the getPermissionGroups method:
Parameter
Type
Description
SID
Integer
Identifies the
session retrieved
from logging in.
groupId
Integer
Description
Retrieves the list of Permission Groups.
Returns
A <UDSObject> node with zero or more <UDSObject> nodes describing
Permission Group with the following <Attributes> child nodes:
Type
Description
id
Integer
GRP_LIST_KEY
String
GRP_LIST
String
Displays a field
containing the entire
group list.
addMemberToGroup
The following parameters apply to the addMemberToGroup method:
Parameter
Type
Description
SID
Integer
ContactHandle
String
GroupHandle
String
Description
Adds a contact to a group. Nothing happens if the contact is already a
member.
Returns
Nothing.
removeMemberFromGroup
The following parameters apply to the remove MemberFromGroup method:
Parameter
Type
Description
SID
Integer
ContactHandle
String
GroupHandle
String
Description
Removes a contact from a group. Nothing happens if the contact is not a
member.
Returns
Nothing.
getGroupMemberListValues
The following parameters apply to the getGroupMemberListValues method:
Parameter
Type
Description
SID
Integer
whereClause
String
numToFetch
Integer
Determines the
maximum number of
records to return. This
cannot be zero (0). Use
1 to return all.
attributes
String[]
Description
Functions similarly to getListValues(), except that it queries the systems
group and member relationships. The system uses a special Group Member
(grpmem) object for each group/member relationship. The Unicenter Service
Desk system administers grpmem objects behind the scenes (you do not
manipulate them directly), and they are essential for certain queries.
The grpmem object simply contains two pointers, one to a Contact and the
other to a Group, which in itself is a Contact object. The attribute names are
member and group, respectively. Because these are pointers, you must use
dot-notation to form a query as normal. For example, to find all Contacts with
a last name beginning with B and in a group with the name, Seattle, you
would use the following:
member.last_name LIKE B% AND group.last_name = Seattle
It is important to note that this method can retrieve values from all members
and groups, not just a single group. To simply get information about all the
members of a specific group or member, just specify a handle in the where
clause. For example, the following would retrieve values from a specific group:
group.id = U555A043EDDB36D4F97524F2496B35E75
grpmem object contains two pointer attributes, one is to member and the
other is to group
The grpmem method actually queries the grpmem object table, thereby
returning an object representing a relationship between two contacts.
Therefore, the attribute values you want to fetch in attributes must use dotnotation from the grpmem object. To fetch values from the member, all your
attribute names should be of the form, member.ATTRNAME, as illustrated by
the following example:
member.last_name
Returns
Automatically returns no handles. The <Handle> element in the return is
always empty. To request the member or group handle for each row, use one
of the following in the attributes parameter described in the table.
member.persistent_id
group.persistent_id
XML Element
Type
Description
<UDSObjectList>
N/A
Business Methods
Business Methods
This section describes the Web Services Business methods.
createIssue
The following parameters apply to the createIssue method:
Parameter
Type
Description
SID
Integer
creatorHandle
String
attrVals
String[]
propertyValues
String[]
(Optional) Identifies
the array of values for
any properties that
are attached to the
new issue.
template
String
(Optional) Identifies
the handle of an issue
template (iss_tpl
object) from which to
create the new issue.
Business Methods
Parameter
Type
Description
attributes
String[]
Identifies the
sequence of attribute
names from the new
object for which to
return values. Dotnotation is permitted.
If this field is empty,
all attribute values
are returned.
Description
Creates a Service Desk Issue (iss) object. For more information about creating
an Issue object with properties, see createRequest().
Note: You must use this function to create a new Issue; do not use
createObject().
Returns
Returns the new objects handle, along with all of its attribute values. List and
LREL types are also returned, but as empty elements. For more information
about the return format, see the XML Object Returns.
XML Element
Type
Description
<UDSObject>
N/A
<NewIssueHandle>
String
<NewIssueNumber>
String
Business Methods
createQuickTicket
The following parameters apply to the createQuickTicket method:
Parameter
Type
Description
SID
Integer
customerHandle
String
Identifies the
customer handle
used to create the
ticket.
description
String
(Optional) Identifies
the description of the
ticket.
Business Methods
Description
Creates a ticket based on the preferred document type of the user represented
by customerHandle. Every contact's access rights are determined by an Access
Type record, which also sets the contact's preferred document type (Request,
Incident, Problem, Issue or Change Order). If a contact's document type is
Issue, this method will create an Issue; if the document type is Request, a
Request is created, and so on. The contact represented by customerHandle is
used to set the end user/customer field of the new ticket. The ticket's
description is set to the input description value.
Returns
Returns the new tickets handle, ticket number, and a brief representation of
the new ticket in <UDSObject> format.
XML Element
Type
Description
<UDSObject>
N/A
createRequest()
createChange()
createIssue()
NewTicketHandle
String
NewTicketNumber
String
Business Methods
closeTicket
The following parameters apply to the closeTicket method:
Parameter
Type
Description
SID
Integer
description
String
(Optional) Identifies
the description of the
ticket, which can be
used in the Close
activity log.
ticketHandle
String
Description
Sets the status of the ticket to Closed and adds an activity log with the input
description.
Returns
The handle to the activity log object created. It provides the same return as
the changeStatus() method.
XML Element
Type
Description
<LogHandle>
String
Business Methods
createRequest
The following parameters apply to the createRequest method:
Parameter
Type
Description
SID
Integer
creatorHandle
String
attrVals
String[]
Identifies an array of
name-value pairs that
is used to set the
initial attribute values
for the new request.
template
String
(Optional) Identifies
the handle of the
request template
(cr_tpl) from which to
create the new
request.
propertyValues
String[]
(Optional) Identifies
the array of values for
any properties that are
attached to the new
request.
attributes
String[]
Business Methods
Description
Creates a Service Desk Request (cr) object. You must use this function to
create a new Request; do not use createObject().
propertyValues is a list of values for each Property object that will be attached
to the new Request. The Properties that are attached are determined by the
new Requests category attribute value. All properties created from the
Service Desk Web Services interface will have a default value (for more
information, see Categories and Properties), which is important because a
Request will not save until all of its Properties marked required have a value.
You may override the default by supplying values for any properties that will
be attached when the Request is created. You must supply this information
before the Request is created, since createRequest() attempts to back-store
the object you most recently create. Use getPropertyInfoForCategory() to get
a list of properties for a specific Category. This function returns the properties
in order of their sequence attribute, which is the expected order of the
propertyValues array. For example, if the sequences and symbols of the
properties are as follows:
100 Hard Drive Size
200 CPU
300 Memory
2.
3.
Create a value array for each of the properties returned. This is identified
by the propertyValues parameter for the create operation.
4.
Business Methods
XML Element
Type
Description
<UDSObject>
N/A
Identifies the
standard UDSObject
element containing
the handle and
requested attribute
values.
<NewRequestHandle>
String
<NewRequestNumber>
String
Business Methods
createChangeOrder
The following parameters apply to the createChangeOrder method:
Parameter
Type
Description
SID
Integer
CreatorHandle
String
attrVals
String[]
Identifies an array of
name-value pairs
that is used to set
the initial attribute
values for the change
order.
template
String
(Optional) Identifies
the handle of the
change template
(chg_tpl object) from
which to create the
new issue.
Business Methods
Parameter
Type
Description
propertyValues
String[]
(Optional) Identifies
the array of values
for any properties
that are attached to
the new change
order.
attributes
String[]
Specifies the
sequence of attribute
names from the new
object for which to
return values.
Dot-notation is
permitted. If this
field is empty, all
value-based attribute
values are returned.
Description
Creates a Service Desk Change Order (chg) object. You must use this function
to create a new change order; do not use createObject(). For more
information about creating a Change Order object with properties, see
createRequest().
Returns
The new objects handle, along with all of its attribute values. List and LREL
types are also returned, but as empty elements. For more information about
the return format, see XML Object Returns.
XML Element
Type
Description
<UDSObject>
N/A
<NewChangeHandle>
String
<NewChangeNumber>
String
Business Methods
getPropertyInfoForCategory
The following parameters apply to the getPropertyInfoForCategory method:
Parameter
Type
Description
SID
Integer
categoryHandle
String
Identifies a category
handle.
attributes
String[]
Description
Information about Properties for the specified category. This method is used to
help pre-populate Request/Issue/Change Order properties on insert operations
with user-defined data.
Depending on the category, this method queries either the prptpl or the
cr_prptpl object types. Both types are nearly identical. The suggested
attributes to fetch are sequence, label, description and required.
Returns
A <UDSObject> element containing a sequence of <UDSObject> elements, in
the order of the sequence attribute.
Business Methods
transfer
The following parameters apply to the transfer method:
Parameter
Type
Description
SID
Integer
creator
String
objectHandle
String
description
String
Identifies the
description for the
activity, which will
appear in the activity
log.
setAssignee
Boolean
newAssigneeHandle
String
setGroup
Boolean
newGroupHandle
String
Business Methods
Parameter
Type
Description
setOrganization
Boolean
Update the
organization, if the
value is true.
newOrgnizationHandle
String
Description
Performs a transfer activity on an Issue, Request or Change Order. This
method corresponds to the ActivitiesTransfer command in the Service Desk
interface. This method generates an activity log and optionally sets a new
assignee, group, or organization.
The assignee, group or organization is not updated unless one or more of the
corresponding setAssignee/setGroup/setOrganization parameters is set to
true.
If the companion parameter is false, then transfer will not attempt to update
the field, even if a value is passed for that field. For example, if setAssignee is
passed as false, transfer will not update the assignee even if newAssignee
specifies a value. If the setXXXX parameter is true, then the field is updated.
Pass the empty string to set a field to empty/null.
Returns
One or more handles to the activity log objects created. The returns are under
a parent element named <Logs>.
XML Element
Type
Description
<LogHandle>
String
Business Methods
escalate
The following parameters apply to the escalate method:
Parameter
Type
Description
SID
Integer
creator
String
objectHandle
String
description
String
Identifies the
description for the
activity, which will
appear in the activity
log.
setAssignee
Boolean
newAssigneeHandle
String
setGroup
Boolean
newGroupHandle
String
setOrganization
Boolean
newOrgnizationHandle
String
Business Methods
Parameter
Type
Description
setPriorityHandle
Boolean
newPriority
String
Description
Performs an escalate activity on an Issue, Request or Change Order. This
method generates an activity log and optionally sets a new assignee, group,
priority and/or organization.
It corresponds to the ActivitiesEscalate command in the Service Desk
interface.
The assignee, group, or organization is not updated unless one or more of the
corresponding setAssignee/setGroup/setOrganization parameters is set to
true. If the companion parameter is false, then escalate will not attempt to
update the field, even if a value is passed for that field. For example, if
setAssignee is passed as false, escalate will not update the assignee even if
newAssignee specifies a value. If the setXXXX parameter is true, then the field
is updated. Pass the empty string to set a field to empty/null.
Note: Organization is not used for Requests.
Returns
One or more handles to the activity log objects created.
XML Element
Type
Description
<LogHandle>
String
Business Methods
changeStatus
The following parameters apply to the changeStatus method:
Parameter
Type
Description
SID
Integer
creator
String
objectHandle
String
description
String
Identifies the
description for the
activity, which will
appear in the activity
log.
setStatus
String
(Optional) Identifies
the handle of the
new status for the
object
newStatusHandle
String
Business Methods
Description
Performs a status change activity on an issue, request, or change order. This
method generates an activity log and optionally sets the status value. It
corresponds to the ActivitesUpdate Status command in the Service Desk
interface.
Returns
The handle to the activity log object created.
XML Element
Type
Description
<LogHandle>
String
createActivityLog
The following parameters apply to the createActivityLog method:
Parameter
Type
Description
SID
Integer
creator
String
objectHandle
String
description
String
Identifies the
description for the
activity, which will
appear in the activity
log.
Business Methods
Parameter
Type
Description
LogType
String
TimeSpent
Integer
Internal
Boolean
Business Methods
Description
Creates an activity log for a specified request, issue or change order. This
method corresponds to, Activities Log Comment/Research/Callback on a
Change/Request/Issue detail in the Service Desk interface. LogType is the
code attribute for the activity type of the new log. The most common codes
are as follows:
CB (Callback)
RS (Research)
For more information about all possible values, see the Act_Type (aty) table in
the appendix Data Element Dictionary of the Unicenter Service Desk
Modification Guide. The Service Desk Administrative Client also shows the code
values. To access the code values, select from the Main Menu Administration,
then select Notification, Activity Notifications.
Returns
The handle to the activity log object created.
XML Element
Type
Description
<LogHandle>
String
attachChangeToRequest
The following parameters apply to the attachChangeToRequest method:
Parameter
Type
Description
SID
Integer
creator
String
requestHandle
String
Business Methods
Parameter
Type
Description
changeHandle
String
changeAttrVals
String[]
Identifies the
attribute-value pairs
used to initialize a
new change order if
the changeHandle is
blank. For more
information, see the
following Description.
description
String
(Optional) Identifies
the description of the
activity.
Business Methods
Description
Attaches a new or existing change order to a request. It corresponds with
ActivitiesNew Change Request or ActivitiesAttach to Existing Request
on a Request detail in the Service Desk interface.
To create a new change order, pass the empty string in changeHandle. The
system will create a new change order with values initialized from the request,
including the changes Requestor, Affected End User, Description, and Priority
(you can see this effect in the Service Desk interface). You can override these
or set additional values with changeAttrVals, which is a name-value array
similar to what is passed for createObject().
To attach an existing change order, specify a handle in the changeHandle
parameter. In this case, changeAttrVals is ignored.
If a new change order is created, description is used on the new change
orders activity log. If an existing change is attached, description is used on
the requests activity log.
If the request already has an attached change order, the following error is
returned:
UDS_CREATION_ERROR
Note: This method works exactly the same for the ITIL methodologysimply
verify that you are passing the appropriate handle of an ITIL Incident or
Problem to the method.
Returns
The following is returned:
XML Element
Type
Description
<changeHandle>
String
Business Methods
detachChangeFromRequest
The following parameters apply to the detachChangeFromRequest method:
Parameter
Type
Description
SID
Integer
creator
String
requestHandle
String
Description
String
(Optional) Identifies
the description of the
activity.
Description
Detaches a change order from a request. This method corresponds with
ActivitiesDetach Change Order on the Service Desk client. The change
order is not deleted from the system.
There is no effect if the request did not have an attached change.
Returns
The handle of the requests activity log marking the event.
logComment
The following parameters apply to the logComment method:
Parameter
Type
Description
SID
Integer
ticketHandle
String
Business Methods
Parameter
Type
Description
Comment
String
Identifies the
comment text.
internal_flag
String
Description
Attaches a Log Comment activity log to a ticket. It is a simplified version of
createActivityLog().
Returns
Nothing.
notifyContacts
The following parameters apply to the notifyContacts method:
Parameter
Type
Description
SID
Integer
creator
String
Business Methods
Parameter
Type
Description
contextObject
String
It is the context
for the
notification. Any
other object type
is rejected.
An activity log is
added to the
object to record
the notification.
messageTitle
String
messageBody
String
notifyLevel
Integer
Indicates the
notification level.
Specify an integer
from 1 (Low) to 4
(Emergency).
notifyees
String[]
Internal
Boolean
Indicates internal-only
notification. Set to
True to flag for an
internal-only
notification, which
guarantees that the
message is sent only
to those who can view
internal logs, and the
resulting activity log is
flagged as internal.
Business Methods
Description
Sends a notification to one or more contacts. This is equivalent to the Manual
Notify activity on requests, issues, and change orders.
Returns
The following is returned:
XML Element
Type
Description
<LogHandle>
String
clearNotification
The following parameters apply to the clearNotification method:
Parameter
Type
Description
SID
Integer
lrObject
String
clearBy
String
Description
Clears a notification message.
Returns
The new status of the notification message.
Business Methods
getPolicyInfo
The following parameters apply to the getPolicyInfo method:
Parameter
Type
Description
SID
Integer
Description
Returns information about the access policy that is controlling and managing
the current Service Desk Web Services session.
Returns
The following XML string:
XML Element
Type
Description
<SAPolicy>
N/A
Business Methods
getTaskListValues
The following parameters apply to the getTaskListValues method:
Parameter
Type
Description
SID
Integer
objectHandle
String
attributes
String[]
Identifies the
sequence of attribute
names for which to
fetch values. Dottedattributes are
permitted. If this is
blank, all attributes
are fetched.
Business Methods
Description
Returns values for all the tasks associated with the specified issue or change
order.
Note: This is a convenience method. The same list could be obtained using
doSelect().
Returns
The following:
XML Element
Type
Description
<UDSObjectList>
N/A
Outer elementcontains
zero or more <UDSObject>
elements as described in
XML Object Returns. Each
<UDSObject> node
represents a Task. The
nodes are ordered by the
Tasks sequence attribute.
For information about the
contents of each
<UDSObject> element, see
XML Object Returns.
getValidTaskTransitions
The following parameters apply to the getValidTaskTransitions method:
Parameter
Type
Description
SID
Integer
taskHandle
String
Business Methods
Parameter
Type
Description
attributes
String[]
Description
Returns all of the possible values for the status attribute of a particular task.
The Status codes to which a task may be set depend upon several factors,
such as the current status of the task, and restrictions set by the
administrator.
Note: taskHandle can be a task owned by either a change order or an issue.
The objects returned are Task Status (tskstat) objects used for both types of
tasks.
Returns zero or more Status objects to which a task can be set.
Returns
The following:
XML Element
Type
Description
<UDSObjectList>
N/A
The assets family attribute determines if the asset has an extension. Setting
the Class attribute generally sets the family at asset creation time. To
determine if an asset has an extension, query the extension_name attribute
of the assets family (for example, family.extension_name).
To retrieve values from an extension object, query it like any other object by
using the following method:
getObjectValues())
To get the handle for a particular extension object, use the following method:
getAssetExtensionInformation()
Update an extension object like you would any other object by using the
following method:
updateObject()
We do not recommend that you create your own extension objects. One is
created for you, if needed, when createAsset() is called. Because of this
automatic creation, we recommend that you only use createAsset() to create
asset objects.
Note: If you are using the ITIL methodology, remember that Asset and
Configuration Item are interchangeable in this context. For more information,
see Note on Using the ITIL Methodology Installation.
createAsset
The following parameters apply to the createAsset method:
Parameter
Type
Description
SID
Integer
attrVals
String[]
attributes
String[]
Identifies the
sequence of attribute
names from the new
object for which to
return values. Dotnotation is permitted.
If this field is empty,
all attribute values
are returned.
Description
Describes the recommend method for creating a new asset. If you intend to
create an asset with an extension, be sure to set the Asset Class attribute in
the attrVals section.
Note: If you are using the ITIL methodology, use this method to create a
Configuration Item. See the Note on Using the ITIL Methodology Installation.
Returns
A <UDSObject> element containing the new objects handle, along with
attribute values specified in the attributes parameter. If the attributes
parameter is empty, all attribute values are returned. List and LREL types are
also returned, but as empty elements. For more information about the return
format, see XML Object Returns.
XML Element
Type
Description
<UDSObject>
N/A
<NewAssetHandle>
String
<ExtensionHandle>
String
<ExtensionName>
String
getAssetExtensionInformation
The following parameters apply to the getAssetExtensionInformation method:
Parameter
Type
Description
SID
Integer
assetHandle
String
attributes
String[]
Identifies the
standard array of
attributes from the
asset extension
object from which to
request values. If this
value is empty, all
attributes are
returned.
Description
Returns extension information for an asset. If the asset does not have an
extension, nothing is returned.
An asset has an extension if a value exists for its family.extension_name
property. This property is empty if the asset does not have an extension.
Returns
The following elements with empty values if the asset does not have an
extension:
XML Element
Type
Description
<UDSObject>
String
<ExtensionHandle>
String
Identifies the
extensions handle.
<ExtensionName>
String
addAssetLog
The following parameters apply to the addAssetLog method:
Parameter
Type
Description
SID
Integer
assetHandle
String
contactHandle
String
(Required) Identifies
the handle of the
contact used for the
logs author.
logText
String
Description
Adds a new log entry for an asset. The logs author is the user associated with
the SID.
Returns
Nothing.
createAssetParentChildRelationship
The following parameters apply to the createAssetParentChildRelationship
method:
Parameter
Type
Description
SID
Integer
parentHandle
String
childHandle
String
Description
Makes assetParent a parent of assetHandle. Web Services creates a separate
object (the hier object, which is the Assignment table) for parent-child
relationships between assets. These are stored in related lists, child_hier and
parent_hier, in the Asset (nr) object.
Returns
Handle of the new hier (Assignment) object.
List/Query Methods
List/Query Methods
Two paradigms are available for working with lists. One paradigm uses a list
handle for referring to and making queries on a server-side list and the other
simply performs a SQL-like select.
If you need to maintain reference to a static list, use the methods that return
list handles. These methods are especially useful when working with very large
lists. For example, your application may need to perform operations using the
entire table of 10,000 Contacts. Downloading values for all 10,000 at once
could result in an unacceptable performance lag (this condition is actually
prevented by the systemsee Where Clauses). With a list handle, however,
you can select a range of rows upon which to query.
The primary drawback to using a list handle is the extra method calls it
requires. At least two or three calls are necessary, as indicated by the
following:
You need to balance the amount of remote method calls versus the expected
amount of data returned.
Note: Unicenter Service Desk restricts the amount of data that can be
returned from any one list. For more information, see Where Clauses.
doSelect
The following parameters apply to the doSelect method:
Parameter
Type
Description
SID
Integer
objectType
String
whereClause
String
List/Query Methods
Parameter
Type
Description
maxRows
Integer
attributes
String[]
List/Query Methods
Description
Performs an SQL-like select on a specified object table. Supply one or more
attributes you want fetched from the objects that match the supplied where
clause.
Returns
A sequence of <UDSObject> elements. The following format applies:
<UDSObjectList>
<UDSObject>
<Handle>
<Attributes>
<AttributeNameA>
<AttributeValueA0>
<AttributeValueA1>
<AttributeNameB>
<AttributeValueB0>
XML Element
Type
Description
<UDSObject>
N/A
<UDSObjectList>
Sequence
Contains a <Handle>
element and an <Attributes>
sequence.
For information about the
contents of each
<UDSObject> element, see
XML Object Returns.
List/Query Methods
doQuery
The following parameters apply to the doQuery method:
Parameter
Type
Description
SID
Integer
ObjectType
String
WhereClause
String
(Optional) Identifies
the where clause for
the query.
List/Query Methods
Description
Performs an SQL-like select for the specified object type. It also returns a list
handle that points to a list of the rows returned from the query, where each
row represents a Unicenter Service Desk object that matched the supplied
where clause. The caller can fetch values for the list rows using getListValues
().
Note: For more information about where clauses, see Where Clauses.
The object list is stored on the Unicenter Service Desk server and consumes
system resources. The caller is responsible for freeing the list with
freeListHandles().
Lists created with this function are homogenous, meaning the objects are all
the same type, and they are static, meaning the list never changes even if a
data change to an object excludes it from the initial where clause.
Returns
A list handle that must be freed with freeListHandle().
XML Element
Type
Description
<listHandle>
Integer
<listLength>
Integer
getListValues
The following parameters apply to the getListValues method:
Parameter
Type
Description
SID
Integer
ListHandle
Integer
StartIndex
Integer
List/Query Methods
Parameter
Type
Description
EndIndex
Integer
AttributeNames
String[]
Description
Returns attribute values for a range of objects in a list. For example:
< UDSObjectList >
<UDSObject>
<Handle>
<Attributes>
<AttributeName0>
<AttributeName1>
List/Query Methods
Returns
The following:
XML Element
Type
Description
<UDSObjectList>
Sequence
<UDSObject>
N/A
Contains a <Handle>
element and
<Attributes>
sequence.
For information about
the contents of each
<UDSObject>
element, see XML
Object Returns.
freeListHandles
The following parameters apply to the freeListHandles method:
Parameter
Type
Description
SID
Integer
Handles
Integer[]
Identifies an array of
list handles to free.
Description
Frees the server-side resources for a list and invalidates the list handles. This
method should be called whenever a list reference is no longer needed.
Returns
Nothing.
List/Query Methods
getRelatedList
The following parameters apply to the getRelatedList method:
Parameter
Type
Description
SID
Integer
ObjectHandle
String
ListName
String
Identifies a list-type
attribute name of the
object.
Description
Returns a list handle for list (QREL or BREL) attribute of an object. For
example, the request object has a related list named children, which is a list
of its child requests. The Requests Activity Log (act_log or act_log_all) is
another example.
To retrieve information about an objects list attributes, refer to the object
schema (majic) documentation or use getObjectTypeInformation().
Returns
The following:
XML Element
Type
Description
<listHandle>
Integer
<listLength>
Integer
List/Query Methods
getRelatedListValues
The following parameters apply to the getRelatedListValues method:
Parameter
Type
Description
SID
Integer
objectHandle
String
listName
String
Identifies a list-type
attribute name for
the object.
numToFetch
Integer
Signifies the
maximum number of
rows to return.
Cannot be zero
Specify -1 to
return all rows
Note: Regardless of
the integer specified,
Web Services will
return a maximum of
250 rows per call.
attributes
String[]
Identifies an array of
one or more attribute
names for which to
fetch values. Dotted
names are
permitted.
List/Query Methods
Description
Returns values for lists related to a specific object. The lists must be defined
as a QREL or BREL. Use the LREL methods to query LREL types.
For example, the request object has a related list named children, that is a
list of its child requests. This method is a list handle-free alternative to
getRelatedList(). The return format is similar to getListValues(), as indicated
by the following:
<numRowsFound>
< UDSObjectList >
<UDSObject>
<Handle>
<AttributeName0>
<AttributeName1>
XML Element
Type
Description
<numRowsFound>
Integer
<UDSObjectList>
N/A
<UDSObject>
N/a
List/Query Methods
getPendingChangeTaskListForContact
The following parameters apply to the getPendingChangeTaskListForContact
method:
Parameter
Type
Description
SID
Integer
contactHandle
String
Description
Returns a list handle representing all the pending change order workflow
tasks assigned to a contact. A pending task is an active workflow task with a
status that permits task updates.
Returns
The following:
XML Element
Type
Description
<listHandle>
Integer
<listLength>
Integer
getPendingIssueTaskListForContact
The following parameters apply to the getPendingIssueTaskListForContact
method:
Parameter
Type
Description
SID
Integer
contactHandle
String
List/Query Methods
Description
Returns a list handle representing all the pending Issue tasks assigned to a
contact. A pending task is an active task with a status that permits task
updates.
Returns
The following:
XML Element
Type
Description
<listHandle>
Integer
<listLength>
Integer
getNotificationsForContact
The following parameters apply to the getNotificationsForContact method:
Parameter
Type
Description
SID
Integer
contactHandle
String
queryStatus
Integer
(Optional) Identifies
the target of the
notifications.
List/Query Methods
Description
Returns a list of notifications (lr objects) for a contact.
You can query on a specific status for the notifications with the queryStatus
field, which is useful for returning, for example, only non-cleared messages.
The possible queryStatus values are as follows:
Returns
The following:
XML Element
Type
Description
<listHandle>
Integer
<listLength>
Integer
LREL Methods
LREL Methods
LREL relationships are defined in majic (.maj) and mod (.mod) files on the
server and are declared with the LREL keyword. LRELs define many-to-many
relationships. The most commonly used LRELs are, for example, relationships
between the following:
Attachments also use LRELs, although the Web Services does not define any
Attachment-related methods.
Group relationships do not use LRELs, special methods are provided to group
management.
Remember, an LREL has two names, one for each side of the many-to-many
relationship. For example, the following is declared in lrels.maj:
LREL lrel1 iss asset <> "nr:PDM" issnr ;
This declares a many-to-many relationship between the Issue (iss) and Asset
(nr) tables. An issue sees the collection of related assets as a pseudo-list
called asset, while an asset is related to issues as issnr. To discover how
many assets are related to a particular issue, call getLrelLength with the
following parameters:
getLrelLength(sid, IssueHandle, asset)
where sid is a SID obtained with login and IssueHandle is the string handle to
a particular issue object.
Similarly, the following pseudo-code describes how to get the names of all the
assets related to an issue:
String attrs[] = {name};
getLrelValues(sid, IssueHandle, asset, 0, -1, attrs);
LREL Methods
getLrelLength
The following parameters apply to the getLrelLength method:
Parameter
Type
Description
SID
Integer
contextObject
String
LrelName
String
Identifies the
LrelName. Use the
name.
Description
Returns the number of objects on one side of a many-to-many relationship:
contextObject
Specifies it as a handle to an object on one side of the LREL relationship.
LrelName
Specifies it as the name of the side of the relationship identified by
ObjHandle.
Returns
The following:
XML Element
Type
Description
<Length>
Integer
LREL Methods
getLrelValues
The following parameters apply to the getLrelValues method:
Parameter
Type
Description
SID
Integer
contextObject
String
LrelName
String
startIndex
Integer
endIndex
Integer
attributes
String[]
Identifies an array of
one or more attribute
names for which to
fetch values.
LREL Methods
Description
Returns attribute values for a range of objects in an LREL relationship.
Remember that items involved in an LREL relationship have no specific
ordering. In fact, it is not really a list, as defined in this document.
The start and end index parameters are there to help throttle a large number
of items. The format is as follows:
< UDSObjectList >
<UDSObject>
<Handle>
<AttributeName0>
<AttributeName1>
Returns
The following:
XML Element
Type
Description
<UDSObjectList>
Array
<UDSObject>
Sequence
createLrelRelationships
The following parameters apply to the createLrelRelationships method:
Parameter
Type
Description
SID
Integer
contextObject
String
LREL Methods
Parameter
Type
Description
LrelName
String
addObectHandles
String[]
Description
Adds one or more many-to-many relationships. contextObject is one side of
the LREL relation. The caller passes one or more object handles for the other
side.
If a relationship already exists between the two objects, no change is made
and the system continues to process the addObjectHandles array. If an invalid
object handle is passed, the entire operation is canceled.
The following example shows how to add several assets to a contacts
environment:
createLrelRelationships(sid, ContactHandle, cenv,
[nr:655A043EDDB36D4F97524F2496B35E75, nr:755A043EDDB36D4F97524F2496B35E75])
Returns
Nothing.
Knowledge Tools
removeLrelRelationships
The following parameters apply to the removeLrelRelationships method:
Parameter
Type
Description
SID
Integer
contextObject
String
LrelName
String
removeObjectHandles
String[]
Description
Removes one or more many-to-many relationships. contextObject is one side
of the LREL relationship. The caller passes one or more object handles for the
other side.
It is not an error if no relationship existed between the two objects. If an
invalid object handle is passed, the entire operation is canceled.
For a usage example, see createLrelRelationships() in this chapter.
Returns
Nothing.
Knowledge Tools
To use the Web Services Knowledge Tools, it is helpful if you are familiar with
the database structure.
Knowledge Tools
Table Types
Some of the more important tables are described as follows:
Table Type
Description
skeleton
o_indexes
Knowledge Tools
RELEVANCE
AUTHOR_ID
BU_RESULT
CREATION_DATE
DOC_TYPE_ID
EXPIRATION_DATE
HITS
id
MODIFY_DATE
OWNER_ID
PRIORITY_ID
ACCEPTED_HITS
ASSET_ID
SD_ASSET_ID
ASSIGNEE_ID
PRODUCT_ID
START_DATE
STATUS_ID
SUBJECT_EXPERT_ID
faq
The following parameters apply to the faq method:
Parameter
Type
Description
SID
Integer
categoryID
String
Knowledge Tools
Parameter
Type
Description
resultSize
Integer
propertyList
String
id
DOC_TYPE_ID
BU_RESULT
sortBy
String
descending
Boolean
whereClause
String
maxDocIds
Integer
Knowledge Tools
Description
Use to perform a faq search. Documents are retrieved based on the category
ID that is passed. Any documents residing in that category or in any subcategory are returned. To improve performance, these methods only retrieve
detailed information on a user-defined set of documents, which is controlled
through the resultSize parameter. The rest of the documents return their IDs
only. Using this method, you can for example, set up a paging mechanism
where the user can click on Top, Previous, Next, and Bottom links. When
you need to retrieve the next set of information, you can use the
getDocumentsByIDs() method. The maximum number of 100 IDs is returned.
Returns
A <UDSObjectList> node with the following sections:
<UDSObject> node from the <UDSObject> Node Description section of this
chapter. There is a <UDSObject> node with all the given properties for the
first n documents that the method finds where n equals the resultSize
parameter.
For example, if the resultSize parameter is 10, the maxDocIDs parameter is
50, and the method finds 100 documents, then there are 10 <UDSObject>
with <Attributes> nodes in the first<UDSObject> section with detail attribute
information from propertyList parameter and 40 <UDSObject> nodes with only
ID <Attributes> in the following section. If you want to retrieve detailed ID
<AttrName> information for documents numbering 11-20, you have to make
a call to the getDocumentsByIDs() method and pass it those IDs from
<AttrValue>.
search
The following parameters apply to the search method:
Parameter
Type
Description
SID
Integer
problem
String
Knowledge Tools
Parameter
Type
Description
resultSize
Integer
propertyList
String
id
DOC_TYPE_ID
sortBy
String
descending
Boolean
getRelatedCategories
Boolean
searchType
Integer
matchType
Integer
0 = OR type match
2 = Exact match
Knowledge Tools
Parameter
Type
Description
searchFields
Integer
Title = 1
Summary = 2
Problem = 4
Resolution = 8
String
whereClause
String
maxDocIds
Integer
Knowledge Tools
Description
Searches for solutions to a problem. Documents are retrieved based on the
problem that is passed. Any documents matching the description of the
problem or a similar description, are returned. To improve performance, these
methods only retrieve detailed information on a user-defined set of
documents, which is controlled through the resultSize parameter. The rest of
the documents return their ids only. Using this method, you can for example,
set up a paging mechanism, where the user can click on Top, Previous,
Next, and Bottom links. When you need to retrieve the next set of
information, you can use the getDocumentsByIDs() method.
Returns
A <UDSObjectList> node with the following sections:
<UDSObject> node from the <UDSObject> Node Description section of this
chapter. There will be a <UDSObject> node with all the given properties for
the first n documents that the method finds, where n equals the resultSize
parameter. For example, if the resultSize parameter is 10, the maxDocIds
parameter is 50, and the method finds 100 documents, then there are 10
<UDSObject> nodes with all the properties requested in the <Attributes>
section and 40 <UDSObject> with only the ID property in the <Attributes>
section. If you want to retrieve detailed <UDSObject> information for
documents 11-20, you need to make a call to the getDocumentsByIDs()
method and pass it those IDs.
If the getRelatedCategories parameter is set to True, the <UDSObjectList>
node is included in the <Attributes> section for related categories. Each
<INDEX_DOC_LINKS> node contains the relational ID of the category, as
shown by the following example:
1-70
doSelectKD
The following parameters apply to the doSelectKD method:
Parameter
Type
Description
SID
Integer
whereClause
String
Knowledge Tools
Parameter
Type
Description
sortBy
String
descending
Boolean
maxRows
Integer
attributes
String[]
skip
Integer
Knowledge Tools
Description
Performs an SQL-like select on a Knowledge Document table. Supply one or
more attributes you want fetched from the objects that match the supplied
where clause.
Returns
A sequence of <UDSObject> elements. The following format applies:
<UDSObjectList>
<UDSObject>
<Handle>
<Attributes>
<AttributeName0>
<AttributeName1>
XML Element
Type
Description
<UDSObject>
Sequence
Contains a <Handle>
element and an <Attributes>
sequence.
For information about the
contents of each
<UDSObject> element, see
XML Object Returns.
<UDSObjectList>
Knowledge Tools
getDecisionTrees
The following parameters apply to the getDecisionTrees method:
Parameter
Type
Description
SID
Integer
propertyList
String
sortBy
String
id
DOC_TYPE_ID
BU_RESULT
descending
Boolean
Description
Retrieves all Decision Trees.
Returns
A <UDSObjectList> node with the following sections:
<UDSObject> nodes with requested <Attributes> nodes
Knowledge Tools
getDocumentsByIDs
The following parameters apply to the getDocumentsByIDs method:
Parameter
Type
Description
SID
Integer
docIds
String
propertyList
String
id
DOC_TYPE_ID
BU_RESULT
sort By
String
descending
Boolean
Knowledge Tools
Description
Retrieves information on one or more documents by passing the document IDs
for which you want to retrieve information. This is usually used after calling
the faq() or search() methods. In order to improve performance, these
methods only retrieve detailed information on a user-defined set of
documents. The rest of the documents return their IDs only. For example, you
can set up a paging mechanism, where the user can click on Top, Previous,
Next, and Bottom links. When you need to retrieve the next set of information,
you can use the getDocumentsByIDs() method.
Returns
A <UDSObjectList> node with the following section:
<UDSObject> nodes with requested <Attributes> nodes describing Knowledge Document
You should pass the IDs into the getDocumentsByIDs() docIds parameter in
this same format.
getDocument
The following parameters apply to the getDocument method:
Parameter
Type
Description
SID
Integer
docId
Integer
propertyList
String
getRelatedDocuments
Boolean
getAttachments
Boolean
getHistory
Boolean
Knowledge Tools
Parameter
Type
Description
getComments
Boolean
getNotificationList
Boolean
Description
Retrieves information for a document.
Returns
A <UDSObject> node, as described in the <UDSObject> Node Description,
with requested <Attributes> provided by the propertList parameter.
createDocument
The following parameters apply to the createDocument method:
Parameter
Type
Description
SID
String
attributeValues
String[]
"TITLE","Title text"
Knowledge Tools
Attribute Value
Type
Description
PRIMARY_INDEX
Integer
USER_DEF_ID
String
TITLE
String
SUMMARY
String
PROBLEM
String
RESOLUTION
String
STATUS_ID
Integer
PRIORITY_ID
Integer
CREATION_DATE
Date (String)
MODIFY_DATE
Date (String)
START_DATE
Date (String)
Knowledge Tools
Attribute Value
Type
Description
EXPIRATION_DATE
Date (String)
PUBLISHED_DATE
Date (String)
SD_PRODUCT_ID
Integer
ASSIGNEE_ID
UUID
SD_ASSET_ID
UUID
SD_ROOTCAUSE_ID
Integer
SD_PRIORITY_ID
Integer
SD_SEVERITY_ID
Integer
SD_IMPACT_ID
Integer
SD_URGENCY_ID
Integer
AUTHOR_ID
UUID
Knowledge Tools
Attribute Value
Type
Description
OWNER_ID
UUID
SUBJECT_EXPERT_ID
UUID
NOTES
String
READ_GROUP_LIST
String
WRITE_GROUP_LIST
String
INHERITPERMISSIONS
Boolean
DOC_TYPE_ID
Integer
HITS
Integer
DOC_TEMPLATE_ID
Integer
WF_TEMPLATE
Integer
CUSTOM1
String
Knowledge Tools
Attribute Value
Type
Description
CUSTOM2
String
CUSTOM3
String
CUSTOM4
String
CUSTOM5
String
CUSTOM_NUM1
Double
CUSTOM_NUM2
Double
Description
Creates a new document.
Returns
A <UDSObject> node describing the Knowledge Document created.
modifyDocument
The following parameters apply to the modifyDocument method:
Parameter
Type
Description
SID
Integer
docId
Integer
attributeValues
String[]
Knowledge Tools
Parameter
Type
Description
MODIFY_DATE
(String)
USER_DEF_ID
String
TITLE
String
SUMMARY
String
PROBLEM
String
RESOLUTION
String
STATUS_ID
Integer
PRIORTY_ID
Integer
START_DATE
Date (String)
EXPIRATION_DATE
Date (String)
Knowledge Tools
Parameter
Type
Description
SD_PRODUCT_ID
Integer
ASSIGNEE_ID
UUID
SD_ASSET_ID
UUID
SD_ROOTCAUSE_ID
Integer
SD_PRIORITY_ID
Integer
SD_SEVERITY_ID
Integer
SD_IMPACT_ID
Integer
SD_URGENCY_ID
Integer
AUTHOR_ID
UUID
OWNER_ID
UUID
SUBJECT_EXPERT_ID
UUID
NOTES
String
Knowledge Tools
Parameter
Type
Description
READ_GROUP_LIST
String
WRITE_GROUP_LIST
String
INHERIT_PERMISSION
Boolean
DOC_TYPE_ID
Integer
HITS
Integer
DOC_TEMPLATE_ID
Integer
WF_TEMPLATE
Integer
CUSTOM1
String
CUSTOM2
String
CUSTOM3
String
CUSTOM4
String
CUSTOM5
String
CUSTOMNUM1
Double
CUSTOMNUM2
Double
Knowledge Tools
Description
Modifies a document.
Returns
A <UDSObject> node describing the Knowledge Document modified.
deleteDocument
The following parameters apply to the deleteDocument method:
Parameter
Type
Description
SID
Integer
docId
Integer
Description
Flags a document for deletion. The Knowledge Tools Windows Service
permanently deletes the document.
Returns
Returns error codes only when there are individual errors. For additional
information, see Error Codes.
getCategory
The following parameters apply to the getCategory method:
Parameter
Type
Description
SID
Integer
categoryId
Integer
getCategoryPaths
Boolean
Knowledge Tools
Description
Retrieves information for a category, including a listing of all of its child
categories.
Returns
A <UDSObjectList> node with an <UDSObject> node describing the category
requested.
getComments
The following parameters apply to the getComments method:
Parameter
Type
Description
SID
Integer
docIds
String
Identifies the
document IDs for all
the comments you
want to retrieve.
Note: Use commas to
separate, for
example,
"400001,400002".
Description
Gets all the comments from documents.
Knowledge Tools
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
O_COMMENTS with the following <Attributes> child nodes:
Data Type
Description
id
Integer
DOC_ID
Integer
Identifies the
document IDs for the
comment recently
added.
USER_ID
Integer
USER_NAME
String
EMAIL_ADDRESS
String
COMMENT_TEXT
String
COMMENT_TIMESTAMP
Date
addComment
The following parameters apply to the addComment method:
Parameter
Type
Description
SID
Integer
comment
String
Knowledge Tools
Parameter
Type
Description
docId
Integer
String
username
String
contactId
String
Description
Adds a comment to a particular document.
Returns
A <UDSObject> node with the following<Attributes> child nodes describing
the comment most recently added:
Data
Type
id
DOC_ID
USER_ID
USER_NAME
String
Description
Knowledge Tools
Data
Type
Description
EMAIL_ADDRESS
String
COMMENT_TEXT
String
COMMENT_TIMESTAMP
Date
deleteComment
The following parameters apply to the deleteComment method:
Parameter
Type
Description
SID
Integer
commentId
Integer
Description
Deletes a comment.
Returns
Returns error codes only for individual errors. For additional information, see
Error Codes.
rateDocument
The following parameters apply to the rateDocument method:
Parameter
Type
Description
SID
Integer
docId
Integer
rating
Integer
ticketPersId
String
Knowledge Tools
Parameter
Type
Description
multiplier
Integer
onTicketAccept
Boolean
solveUserProblem
Boolean
isDefault
Boolean
Description
Rates a particular document.
Returns
A <UDSObject> node with the following <Attributes> children nodes
describing the rating BU_TRANS :
Data Type
Description
id
Integer
DOC_ID
Integer
INDEX_ID
Integer
Knowledge Tools
Data Type
Description
BU_RATING
String
HIT_NO_VOTE
Integer
updateRating
The following parameters apply to the updateRating method:
Parameter
Type
Description
SID
Integer
ratingID
Integer
rating
Integer
Description
Updates one of the ratings of a particular document.
Returns
A <UDSObject> node describing BU_TRANS with the updated rating attribute.
getQuestionsAsked
The following parameters apply to the getQuestionsAsked method:
Parameter
Type
Description
SID
String
resultSize
Integer
Knowledge Tools
Parameter
Type
Description
Descending
Boolean
Description
Retrieves historical Knowledge document search text.
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
EBR_LOG with the following <Attributes> child nodes:
Data Type
Description
id
Integer
SEARCH_TEXT
Integer
getBookmarks
The following parameters apply to the getBookmarks method:
Parameter
Type
Description
SID
String
contactId
String
Knowledge Tools
Description
Retrieves bookmarks for a particular contact.
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
CI_BOOKMARKS with the following <Attributes> child nodes:
Type
Description
DOCUMENT_ID
Integer
id
Integer
USER_ID
String
BOOKMARK_TITLE
String
addBookmark
The following parameters apply to the addBookmark method:
Parameter
Type
Description
SID
Integer
contactId
String
docId
Integer
Description
Adds a bookmark for a particular contact.
Returns
A <UDSObject> node describing the newly created bookmark.
Knowledge Tools
deleteBookmark
The following parameters apply to the deleteBookmark method:
Parameter
Type
Description
SID
Integer
contactId
String
docId
Integer
Description
Deletes a bookmark for a particular contact.
Returns
Returns error codes only for individual errors. For additional information, see
Error Codes.
getStatuses
The following parameter applies to the getStatuses method:
Parameter
Type
Description
SID
String
Description
Retrieves the list of statuses.
Knowledge Tools
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
CI_STATUSES with the following <Attributes> child nodes:
id
Integer
STATUS
String
STATUS_DESCRIPTION
String
PREDEFINED
Integer
STATUS_ORDER
Integer
getPriorities
The following parameter applies to the getPriorities method:
Parameter
Type
Description
SID
String
Description
Retrieves the list of priorities.
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
CI_PRIORITIES with the following <Attributes> child nodes:
Data Type
Description
id
Integer
Knowledge Tools
Data Type
Description
PRIORITY
String
getDocumentTypes
The following parameter applies to the getDocumentTypes method:
Parameter
Type
Description
SID
String
Description
Retrieves the list of document types.
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
CI_DOC_TYPES with the following <Attributes> child nodes:
id
Integer
DOC_TYPE_TXT
String
getTemplateList
The following parameter applies to the getTemplateList method:
Parameter
Type
Description
SID
String
Knowledge Tools
Description
Retrieves the list of document templates
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
CI_DOC_TEMPLATES with the following <Attributes> child nodes:
Type
Description
id
Integer
TEMPLATE_NAME
String
IS_PREDEFINED
Integer
IS_DEFAULT
Integer
getWorkflowTemplateList
The following parameter applies to the getWorkflowTemplateList method:
Parameter
Type
Description
SID
String
Description
Retrieves the list of workflow templates.
Returns
A <UDSObjectList> node with zero or more <UDSObject> nodes describing
WF_TEMPLATE with the following <Atttributes> child nodes:
Type
Description
id
Integer
Knowledge Tools
Type
Description
WF_NAME
String
WF_DESCRIPTION
String
IS_DEFAULT
Integer
Attachment Methods
This section describes the Web Services Knowledge attachment methods.
createAttmnt
The following parameters apply to the createAttmnt method:
Parameter
Data Type
Description
SID
Integer
repositoryHandle
String
folderId
Integer
objectHandle
String
Knowledge Tools
Parameter
Data Type
Description
description
String
fileName
String
Description
Uploads a file to the back-end server. An uploaded file is stored in a document
repository specified by the repositoryHandle. An attachment object is then
created and attached to a document object specified by the objectHandle. The
attachment object has all the information for accessing the newly uploaded file
in the repository.
Returns
The following:
Parameter
Type
Description
<Handle>
String
Knowledge Tools
attmntFolderLinkCount
The following parameters apply to the attmntFolderLinkCount method:
Parameter
Type
Description
SID
Integer
folderId
Integer
Description
Describes the number of attachment links under a specific folder to be
attached.
Returns
Returns the number of attachments found under the specific folder.
attachURLLink
The following parameters apply to the attachURLLink method:
Parameter
Type
Description
SID
Integer
docId
Integer
URL
String
attmntName
String
Description
String
Description
Attaches a URL link to a Knowledge document.
Returns
Returns error codes only for individual errors. For additional information, see
Error Codes.
Knowledge Tools
getKDListPerAttmnt
The following parameters apply to the getKDListPerAttmnt method:
Parameter
Type
Description
SID
Integer
attmntId
Integer
Description
Returns a list of Knowledge documents with reference to a given attachment.
Returns
A <UDSObject> node with zero or more <UDSObject> nodes describing the
Knowledge document with the following <Attributes> child nodes:
Type
Description
id
Integer
getAttmntListPerKD
The following parameters apply to the getAttmntListPerKD method:
Parameter
Type
Description
SID
Integer
docId
Integer
Knowledge Tools
Description
A list of attachments with reference to a given Knowledge document.
Returns
A <UDSObject> node with zero or more <UDSObject> nodes describing the
attachment with the following <Attributes> child nodes:
Type
Description
id
Integer
isAttmntLinkedKD
The following parameters apply to the AttmntLinkedKD method:
Parameter
Type
Description
SID
Integer
attmntId
Integer
Description
Checks if an attachment is linked to any Knowledge document, and returns the
number of links found.
Returns
Any number of links found.
createFolder
The following parameters apply to createFolder method:
Parameter
Type
Description
SID
Integer
parentFolderId
String
Knowledge Tools
Parameter
Type
Description
repId
Integer
folderType
Integer
description
String
folderName
String
Description
Creates a folder.
Returns
A <UDSObject> describing the folder created, with some of the following child
<Attributes> nodes:
Type
Description
repository
String
parent_id
String
folder_type
Integer
folder_name
String
description
String
getFolderList
The following parameters apply to getFolderList method:
Parameter
Type
Description
SID
Integer
parentFolderId
String
repId
Integer
Knowledge Tools
Description
Returns a list of folders under a given parent folder
Returns
A <UDSObjectList> with zero or more <UDSObject> describing the
attachment folder, with some of the following child <Attributes> nodes:
Type
Description
repository
String
parent_id
String
folder_type
Integer
folder_name
String
description
String
getFolderInfo
The following parameters apply to the getFolderInfo method:
Parameter
Type
Description
SID
Integer
folderId
Integer
Description
Returns the attributes of a folder.
Returns
A <UDSObject> describing the attachment folder, with some of the following
child <Attributes> nodes:
Type
Description
repository
String
parent_id
String
Knowledge Tools
Type
Description
folder_type
Integer
folder_name
String
description
String
getAttmntList
The following parameters apply to the getAttmntList method:
Parameter
Type
Description
SID
Integer
folderId
String
repId
Integer
Description
Returns a list of attachments under a given attachment folder.
Returns
A <UDSObjectList> with zero or more <UDSObject> describing the
attachment, with some of the following child <Attributes> nodes:
Type
Description
repository
String
parent_id
String
folder_type
Integer
Knowledge Tools
Type
Description
folder_name
String
description
String
getAttmntInfo
The following parameters apply to the getAttmntInfo method:
Parameter
Type
Description
SID
Integer
attmntId
Integer
Description
Returns the attributes of an attachment.
Returns
A <UDSObject> describing the attachment, with some of the following child
<Attributes> nodes:
Type
Description
id
Integer
description
String
attmnt_name
String
file_name
String
folder_id
Integer
repository
Integer
Miscellaneous Methods
getRepositoryInfo
The following parameters apply to the getRepositoryInfo method:
Parameter
Type
Description
SID
Integer
repositoryId
Integer
Description
Returns the attributes of a repository.
Returns
A <UDSObject> describing the repository, with some of the following child
<Attributes> nodes:
Type
Description
repository
String
parent_id
String
folder_type
Integer
folder_name
String
description
String
Miscellaneous Methods
This section describes the Web Services Miscellaneous methods.
Miscellaneous Methods
callServerMethod
The following parameters apply to the callServerMethod method:
Parameter
Type
Description
SID
Integer
methodName
String
factoryName
String
formatList
String
Parameter0parameterX
String[]
Indicates zero or
more parameter
values for the
method.
Miscellaneous Methods
Description
Use this method to invoke an arbitrary server-side method. These are
methods defined in the proprietary spell scripting language.
Only factory methods can be called and the caller must be logged in with full
administrative rights.
The format list is a series of zero or more characters that indicate (in order)
the data types of the parameters to follow. The character codes are as follows:
0 Sstring
0 Nnull
Miscellaneous Methods
This call does not support object reference returns. If an object reference is
returned by the spell method, the return data is the string, OBJECT. This is
not an error and any other parameters are also returned.
XML Element
Type
Description
<ServerReturn>
N/A
<Paramx>
String
createObject
The following parameters apply to the createObject method:
Parameter
Type
Description
SID
Integer
ObjectType
String
attrVals
String[]
Identifies a sequence of
name-value pairs used to
set the initial attribute
values for the new issue.
Dotted names are not
permitted.
attributes
String[]
Identifies a sequence of
attribute names from the
new object for which to
return values. Dot-notation
is permitted. If this field is
empty, all attribute values
are returned.
Miscellaneous Methods
Description
Creates a Service Desk object. The caller is responsible for setting any
required fields in the attrVals parameter. Dotted-names are not permitted.
ObjectType
Identifies the name for an object type (factory).
attrVals
Describes the array of name-value pairs used to initialize the new object.
For example, the following pseudo-code shows how to create a new
contact and return a <UDSObject> element with values for all its
attributes:
String [4] attrVals;
attrVals[0] = first_name; // attribute name
attrVals[1] = Edgar;
attrVals[2] = last_name;
attrVals[3] = Martin;
string [0] emptyArray;
int err = CreateObject(sid, cnt, attrVals,emptyArray);
Note: Do not use this method for new assets, issues, requests or change
orders. Use the specialized createXXX() methods for those object types.
This also applies if you are using the ITIL methodologyuse the
appropriate methods to create Configuration Items, Incidents, and
Problems.
Returns
A <UDSObject> element containing the new objects handle, along with
attribute values specified in the attributes parameter. If the attributes
parameter is empty, all attribute values are returned. List and LREL types are
also returned, but as empty elements.
XML Element
Type
Description
<UDSObject>
N/A
Identifies the
standard UDSObject
element containing
the handle and
requested attribute
values.
<newHandle>
String
Miscellaneous Methods
getBopsid
The following parameters apply to the getBopsid method:
Parameter
Type
Description
SID
Integer
Name
String
Description
Facilitate the building of Web interface URLs which may be used to launch the
web interface in the context of a given user without a login challenge. To
launch the web interface in the context of a given user (for example, an
analyst), a calling application must first construct a Web interface URL, which
includes a bopsid token (a web-interface security token). Failure to provide a
bopsid token may result in an interactive login challenge when attempting to
launch the web interface in the chosen context (such as, a detail view of a
given ticket). The getBopsid method allows the bopsid to be generated in the
context of the user provided by the Name parameter. If Name is not provided,
it uses the user associated with the current web interface SID.
Note: To prevent unauthorized elevation of privileges, the SID of the current
login must have equal or greater access rights than the name of the user
entered.
Returns
A bopsid based on the name of the user entered. The returned bopsid expires
based on web interface configuration settings and should not be held by the
caller indefinitely, but used in a launch of the web interface in a timely
manner.
Note: The SID of the current login must have equal or greater access rights
than the name of the user entered. If no user name is entered, then the
bopsid created is based only on the SID.
Miscellaneous Methods
getConfigurationMode
The following parameters apply to the getConfigurationMode method:
Parameter
Type
Description
SID
Integer
Description
This method returns a string indicating if the Service Desk installation is in the
ITIL mode.
Returns
A string "itil" if the installation is in ITIL mode. Otherwise, an empty string is
returned.
getObjectValues
The following parameters apply to the getObjectValues method:
Parameter
Type
Description
SID
Integer
objectHandle
String
attributes
String[]
Miscellaneous Methods
Description
This method returns the attribute values of an object. The caller passes one or
more attribute names to fetch the object and dotted-names are permitted.
All values are returned as a string. Empty/null attributes are returned as
empty strings.
Returns
A <UDSObject> element. For more information, see XML Object Returns.
XML Element
Type
Description
<UDSObject>
N/A
Contains a <Handle>
element and zero or
more
<AttributeNameX>
elements.
getObjectTypeInformation
The following parameters apply to the getObjectTypeInformation method:
Parameter
Type
Description
SID
Integer
factory
String
Miscellaneous Methods
Description
A list of all attribute names for a given object type, along with type
information for each attribute. Information returned for the attributes type
includes the Integer, String, Date, Pointer, List, and so on, if the attribute is
required for back-storing its storage space requirements (if appropriate).
Callers should cache the type information requested per object type to avoid
multiple, redundant (and expensive) calls. The attribute information can
change only after modifications are performed on the Service Desk server and
the service is recycled.
Miscellaneous Methods
Returns
The following:
XML Element
Type
Description
<UDSObject>
N/A
<Attributes>
Sequence
Miscellaneous Methods
serverStatus
The following parameter applies to the serverStatus method:
Parameter
Type
Description
SID
Integer
Description
Returns the status of the Service Desk server, that is, whether it is up and
ready or shut down.
Note: This method executes rapidly on the server machine. Calling this
periodically is a good way to keep a SID active.
Returns
The following values apply:
XML Element
Type
Description
<ServerStatus>
Integer
updateObject
The following parameters apply to the updateObject method:
Parameter
Type
Description
SID
Integer
objectHandle
String
Miscellaneous Methods
Parameter
Type
Description
attributeValues
String[]
attributes
String[]
Identifies the
sequence of attribute
names from the object
for which to return
values. Dot-notation is
permitted. If this field
is empty, all attribute
values are returned.
Description
Updates one or more attributes for the specified object.
To set values for the object, the caller passes a single-dimensional array of
attribute name-value pairs. The first half of the pair is an attribute name; the
second is the actual value. Dotted-names are not permitted.
To update an attribute that is a Pointer type (for example, the customer field
on a request) a handle must be used for the value. For Integer, Date, and
Duration types, pass the string representation of an integer.
For example, to update a request with a new assignee, description and
priority, the array would appear as follows:
[0] assignee
[1] cnt:555A043EDDB36D4F97524F2496B35E75
[2] description
[3] My new description
[4] priority
[5] pri:38903
(a priority Handle)
(a contact Handle)
WorkFlow Methods
If the update fails for any reason, the entire operation aborts and no changes
occur.
Note: When updating a task, set the status value last in the attribute array.
Returns
A <UDSObject> element containing the updated objects handle, along with
attribute values specified in the attributes parameter. If the attributes
parameter is empty, all of the attribute values are returned. List and LREL
types are also returned, but as empty elements. For more information about
the return format, see XML Object Returns.
WorkFlow Methods
This section describes the Web Services workflow-related methods. These
methods are used only with Unicenter Service Desks built-in workflow engine.
These methods are not applicable when a ticket is using the integrated CA
Workflow product. CA Workflow does have a separate web service interface.
For details, see the product documentation.
getWorkflowTemplates
The following parameters apply to the getWorkflowTemplates method:
Parameter
Type
Description
SID
Integer
objectHandle
String
WorkFlow Methods
Description
Takes a parameter of the handle of a change order or issue and returns a list
of workflow templates that are associated with the category of the change
order or issue. It first verifies that the change order or issue has a category.
Then, it retrieves a list of associated workflow templates of the category. If the
change order or issue does not have a category, the following error appears:
Error (UDS_BAD_PARAM)
XML Element
Type
Description
<listHandle>
String
listLength
Integer
WorkFlow Methods
createWorkFlowTask
The following parameters apply to the createWorkFlowTask method:
Parameter
Type
Description
SID
Integer
attrVals
String[]
Identifies an array of
name-value pairs that
are used to set the
initial attribute values
for this workflow task.
These optional
attributes include:
Asset
Assignee
Estimated
duration
Estimated cost
Estimated
completion date
objectHandle
String
creatorHandle
String
WorkFlow Methods
Parameter
Type
Description
selectedWorkFlow
String
taskType
String
Description
Verifies the input value of selectedWorkFlow. If it is empty, the new workflow
task is inserted at the bottom. Otherwise, the new workflow task is created
after the selectedWorkFlow. The input value of taskType is also verified to
determine whether to create a workflow based on a workflow template or on a
task type code.
Returns
The new workflow tasks handle, along with all of its attribute values. List and
LREL types are also returned, but as empty elements. For more information
about the return format, see XML Object Returns.
XML Element
Type
Description
<UDSObject>
N/A
<NewWorkflowHandle>
String
Attachment Methods
deleteWorkFlowTask
The following parameters apply to the deleteWorkFlowTask method:
Parameter
Data Type
Description
SID
Integer
workflowHandle
String
objectHandle
String
Description
Removes a workflow from its associated change order or issue.
Returns
Nothing.
Attachment Methods
This section describes the Web Services attachment-related methods. Only file
attachments are handled by these methods; link type attachments are handled
by generic methods, such as CreateObject(). In addition, file uploads through
Web Services employ the Direct Internet Message Encapsulation (DIME)
protocol. Your SOAP implementation must support DIME in order to use these
methods.
createAttachment
The following parameters apply to the createAttachment method:
Parameter
Data Type
Description
SID
Integer
repositoryHandle
String
Attachment Methods
Parameter
Data Type
Description
objectHandle
String
description
String
fileName
String
Description
Uploads a file to the back-end server. An uploaded file is stored in a document
repository specified by the repositoryHandle. An attachment object is then
created and attached to a ticket object specified by the objectHandle. The
attachment object has all the information for accessing the newly uploaded file
in the repository.
Returns
The following:
Parameter
Type
Description
<Handle>
String
removeAttachment
The following parameters apply to the removeAttachment method:
Parameter
Type
Description
SID
Integer
attachmentHandle
String
Attachment Methods
Description
Removes an attachment from a ticket object. The attached file is then
removed from the repository.
Returns
Nothing.
Index
A
access
for Web Services 10
policy 22
type for a contact 72
Access Control and Management 26
active flag 51
addAssetLog method 120
addBookmark method 169
addComment method 163
adding additional problem types 34
addMemberToGroup method 82
advantages, of Web Services and Service Desk
9
Application Event log 17
Asset Management methods 116
attachChangeToRequest method 105
attaching
a problem to a change order 47, 48
an incident to a problem 47
attachment methods 174, 199
attachURLLink method 176
attmntFolderLinkCount method 176
attribute data types 55
attributes
for objects 39
LREL 57
SREL 57
authentication
public key infrastructure (PKI) 20
user access 19
user name/password 19
authorization and SID 25
B
BREL keyword 57
Business methods 87
C
caching 42
callServerMethod method 184
category field 43
D
database structure for Knowledge Tools 140
defining
a problem type 32
an access policy 26
definition of
Web Services 9
deleteBookmark method 170
deleteComment method 165
deleteDocument method 161
deleteWorkFlowTask method 199
design-time feature 43
Index 203
E
enumeration values 55
error codes
for Unicenter Service Desk 52
UDS_LOCK_ERR 41
UDS_TIMEOUT_ERR 41
errors, locking 41
escalate method 100
exceptions, SOAPException 17
F
factory 39
faq method 142
fault message 17
fields, category 43
files
majic 39, 135
mod 39, 135
findContacts method 79
freeListHandles method 128
G
general methods 142
getAccessTypeForContact method 72
getAssetExtensionInformation method 119
getAttmntInfo method 182
getAttmntList method 181
getAttmntListPerKD method 177
getBookmarks method 168
getBopsid method 188
getCategory method 161
getConfigurationMode method 189
getContact method 73
getDecisionTrees method 150
getDocument method 152
getDocumentsByIDs method 151
getDocumentTypes method 172
getFolderInfo method 180
getFolderList method 179
getGroupMemberListValues method, 84
getHandleForUserid method 72
getKDListPerAttmnt method 177
getListValues method 126
getLrelLength method 136
getLrelValues method 137
getNotificationsForContact method 133
getObjectTypeInformation method 190
getObjectValues method 189
getPendingChangeTaskListForContact method
132
getPendingIssueTaskListForContact method
132
getPermissionGroups method 81
getPolicyInfo method 112
getPriorities method 171
getPropertyInfoForCategory method 97
getQuestionsAsked method 167
getRelatedList method 129
getRelatedListValues method 130
getRepositoryInfo method 183
getStatuses method 170
getTaskListValues method 113
getTemplateList method 173
getValidTaskTransitions method 114
getWorkflowTemplateList method 173
getWorkflowTemplates method 195
group management methods 82
group relationships 135
H
handles
for objects 39
out-of-the-box 49
HTTP protocol 14
I
impersonate method 70
IN clause 64
incidents
how to attach to a problem 47
how to create 46
querying for 47
information caching for object factories 42
installing
ITIL Methodology 46
Web Services 18
isAttmntLinkedKD method 178
K
keywords
BREL 57
LREL methods 135
QREL 57
Knowledge Tools
database structure 140
general methods 142
system logs 17
table types 141
using the web services 174
L
list (QREL/BREL) 57
list/query methods 122
lists 59
locking errors 41
logComment method 108
Login (Username, Password) 20
login method 67
loginService (Username, Password, Policy) 20
loginService method 68
loginServiceManaged (policy,
encrypted_policy) 21
loginServiceManaged method 69
logout method 71
logs
Application Event 17
Service Desk 17
LREL 57
definition of 57
keyword 135
methods 135
M
majic files 39, 135
methods
asset management 116
attachement-related 135
attachment 199
business 87
by category for web services 29
contact management 67, 68, 69, 70, 71
general, for Knowledge Tools 142
group management 82
list/query 122
LREL 135
miscellaneous 183
workFlow methods 195
mod files 39, 135
modifyDocument method 157
N
notifyContacts method 109
O
O_INDEXES table 141
object
attributes 39
factories, about information caching 42
handles 39
objects 39
obtaining the WSDL document 11
out-of-the-box handles 46
P
priority handles 49
problem type, defining 32
problem types for Web Services 33
problems
how to attach to a change order 47
how to create 46
querying for 47
property objects 43
protocols 9
public key infrastructure (PKI) authentication
20
Q
QREL keyword 57
querying
for change orders assigned to a contact
51
for incidents 47
for issues assigned to a contact 51
for problems 47
for requests assigned to a contact 51
R
rateDocument method 165
removeAttachment method 200
removeLrelRelationships method 140
removeMemberFromGroup method 83
Index 205
S
search method 144
security features
require_secure_connection 14
require_secure_logon 14
serverStatus method 193
Service Desk
access using the Web Services 41
categories and properties 43
Design-time feature 43
error codes 52
handling queries 51
locking errors 41
logs 17
objects 39
system updates and caching 42
timeouts 41
understanding objects 39
XML object returns 44
severity handles 49
SID 25
simplified web services access 37
SKELETON table 141
SOAP Fault 17
SREL 57
system updates (caching) 42
UDS_FAILURE 52
UDS_FECTH_ERR 52
UDS_INTERNAL_ERR 52
UDS_LOCK_ERR 52
UDS_LOCK_ERR code 41
UDS_NOT_FOUND 52
UDS_OK 52
UDS_OVER_POLICY_LIMIT 52
UDS_SECURE_CHANNEL_REQUIRED 52
UDS_SECURITY_VIOLATION 52
UDS_SERVER_GONE 52
UDS_SESSION_TIMEOUT 52
UDS_TIMEOUT_ERR code 41
UDS_UPDATE_ERR 52
UNKNOWN 58
updateObject method 193
updateRating method 167
user access authentication 19
user name/password authentication 19
using
the Knowledge Tools Web Services 174
the Web Services 48
UUID 58
V
Visual Studio .NET tip 12
table
O_INDEXES 141
SKELETON 141
types for Knowledge Tools 141
timeouts 41
tips for web service clients 12
transfer method 98
Web Services
access 10, 12
advantages with Unicenter Service Desk 9
configuration 12
definition of 9
implementations offered 10
installation 18
methods by categories 29
performing common tasks in Unicenter
Service Desk 49
problem types 33
simplified access 37
tips for clients 12
workFlow methods 195
WSDL document, obtaining 11
UDS_BAD_PARAM 52
UDS_BAD_SESSION 52
UDS_CNTXT_TIMEOUT 52
UDS_CREATION_ER 52