5 Replies Latest reply on Aug 7, 2018 1:26 PM by MoBattah

    Ivanti SM (HEAT) API - using Python

    MoBattah Rookie

      Hello,

       

      I'm having a difficult time creating tickets via the Ivanti SOAP API. I'm using the zeep library in python. I think my issue is multifold.

       

      1. I can't seem to send an object with the command data to fill in the ticket's fields and values.

      2. I can't seem to assign values that the API wants such as Incident.Owner

       

      Any examples or help is appreciated.

        • 1. Re: Ivanti SM (HEAT) API - using Python
          florian1 Expert

          I'm not using Python but it should be fine when you use a factory and build the classes accordingly.

          Here's a roughly translated example from https://help.ivanti.com/ht/help/en_US/ISM/2017/Index.html#Configure/Develop/Search.htm:

          import zeep
          
          authSessionKey = ""
          tenantId = "support2.trysaasit.com"
          client = zeep.Client(wsdl='https://support2.trysaasit.com/ServiceAPI/FRSHEATIntegration.asmx?wsdl')
          frSvc = client.service
          factory = client.type_factory('ns0')
          
          #connectResponse = frSvc.Connect(
          #    userName = 'Admin',
          #    password = 'manage',
          #    tenantId = tenantId,
          #    role = 'Admin'
          #)
          #authSessionKey = connectResponse.sessionKey
          
          query = factory['ObjectQueryDefinition'](
              Top = 100,
              Distinct = "false",
              PasswordFieldBehavior = "Services",
              Select = factory['SelectClass'](
                  All = "false",
                  Fields = factory['ArrayOfFieldClass']([
                      (factory['FieldClass'](Name = "IncidentNumber", Type = "Text")),
                      (factory['FieldClass'](Name = "IncidentNumber", Type = "Text"))
                  ])
              ),
              From = factory['FromClass'](Object="Incident#"),
              Where = factory['ArrayOfRuleClass']([
                  (factory['RuleClass'](ConditionType = "ByField", Required = "true", Join = "AND", Field = "Priority", Condition = "=", Value = "1")),
                  (factory['RuleClass'](ConditionType = "ByField", Required = "true", Join = "AND", Field = "Status", Condition = "=", Value = "Active"))
              ])
          )
          searchResponse = frSvc.Search(authSessionKey,tenantId, query)
          
          1 of 1 people found this helpful
          • 2. Re: Ivanti SM (HEAT) API - using Python
            MoBattah Rookie

            Thank you for the helpful answer. My issue is the commanddata object. I can never format the object correctly for ingestion.

             

            My current Command Data structure is like this:

             

             

            vision = {'WebServiceBusinessObject': [

                                {

                                    'RecID': '4F1547F0F698423D8C1902E694B375BB',

                                    'Alias': None,

                                    'BusinessObjectName': 'Incident',

                                    'Incident.Category': 'Anewone',

                                    'TableRef': 'Incident#',

                                    'FieldValues': {

                                        'WebServiceFieldValue': [

                                            {

                                                'Name': 'ActualCategory_Valid',

                                                'Value': None

                                            },

                                            {

                                                'Name': 'ActualCategory',

                                                'Value': 'HPInc Demo US Support'

                                            },

                                            {

                                                'Name': 'Category_Valid',

                                                'Value': 'ACBADBCADACF429C8EF9FDDEA3DBA49B'

                                            },

                                            {

                                                'Name': 'Category',

                                                'Value': 'HPInc Demo US Support'

                                            },

                                            {

                                                'Name': 'CauseCode_Valid',

                                                'Value': None

                                            },

                                            {

                                                'Name': 'CauseCode',

                                                'Value': None

                                            },

                                            {

                                                'Name': 'ClosedBy',

                                                'Value': None

                                            },

            • 3. Re: Ivanti SM (HEAT) API - using Python
              dave. Rookie

              I am in the same boat. Trying to figure out how to format the commanddata with python and zeep. To create and update objects (CI).

              • 4. Re: Ivanti SM (HEAT) API - using Python
                dave. Rookie

                I figured out how to create a CI. hope this helps ...

                 

                    commandData = factory['ObjectCommandData'](

                        ObjectType = CI#Server,

                        Fields=factory['ArrayOfObjectCommandDataFieldValue']([

                            (factory['ObjectCommandDataFieldValue'](Name="Name", Value="Example")),

                            (factory['ObjectCommandDataFieldValue'](Name="Owner", Value="Example")),

                            (factory['ObjectCommandDataFieldValue'](Name="OwnerTeam", Value="Example")),

                            (factory['ObjectCommandDataFieldValue'](Name="DataCenter", Value="Example")),

                            (factory['ObjectCommandDataFieldValue'](Name="Status", Value="Example")),

                            (factory['ObjectCommandDataFieldValue'](Name="Environment", Value="Example"))

                            ])

                    )

                 

                    try:

                        createHost = frSvc.CreateObject(

                            authSessionKey,

                            tenantId,

                            commandData

                        )

                        print createHost

                    except BaseException as error:

                        print(error)

                • 5. Re: Ivanti SM (HEAT) API - using Python
                  MoBattah Rookie

                  Dave, yep, I was able to get it working.

                   

                  Going to paste some helpful stuff for people who might find this thread later.

                   

                   

                  Prefixes:

                       ns0: SaaS.Services

                       xsd: http://www.w3.org/2001/XMLSchema

                   

                  Global elements:

                       ns0:AddAttachment(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectAttachmentCommandData)

                       ns0:AddAttachmentResponse(AddAttachmentResult: ns0:FRSHEATIntegrationAddAttachmentResponse)

                       ns0:AuthenticateTenantAPIKey(apiKey: xsd:string, tenantId: xsd:string)

                       ns0:AuthenticateTenantAPIKeyResponse(AuthenticateTenantAPIKeyResult: xsd:string)

                       ns0:AuthenticateUser(userName: xsd:string, password: xsd:string, tenantId: xsd:string)

                       ns0:AuthenticateUserResponse(AuthenticateUserResult: ns0:FRSHEATIntegrationAuthenticationResponse)

                       ns0:Connect(userName: xsd:string, password: xsd:string, tenantId: xsd:string, role: xsd:string)

                       ns0:ConnectResponse(ConnectResult: ns0:FRSHEATIntegrationConnectionResponse)

                       ns0:CreateObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData)

                       ns0:CreateObjectResponse(CreateObjectResult: ns0:FRSHEATIntegrationCreateBOResponse)

                       ns0:DeleteObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData)

                       ns0:DeleteObjectResponse(DeleteObjectResult: ns0:FRSHEATIntegrationDeleteBOResponse)

                       ns0:Disconnect(sessionKey: xsd:string, tenantId: xsd:string)

                       ns0:DisconnectResponse(DisconnectResult: ns0:FRSHEATIntegrationConnectionResponse)

                       ns0:FetchServiceReqValidationListData(sessionKey: xsd:string, tenantId: xsd:string, offeringName: xsd:string, paramName: xsd:string, depvalItem: ns0:FRSHEATDepValItem, subStrMatch: xsd:string)

                       ns0:FetchServiceReqValidationListDataResponse(FetchServiceReqValidationListDataResult: ns0:FRSHEATFetchSRValListDataResponse)

                       ns0:FindBusinessObject(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, recId: xsd:string)

                       ns0:FindBusinessObjectResponse(FindBusinessObjectResult: ns0:FRSHEATIntegrationFindBOResponse)

                       ns0:FindMultipleBusinessObjectsByField(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, fieldName: xsd:string, fieldValue: xsd:string)

                       ns0:FindMultipleBusinessObjectsByFieldResponse(FindMultipleBusinessObjectsByFieldResult: ns0:FRSHEATIntegrationSearchResponse)

                       ns0:FindQuickActionByName(tenantId: xsd:string, sessionKey: xsd:string, BOType: xsd:string, quickActionName: xsd:string)

                       ns0:FindQuickActionByNameResponse(FindQuickActionByNameResult: ns0:ArrayOfString)

                       ns0:FindSingleBusinessObjectByField(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, fieldName: xsd:string, fieldValue: xsd:string)

                       ns0:FindSingleBusinessObjectByFieldResponse(FindSingleBusinessObjectByFieldResult: ns0:FRSHEATIntegrationFindBOResponse)

                       ns0:GetAllAllowedObjectNames(sessionKey: xsd:string, tenantId: xsd:string)

                       ns0:GetAllAllowedObjectNamesResponse(GetAllAllowedObjectNamesResult: ns0:ArrayOfString)

                       ns0:GetAllSchemaForObject(sessionKey: xsd:string, tenantId: xsd:string, objectName: xsd:string)

                       ns0:GetAllSchemaForObjectResponse(GetAllSchemaForObjectResult: xsd:string)

                       ns0:GetAllTemplates(sessionKey: xsd:string, tenantId: xsd:string)

                       ns0:GetAllTemplatesResponse(GetAllTemplatesResult: ns0:FRSHEATGetTemplatesResponse)

                       ns0:GetCategories(sessionKey: xsd:string, tenantId: xsd:string)

                       ns0:GetCategoriesResponse(GetCategoriesResult: ns0:FRSHEATGetCategoriesResponse)

                       ns0:GetCategoryTemplates(sessionKey: xsd:string, tenantId: xsd:string, categoryid: xsd:string, searchString: xsd:string, maxCount: xsd:int)

                       ns0:GetCategoryTemplatesResponse(GetCategoryTemplatesResult: ns0:FRSHEATGetTemplatesResponse)

                       ns0:GetPackageData(sessionKey: xsd:string, tenantId: xsd:string, strSubscrRecId: xsd:string)

                       ns0:GetPackageDataResponse(GetPackageDataResult: ns0:FRSHEATGetPackageDataResponse)

                       ns0:GetRequestData(sessionKey: xsd:string, tenantId: xsd:string, strReqNumber: xsd:string)

                       ns0:GetRequestDataResponse(GetRequestDataResult: ns0:FRSHEATGetRequestDataResponse)

                       ns0:GetRoles(sessionKey: xsd:string, tenantId: xsd:string, nameStartsWith: xsd:string, languagePack: xsd:string)

                       ns0:GetRolesForUser(sessionKey: xsd:string, tenantId: xsd:string)

                       ns0:GetRolesForUserResponse(GetRolesForUserResult: ns0:FRSHEATIntegrationGetRolesResponse)

                       ns0:GetRolesResponse(GetRolesResult: ns0:FRSHEATGetRolesResponse)

                       ns0:GetSavedSearches(sessionKey: xsd:string, tenantId: xsd:string, objectId: xsd:string, maxCount: xsd:int)

                       ns0:GetSavedSearchesResponse(GetSavedSearchesResult: ns0:FRSHEATGetSavedSearchesResponse)

                       ns0:GetSchemaForObject(sessionKey: xsd:string, tenantId: xsd:string, objectName: xsd:string)

                       ns0:GetSchemaForObjectResponse(GetSchemaForObjectResult: xsd:string)

                       ns0:GetSubscriptionId(sessionKey: xsd:string, tenantId: xsd:string, name: xsd:string)

                       ns0:GetSubscriptionIdResponse(GetSubscriptionIdResult: ns0:FRSHEATGetSubscriptionIdResponse)

                       ns0:GetUserNames(sessionKey: xsd:string, tenantId: xsd:string, nameStartsWith: xsd:string)

                       ns0:GetUserNamesResponse(GetUserNamesResult: ns0:FRSHEATGetUsersResponse)

                       ns0:IntegrationScheduleNow(sessionKey: xsd:string, tenantId: xsd:string, integrationName: xsd:string)

                       ns0:IntegrationScheduleNowResponse(IntegrationScheduleNowResult: ns0:FRSHEATIntegrationScheduleNowResponse)

                       ns0:ReadAttachment(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectAttachmentCommandData)

                       ns0:ReadAttachmentResponse(ReadAttachmentResult: ns0:FRSHEATIntegrationReadAttachmentResponse)

                       ns0:RebuildMetaDataIndex(userName: xsd:string, password: xsd:string, tenantId: xsd:string)

                       ns0:RebuildMetaDataIndexResponse(RebuildMetaDataIndexResult: ns0:FRSHEATIntegrationRebuildMRIResponse)

                       ns0:Search(sessionKey: xsd:string, tenantId: xsd:string, ObjectQuery: ns0:ObjectQueryDefinition)

                       ns0:SearchBySavedSearch(sessionKey: xsd:string, tenantId: xsd:string, ObjectQuery: ns0:ObjectQueryDefinition, savedSearchId: xsd:string)

                       ns0:SearchBySavedSearchResponse(SearchBySavedSearchResult: ns0:FRSHEATIntegrationSearchResponse)

                       ns0:SearchResponse(SearchResult: ns0:FRSHEATIntegrationSearchResponse)

                       ns0:SetRoleForUserSession(sessionKey: xsd:string, tenantId: xsd:string, roleName: xsd:string)

                       ns0:SetRoleForUserSessionResponse(SetRoleForUserSessionResult: ns0:FRSHEATIntegrationAuthorizationResponse)

                       ns0:SubmitRequest(sessionKey: xsd:string, tenantId: xsd:string, subscriptionId: xsd:string, srparameters: ns0:ArrayOfFRSHEATServiceReqParam, loginId: xsd:string)

                       ns0:SubmitRequestResponse(SubmitRequestResult: ns0:FRSHEATSubmitRequestResponse)

                       ns0:UpdateObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData)

                       ns0:UpdateObjectResponse(UpdateObjectResult: ns0:FRSHEATIntegrationUpdateBOResponse)

                       ns0:UpsertObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData, searchFields: ns0:ArrayOfString)

                       ns0:UpsertObjectResponse(UpsertObjectResult: ns0:FRSHEATIntegrationUpsertBOResponse)

                       ns0:UserCanAccessRequestOffering(sessionKey: xsd:string, tenantId: xsd:string, loginId: xsd:string, reqOfferingName: xsd:string)

                       ns0:UserCanAccessRequestOfferingResponse(UserCanAccessRequestOfferingResult: ns0:FRSHEATUserCanAccessReqOfferingResponse)

                   

                   

                  Global types:

                       xsd:anyType

                       ns0:ArrayOfArrayOfWebServiceBusinessObject(ArrayOfWebServiceBusinessObject: ns0:ArrayOfWebServiceBusinessObject[])

                       ns0:ArrayOfFRSHEATSavedSearchItem(FRSHEATSavedSearchItem: ns0:FRSHEATSavedSearchItem[])

                       ns0:ArrayOfFRSHEATServiceReqCategory(FRSHEATServiceReqCategory: ns0:FRSHEATServiceReqCategory[])

                       ns0:ArrayOfFRSHEATServiceReqParam(FRSHEATServiceReqParam: ns0:FRSHEATServiceReqParam[])

                       ns0:ArrayOfFRSHEATServiceReqTemplateListItem(FRSHEATServiceReqTemplateListItem: ns0:FRSHEATServiceReqTemplateListItem[])

                       ns0:ArrayOfFRSHEATServiceReqTemplateParam(FRSHEATServiceReqTemplateParam: ns0:FRSHEATServiceReqTemplateParam[])

                       ns0:ArrayOfFRSHEATValListValue(FRSHEATValListValue: ns0:FRSHEATValListValue[])

                       ns0:ArrayOfFieldClass(Field: ns0:FieldClass[])

                       ns0:ArrayOfFromLinkClass(Link: ns0:FromLinkClass[])

                       ns0:ArrayOfGroupByClass(Field: ns0:GroupByClass[])

                       ns0:ArrayOfLinkEntry(LinkEntry: ns0:LinkEntry[])

                       ns0:ArrayOfNameDisplayPair(NameDisplayPair: ns0:NameDisplayPair[])

                       ns0:ArrayOfObjectCommandDataFieldValue(ObjectCommandDataFieldValue: ns0:ObjectCommandDataFieldValue[])

                       ns0:ArrayOfOrderByClass(Field: ns0:OrderByClass[])

                       ns0:ArrayOfRuleClass(Rule: ns0:RuleClass[])

                       ns0:ArrayOfSearchCondition(SearchCondition: ns0:SearchCondition[])

                       ns0:ArrayOfSearchRelatedObjectInfo(SearchRelatedObjectInfo: ns0:SearchRelatedObjectInfo[])

                       ns0:ArrayOfString(string: xsd:string[])

                       ns0:ArrayOfValidationConstraint(ValidationConstraint: ns0:ValidationConstraint[])

                       ns0:ArrayOfWebServiceBusinessObject(WebServiceBusinessObject: ns0:WebServiceBusinessObject[])

                       ns0:ArrayOfWebServiceFieldValue(WebServiceFieldValue: ns0:WebServiceFieldValue[])

                       ns0:FRSHEATDepValItem(strParName: xsd:string, strParValue: xsd:string)

                       ns0:FRSHEATFetchSRValListDataResponse(status: xsd:string, exceptionReason: xsd:string, validationValuesList: ns0:ArrayOfFRSHEATValListValue)

                       ns0:FRSHEATGetCategoriesResponse(status: xsd:string, exceptionReason: xsd:string, srCategories: ns0:ArrayOfFRSHEATServiceReqCategory)

                       ns0:FRSHEATGetPackageDataResponse(status: xsd:string, exceptionReason: xsd:string, srSubscription: ns0:FRSHEATServiceReqSubscription)

                       ns0:FRSHEATGetRequestDataResponse(status: xsd:string, exceptionReason: xsd:string, reqData: ns0:FRSHEATServiceReqRequest)

                       ns0:FRSHEATGetRolesResponse(status: xsd:string, exceptionReason: xsd:string, rolesList: ns0:ArrayOfNameDisplayPair)

                       ns0:FRSHEATGetSavedSearchesResponse(status: xsd:string, exceptionReason: xsd:string, srtSavedSearches: ns0:ArrayOfFRSHEATSavedSearchItem)

                       ns0:FRSHEATGetSubscriptionIdResponse(status: xsd:string, exceptionReason: xsd:string, subscriptionId: xsd:string)

                       ns0:FRSHEATGetTemplatesResponse(status: xsd:string, exceptionReason: xsd:string, srtList: ns0:ArrayOfFRSHEATServiceReqTemplateListItem)

                       ns0:FRSHEATGetUsersResponse(status: xsd:string, exceptionReason: xsd:string, usersList: ns0:ArrayOfNameDisplayPair)

                       ns0:FRSHEATIntegrationAddAttachmentResponse(status: xsd:string, exceptionReason: xsd:string)

                       ns0:FRSHEATIntegrationAuthenticationResponse(authenticationStatus: xsd:string, authenticationSessionKey: xsd:string, exceptionReason: xsd:string)

                       ns0:FRSHEATIntegrationAuthorizationResponse(authorizationStatus: xsd:string, authorizationSessionKey: xsd:string, exceptionReason: xsd:string)

                       ns0:FRSHEATIntegrationConnectionResponse(connectionStatus: xsd:string, sessionKey: xsd:string, exceptionReason: xsd:string)

                       ns0:FRSHEATIntegrationCreateBOResponse(status: xsd:string, exceptionReason: xsd:string, recId: xsd:string, obj: ns0:WebServiceBusinessObject)

                       ns0:FRSHEATIntegrationDeleteBOResponse(status: xsd:string, exceptionReason: xsd:string)

                       ns0:FRSHEATIntegrationFindBOResponse(status: xsd:string, exceptionReason: xsd:string, obj: ns0:WebServiceBusinessObject)

                       ns0:FRSHEATIntegrationGetRolesResponse(status: xsd:string, roleList: ns0:ArrayOfNameDisplayPair, exceptionReason: xsd:string)

                       ns0:FRSHEATIntegrationReadAttachmentResponse(status: xsd:string, exceptionReason: xsd:string, attachmentData: xsd:base64Binary)

                       ns0:FRSHEATIntegrationRebuildMRIResponse(Status: xsd:string, ExceptionMsg: xsd:string, TimeTaken: xsd:int, RecordCount: xsd:long, ErrorCount: xsd:int, IndexErrors: ns0:ArrayOfString)

                       ns0:FRSHEATIntegrationScheduleNowResponse(status: xsd:string, exceptionReason: xsd:string, integrationQueueId: xsd:string)

                       ns0:FRSHEATIntegrationSearchResponse(status: xsd:string, exceptionReason: xsd:string, objList: ns0:ArrayOfArrayOfWebServiceBusinessObject)

                       ns0:FRSHEATIntegrationUpdateBOResponse(status: xsd:string, exceptionReason: xsd:string, recId: xsd:string, obj: ns0:WebServiceBusinessObject)

                       ns0:FRSHEATIntegrationUpsertBOResponse(status: xsd:string, exceptionReason: xsd:string, recId: xsd:string, obj: ns0:WebServiceBusinessObject)

                       ns0:FRSHEATSavedSearchItem(strRecId: xsd:string, strCategoryName: xsd:string, strName: xsd:string, strDescription: xsd:string)

                       ns0:FRSHEATServiceReqCategory(strRecId: xsd:string, strName: xsd:string, strDescription: xsd:string)

                       ns0:FRSHEATServiceReqParam(strName: xsd:string, strValue: xsd:string)

                       ns0:FRSHEATServiceReqRequest(strRequestRecId: xsd:string, strRequestNum: xsd:string, fTotalPrice: xsd:decimal, fTotalRecurPrice: xsd:decimal, strByEmployee: xsd:string, strFulfillmentPlanType: xsd:string, strUrgency: xsd:string, DateSubmitted: xsd:dateTime, DateUpdated: xsd:dateTime, strUpdatedBy: xsd:string, DateDelivery: xsd:dateTime, strSubscriptionRecId: xsd:string, isFulfilled: xsd:boolean, strName: xsd:string, strItem: xsd:string, strDescription: xsd:string, fPrice: xsd:decimal, fRecurPrice: xsd:decimal, nRecurPeriod: xsd:int, nDeliveryCommitment: xsd:int, strStatus: xsd:string, strCreatedBy: xsd:string, strRecId: xsd:string, lstParameters: ns0:ArrayOfFRSHEATServiceReqTemplateParam)

                       ns0:FRSHEATServiceReqSubscription(strSubscriptionRecId: xsd:string, strDateSubscribed: xsd:string, strOrgUnitId: xsd:string, strName: xsd:string, strItem: xsd:string, strDescription: xsd:string, strServiceName: xsd:string, strRecId: xsd:string, lstParameters: ns0:ArrayOfFRSHEATServiceReqTemplateParam)

                       ns0:FRSHEATServiceReqTemplateListItem(strRecId: xsd:string, strName: xsd:string, strItem: xsd:string, strDescription: xsd:string, strSubscriptionId: xsd:string, strIconName: xsd:string)

                       ns0:FRSHEATServiceReqTemplateParam(strName: xsd:string, strLabel: xsd:string, strDescription: xsd:string, strType: xsd:string, bAllowSelectByUser: xsd:boolean, bDBValidated: xsd:boolean, strRequiredExpression: xsd:string, isCalculated: xsd:boolean, autoFillOnlyWhenEmpty: xsd:boolean, strValidationListRecId: xsd:string, strValidationListTableRef: xsd:string, bIsHidden: xsd:boolean, strRecId: xsd:string, validationConstraints: ns0:ArrayOfValidationConstraint, strValidationConstraints: xsd:string, strAutoFillExpression: xsd:string, triggerFields: ns0:ArrayOfString, strTriggerFields: xsd:string, strDefaultValue: xsd:string)

                       ns0:FRSHEATSubmitRequestResponse(status: xsd:string, exceptionReason: xsd:string, reqData: ns0:FRSHEATServiceReqRequest)

                       ns0:FRSHEATUserCanAccessReqOfferingResponse(status: xsd:string, exceptionReason: xsd:string, canAccess: xsd:boolean)

                       ns0:FRSHEATValListValue(strRecId: xsd:string, strStoredValue: xsd:string, strDisplayValue: xsd:string)

                       ns0:FieldClass(Function: xsd:string, Name: xsd:string, As: xsd:string, Type: xsd:string)

                       ns0:FromClass(Links: ns0:ArrayOfFromLinkClass, Object: xsd:string)

                       ns0:FromLinkClass(Relation: xsd:string, Object: xsd:string, As: xsd:string, JoinKind: xsd:string, RelationshipName: xsd:string)

                       ns0:GroupByClass(Name: xsd:string, As: xsd:string)

                       ns0:LinkEntry(Action: xsd:string, Relation: xsd:string, RelatedObjectType: xsd:string, RelationshipName: xsd:string, RelatedObjectId: xsd:string, SearchCriteria: ns0:ArrayOfSearchCondition)

                       ns0:NameDisplayPair(Name: xsd:string, DisplayName: xsd:string)

                       ns0:ObjectAttachmentCommandData(ObjectId: xsd:string, ObjectType: xsd:string, relationshipTag: xsd:string, hostName: xsd:string, fileName: xsd:string, URL: xsd:string, fileData: xsd:base64Binary)

                       ns0:ObjectCommandData(ObjectId: xsd:string, ObjectType: xsd:string, Fields: ns0:ArrayOfObjectCommandDataFieldValue, LinkToExistent: ns0:ArrayOfLinkEntry)

                       ns0:ObjectCommandDataFieldValue(Name: xsd:string, Value: xsd:string, BinaryData: xsd:base64Binary, HtmlValue: xsd:string)

                       ns0:ObjectQueryDefinition(From: ns0:FromClass, Select: ns0:SelectClass, Where: ns0:ArrayOfRuleClass, GroupBy: ns0:ArrayOfGroupByClass, OrderBy: ns0:ArrayOfOrderByClass, Top: xsd:int, Distinct: xsd:boolean, PasswordFieldBehavior: ns0:PasswordFieldBehavior)

                       ns0:OrderByClass(Name: xsd:string, Direction: xsd:string)

                       ns0:PasswordFieldBehavior

                       ns0:RuleClass(Rules: ns0:ArrayOfRuleClass, ObjectId: xsd:string, ObjectDisplay: xsd:string, FieldName: xsd:string, FieldDisplay: xsd:string, FieldType: xsd:string, Required: xsd:boolean, ParamValue: xsd:string, ParamValueDisplay: xsd:string, Join: xsd:string, Condition: xsd:string, ConditionType: ns0:SearchConditionType, As: xsd:string, Field: xsd:string, Value: xsd:string, ValueDisplay: xsd:string)

                       ns0:SearchCondition(ObjectId: xsd:string, ObjectDisplay: xsd:string, JoinRule: xsd:string, Condition: xsd:string, ConditionType: ns0:SearchConditionType, FieldName: xsd:string, FieldDisplay: xsd:string, FieldAlias: xsd:string, FieldType: xsd:string, FieldValue: xsd:string, FieldValueDisplay: xsd:string, FieldValueBehavior: xsd:string, FieldStartValue: xsd:string, FieldEndValue: xsd:string, BracketLevel: xsd:int, IsClosingBracket: xsd:boolean, IsRelatedObjectQuery: xsd:boolean, RelatedObjectId: xsd:string, RelatedObjectDisplay: xsd:string, RelatedObjectOp: xsd:string, RelatedObjectCount: xsd:int, RelatedObjects: ns0:ArrayOfSearchRelatedObjectInfo, RelatedRelatedObjects: ns0:ArrayOfSearchRelatedObjectInfo, MasterObjectId: xsd:string, IsRelatedObjectCondition: xsd:boolean, SubQuery: ns0:ArrayOfSearchCondition)

                       ns0:SearchConditionType

                       ns0:SearchRelatedObjectInfo(ID: xsd:string, ObjectId: xsd:string, Name: xsd:string, Style: xsd:string, ThereCardinality: xsd:string)

                       ns0:SelectClass(Fields: ns0:ArrayOfFieldClass, All: xsd:boolean)

                       ns0:ValidationConstraint(ConstraintFieldName: xsd:string, ConstraintFieldDisplay: xsd:string, FormFieldRecId: xsd:string, FormFieldName: xsd:string, ConstraintBOName: xsd:string, ConstraintField: xsd:string, ConstraintCondition: xsd:string)

                       ns0:WebServiceBusinessObject(RecID: xsd:string, Alias: xsd:string, BusinessObjectName: xsd:string, TableRef: xsd:string, FieldValues: ns0:ArrayOfWebServiceFieldValue)

                       ns0:WebServiceFieldValue(Name: xsd:string, Value: xsd:anyType)

                       xsd:ENTITIES

                       xsd:ENTITY

                       xsd:ID

                       xsd:IDREF

                       xsd:IDREFS

                       xsd:NCName

                       xsd:NMTOKEN

                       xsd:NMTOKENS

                       xsd:NOTATION

                       xsd:Name

                       xsd:QName

                       xsd:anySimpleType

                       xsd:anyURI

                       xsd:base64Binary

                       xsd:boolean

                       xsd:byte

                       xsd:date

                       xsd:dateTime

                       xsd:decimal

                       xsd:double

                       xsd:duration

                       xsd:float

                       xsd:gDay

                       xsd:gMonth

                       xsd:gMonthDay

                       xsd:gYear

                       xsd:gYearMonth

                       xsd:hexBinary

                       xsd:int

                       xsd:integer

                       xsd:language

                       xsd:long

                       xsd:negativeInteger

                       xsd:nonNegativeInteger

                       xsd:nonPositiveInteger

                       xsd:normalizedString

                       xsd:positiveInteger

                       xsd:short

                       xsd:string

                       xsd:time

                       xsd:token

                       xsd:unsignedByte

                       xsd:unsignedInt

                       xsd:unsignedLong

                       xsd:unsignedShort

                   

                  Bindings:

                       Soap11Binding: {SaaS.Services}FRSHEATIntegrationSoap

                       Soap12Binding: {SaaS.Services}FRSHEATIntegrationSoap12

                   

                  Service: FRSHEATIntegration

                       Port: FRSHEATIntegrationSoap (Soap11Binding: {SaaS.Services}FRSHEATIntegrationSoap)

                           Operations:

                              AddAttachment(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectAttachmentCommandData) -> AddAttachmentResult: ns0:FRSHEATIntegrationAddAttachmentResponse

                              AuthenticateTenantAPIKey(apiKey: xsd:string, tenantId: xsd:string) -> AuthenticateTenantAPIKeyResult: xsd:string

                              AuthenticateUser(userName: xsd:string, password: xsd:string, tenantId: xsd:string) -> AuthenticateUserResult: ns0:FRSHEATIntegrationAuthenticationResponse

                              Connect(userName: xsd:string, password: xsd:string, tenantId: xsd:string, role: xsd:string) -> ConnectResult: ns0:FRSHEATIntegrationConnectionResponse

                              CreateObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData) -> CreateObjectResult: ns0:FRSHEATIntegrationCreateBOResponse

                              DeleteObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData) -> DeleteObjectResult: ns0:FRSHEATIntegrationDeleteBOResponse

                              Disconnect(sessionKey: xsd:string, tenantId: xsd:string) -> DisconnectResult: ns0:FRSHEATIntegrationConnectionResponse

                              FetchServiceReqValidationListData(sessionKey: xsd:string, tenantId: xsd:string, offeringName: xsd:string, paramName: xsd:string, depvalItem: ns0:FRSHEATDepValItem, subStrMatch: xsd:string) -> FetchServiceReqValidationListDataResult: ns0:FRSHEATFetchSRValListDataResponse

                              FindBusinessObject(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, recId: xsd:string) -> FindBusinessObjectResult: ns0:FRSHEATIntegrationFindBOResponse

                              FindMultipleBusinessObjectsByField(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, fieldName: xsd:string, fieldValue: xsd:string) -> FindMultipleBusinessObjectsByFieldResult: ns0:FRSHEATIntegrationSearchResponse

                              FindQuickActionByName(tenantId: xsd:string, sessionKey: xsd:string, BOType: xsd:string, quickActionName: xsd:string) -> FindQuickActionByNameResult: ns0:ArrayOfString

                              FindSingleBusinessObjectByField(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, fieldName: xsd:string, fieldValue: xsd:string) -> FindSingleBusinessObjectByFieldResult: ns0:FRSHEATIntegrationFindBOResponse

                              GetAllAllowedObjectNames(sessionKey: xsd:string, tenantId: xsd:string) -> GetAllAllowedObjectNamesResult: ns0:ArrayOfString

                              GetAllSchemaForObject(sessionKey: xsd:string, tenantId: xsd:string, objectName: xsd:string) -> GetAllSchemaForObjectResult: xsd:string

                              GetAllTemplates(sessionKey: xsd:string, tenantId: xsd:string) -> GetAllTemplatesResult: ns0:FRSHEATGetTemplatesResponse

                              GetCategories(sessionKey: xsd:string, tenantId: xsd:string) -> GetCategoriesResult: ns0:FRSHEATGetCategoriesResponse

                              GetCategoryTemplates(sessionKey: xsd:string, tenantId: xsd:string, categoryid: xsd:string, searchString: xsd:string, maxCount: xsd:int) -> GetCategoryTemplatesResult: ns0:FRSHEATGetTemplatesResponse

                              GetPackageData(sessionKey: xsd:string, tenantId: xsd:string, strSubscrRecId: xsd:string) -> GetPackageDataResult: ns0:FRSHEATGetPackageDataResponse

                              GetRequestData(sessionKey: xsd:string, tenantId: xsd:string, strReqNumber: xsd:string) -> GetRequestDataResult: ns0:FRSHEATGetRequestDataResponse

                              GetRoles(sessionKey: xsd:string, tenantId: xsd:string, nameStartsWith: xsd:string, languagePack: xsd:string) -> GetRolesResult: ns0:FRSHEATGetRolesResponse

                              GetRolesForUser(sessionKey: xsd:string, tenantId: xsd:string) -> GetRolesForUserResult: ns0:FRSHEATIntegrationGetRolesResponse

                              GetSavedSearches(sessionKey: xsd:string, tenantId: xsd:string, objectId: xsd:string, maxCount: xsd:int) -> GetSavedSearchesResult: ns0:FRSHEATGetSavedSearchesResponse

                              GetSchemaForObject(sessionKey: xsd:string, tenantId: xsd:string, objectName: xsd:string) -> GetSchemaForObjectResult: xsd:string

                              GetSubscriptionId(sessionKey: xsd:string, tenantId: xsd:string, name: xsd:string) -> GetSubscriptionIdResult: ns0:FRSHEATGetSubscriptionIdResponse

                              GetUserNames(sessionKey: xsd:string, tenantId: xsd:string, nameStartsWith: xsd:string) -> GetUserNamesResult: ns0:FRSHEATGetUsersResponse

                              IntegrationScheduleNow(sessionKey: xsd:string, tenantId: xsd:string, integrationName: xsd:string) -> IntegrationScheduleNowResult: ns0:FRSHEATIntegrationScheduleNowResponse

                              ReadAttachment(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectAttachmentCommandData) -> ReadAttachmentResult: ns0:FRSHEATIntegrationReadAttachmentResponse

                              RebuildMetaDataIndex(userName: xsd:string, password: xsd:string, tenantId: xsd:string) -> RebuildMetaDataIndexResult: ns0:FRSHEATIntegrationRebuildMRIResponse

                              Search(sessionKey: xsd:string, tenantId: xsd:string, ObjectQuery: ns0:ObjectQueryDefinition) -> SearchResult: ns0:FRSHEATIntegrationSearchResponse

                              SearchBySavedSearch(sessionKey: xsd:string, tenantId: xsd:string, ObjectQuery: ns0:ObjectQueryDefinition, savedSearchId: xsd:string) -> SearchBySavedSearchResult: ns0:FRSHEATIntegrationSearchResponse

                              SetRoleForUserSession(sessionKey: xsd:string, tenantId: xsd:string, roleName: xsd:string) -> SetRoleForUserSessionResult: ns0:FRSHEATIntegrationAuthorizationResponse

                              SubmitRequest(sessionKey: xsd:string, tenantId: xsd:string, subscriptionId: xsd:string, srparameters: ns0:ArrayOfFRSHEATServiceReqParam, loginId: xsd:string) -> SubmitRequestResult: ns0:FRSHEATSubmitRequestResponse

                              UpdateObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData) -> UpdateObjectResult: ns0:FRSHEATIntegrationUpdateBOResponse

                              UpsertObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData, searchFields: ns0:ArrayOfString) -> UpsertObjectResult: ns0:FRSHEATIntegrationUpsertBOResponse

                              UserCanAccessRequestOffering(sessionKey: xsd:string, tenantId: xsd:string, loginId: xsd:string, reqOfferingName: xsd:string) -> UserCanAccessRequestOfferingResult: ns0:FRSHEATUserCanAccessReqOfferingResponse

                   

                       Port: FRSHEATIntegrationSoap12 (Soap12Binding: {SaaS.Services}FRSHEATIntegrationSoap12)

                           Operations:

                              AddAttachment(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectAttachmentCommandData) -> AddAttachmentResult: ns0:FRSHEATIntegrationAddAttachmentResponse

                              AuthenticateTenantAPIKey(apiKey: xsd:string, tenantId: xsd:string) -> AuthenticateTenantAPIKeyResult: xsd:string

                              AuthenticateUser(userName: xsd:string, password: xsd:string, tenantId: xsd:string) -> AuthenticateUserResult: ns0:FRSHEATIntegrationAuthenticationResponse

                              Connect(userName: xsd:string, password: xsd:string, tenantId: xsd:string, role: xsd:string) -> ConnectResult: ns0:FRSHEATIntegrationConnectionResponse

                              CreateObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData) -> CreateObjectResult: ns0:FRSHEATIntegrationCreateBOResponse

                              DeleteObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData) -> DeleteObjectResult: ns0:FRSHEATIntegrationDeleteBOResponse

                              Disconnect(sessionKey: xsd:string, tenantId: xsd:string) -> DisconnectResult: ns0:FRSHEATIntegrationConnectionResponse

                              FetchServiceReqValidationListData(sessionKey: xsd:string, tenantId: xsd:string, offeringName: xsd:string, paramName: xsd:string, depvalItem: ns0:FRSHEATDepValItem, subStrMatch: xsd:string) -> FetchServiceReqValidationListDataResult: ns0:FRSHEATFetchSRValListDataResponse

                              FindBusinessObject(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, recId: xsd:string) -> FindBusinessObjectResult: ns0:FRSHEATIntegrationFindBOResponse

                              FindMultipleBusinessObjectsByField(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, fieldName: xsd:string, fieldValue: xsd:string) -> FindMultipleBusinessObjectsByFieldResult: ns0:FRSHEATIntegrationSearchResponse

                              FindQuickActionByName(tenantId: xsd:string, sessionKey: xsd:string, BOType: xsd:string, quickActionName: xsd:string) -> FindQuickActionByNameResult: ns0:ArrayOfString

                              FindSingleBusinessObjectByField(sessionKey: xsd:string, tenantId: xsd:string, boType: xsd:string, fieldName: xsd:string, fieldValue: xsd:string) -> FindSingleBusinessObjectByFieldResult: ns0:FRSHEATIntegrationFindBOResponse

                              GetAllAllowedObjectNames(sessionKey: xsd:string, tenantId: xsd:string) -> GetAllAllowedObjectNamesResult: ns0:ArrayOfString

                              GetAllSchemaForObject(sessionKey: xsd:string, tenantId: xsd:string, objectName: xsd:string) -> GetAllSchemaForObjectResult: xsd:string

                              GetAllTemplates(sessionKey: xsd:string, tenantId: xsd:string) -> GetAllTemplatesResult: ns0:FRSHEATGetTemplatesResponse

                              GetCategories(sessionKey: xsd:string, tenantId: xsd:string) -> GetCategoriesResult: ns0:FRSHEATGetCategoriesResponse

                              GetCategoryTemplates(sessionKey: xsd:string, tenantId: xsd:string, categoryid: xsd:string, searchString: xsd:string, maxCount: xsd:int) -> GetCategoryTemplatesResult: ns0:FRSHEATGetTemplatesResponse

                              GetPackageData(sessionKey: xsd:string, tenantId: xsd:string, strSubscrRecId: xsd:string) -> GetPackageDataResult: ns0:FRSHEATGetPackageDataResponse

                              GetRequestData(sessionKey: xsd:string, tenantId: xsd:string, strReqNumber: xsd:string) -> GetRequestDataResult: ns0:FRSHEATGetRequestDataResponse

                              GetRoles(sessionKey: xsd:string, tenantId: xsd:string, nameStartsWith: xsd:string, languagePack: xsd:string) -> GetRolesResult: ns0:FRSHEATGetRolesResponse

                              GetRolesForUser(sessionKey: xsd:string, tenantId: xsd:string) -> GetRolesForUserResult: ns0:FRSHEATIntegrationGetRolesResponse

                              GetSavedSearches(sessionKey: xsd:string, tenantId: xsd:string, objectId: xsd:string, maxCount: xsd:int) -> GetSavedSearchesResult: ns0:FRSHEATGetSavedSearchesResponse

                              GetSchemaForObject(sessionKey: xsd:string, tenantId: xsd:string, objectName: xsd:string) -> GetSchemaForObjectResult: xsd:string

                              GetSubscriptionId(sessionKey: xsd:string, tenantId: xsd:string, name: xsd:string) -> GetSubscriptionIdResult: ns0:FRSHEATGetSubscriptionIdResponse

                              GetUserNames(sessionKey: xsd:string, tenantId: xsd:string, nameStartsWith: xsd:string) -> GetUserNamesResult: ns0:FRSHEATGetUsersResponse

                              IntegrationScheduleNow(sessionKey: xsd:string, tenantId: xsd:string, integrationName: xsd:string) -> IntegrationScheduleNowResult: ns0:FRSHEATIntegrationScheduleNowResponse

                              ReadAttachment(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectAttachmentCommandData) -> ReadAttachmentResult: ns0:FRSHEATIntegrationReadAttachmentResponse

                              RebuildMetaDataIndex(userName: xsd:string, password: xsd:string, tenantId: xsd:string) -> RebuildMetaDataIndexResult: ns0:FRSHEATIntegrationRebuildMRIResponse

                              Search(sessionKey: xsd:string, tenantId: xsd:string, ObjectQuery: ns0:ObjectQueryDefinition) -> SearchResult: ns0:FRSHEATIntegrationSearchResponse

                              SearchBySavedSearch(sessionKey: xsd:string, tenantId: xsd:string, ObjectQuery: ns0:ObjectQueryDefinition, savedSearchId: xsd:string) -> SearchBySavedSearchResult: ns0:FRSHEATIntegrationSearchResponse

                              SetRoleForUserSession(sessionKey: xsd:string, tenantId: xsd:string, roleName: xsd:string) -> SetRoleForUserSessionResult: ns0:FRSHEATIntegrationAuthorizationResponse

                              SubmitRequest(sessionKey: xsd:string, tenantId: xsd:string, subscriptionId: xsd:string, srparameters: ns0:ArrayOfFRSHEATServiceReqParam, loginId: xsd:string) -> SubmitRequestResult: ns0:FRSHEATSubmitRequestResponse

                              UpdateObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData) -> UpdateObjectResult: ns0:FRSHEATIntegrationUpdateBOResponse

                              UpsertObject(sessionKey: xsd:string, tenantId: xsd:string, commandData: ns0:ObjectCommandData, searchFields: ns0:ArrayOfString) -> UpsertObjectResult: ns0:FRSHEATIntegrationUpsertBOResponse

                              UserCanAccessRequestOffering(sessionKey: xsd:string, tenantId: xsd:string, loginId: xsd:string, reqOfferingName: xsd:string) -> UserCanAccessRequestOfferingResult: ns0:FRSHEATUserCanAccessReqOfferingResponse