Skip to main content
Omnitracs Knowledge Base

Workflow Application Management

Application Management Overview

These services enable workflow templates to be managed and tracked for devices enabled in the account. The management consist of direct web services and response transaction through the Qualcomm Service Portal Event Subscription Service (ESS). These perform the same functions that can be done in the UI for viewing (i.e. listing) and deploying workflow templates. The upload of workflow templates is only accessible through the user interface.

WMC_Deploy_ESS (1).jpg

Application Web Service Invocation

The WMC web services for application management provide listing and manipulation methods. Invoke getWorkflows to list currently available workflows, and deployWorkflow to configure one or more devices.

Retrieving Available Workflows

Use the WMC web service URL with the getWorkflows method. The method does not take any parameters. It returns a detailed listing of the workflows currently published and available to be deployed.

Invocation

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.web.ovdw.qdc.qualcomm.com/">

<!-- security header omitted -->

   <soapenv:Body>

      <ser:getWorkflows/>

   </soapenv:Body>

</soapenv:Envelope><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.web.ovdw.qdc.qualcomm.com/">

Sample Response

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

   <soap:Body>

      <ns1:getWorkflowsResponse xmlns:ns1="http://service.web.ovdw.qdc.qualcomm.com/">

         <return xmlns:ns2="http://service.web.ovdw.qdc.qualcomm.com/">

            <size>6</size>

            <workflowList>

               <mobileType>MCP200</mobileType>

               <mobileType>MCP110</mobileType>

               <packageHandle>11145</packageHandle>

               <packageName>WFTST3_john__johnspkg</packageName>

               <packageTimestamp>2011-08-31 17:49:21.043</packageTimestamp>

               <packageVersion>dfdf</packageVersion>

            </workflowList>

            <workflowList>

               <mobileType>MCP200</mobileType>

               <mobileType>MCP110</mobileType>

               <packageHandle>10772</packageHandle>

               <packageName>WFTST3_LTL_LTL_562</packageName>

               <packageTimestamp>2011-08-23 22:40:49.11</packageTimestamp>

               <packageVersion>1.0</packageVersion>

            </workflowList>

            <workflowList>

               <mobileType>MCP200</mobileType>

               <mobileType>MCP110</mobileType>

               <packageHandle>10774</packageHandle>

               <packageName>WFTST3_LTL_ltl_562_aa</packageName>

               <packageTimestamp>2011-08-23 22:59:55.043</packageTimestamp>

               <packageVersion>1.1</packageVersion>

            </workflowList>

            <workflowList>

               <mobileType>MCP200</mobileType>

               <mobileType>MCP110</mobileType>

               <packageHandle>11432</packageHandle>

               <packageName>WFTST3_LTL_ltl_568</packageName>

               <packageTimestamp>2011-10-07 16:08:50.027</packageTimestamp>

               <packageVersion>v568</packageVersion>

            </workflowList>

            <workflowList>

               <mobileType>MCP200</mobileType>

               <mobileType>MCP110</mobileType>

               <packageHandle>11431</packageHandle>

               <packageName>WFTST3_Workflow_Grocer_Grocer_568</packageName>

               <packageTimestamp>2011-10-07 16:07:29.993</packageTimestamp>

               <packageVersion>v568</packageVersion>

            </workflowList>

            <workflowList>

               <mobileType>MCP110</mobileType>

               <mobileType>MCP200</mobileType>

               <packageHandle>11434</packageHandle>

               <packageName>WFTST3_Workflow_MyWorkflow_A_7.6_24</packageName>

               <packageTimestamp>2011-10-07 19:13:15.773</packageTimestamp>

               <packageVersion>build 24</packageVersion>

            </workflowList>

         </return>

      </ns1:getWorkflowsResponse>

   </soap:Body>

</soap:Envelope>

 

Understanding the Workflow List Return Values

The table below describes the fields that appear for each published workflow template.

Element Example Description

mobileType

MPC110, MCP200

The type of device that this workflow template can support

packageHandle

11434

Numeric code associated with the published workflow template

packageName

WFTST3_Workflow_MyWorkflow_A_7.6_24

The compound name associated with this workflow template

packageTimestamp

2011-10-07 19:13:15.773

The UTC time the package was published

packageVersion

build 24

The user-specified information associated with how the package was versioned

 

Service Faults

This method has no specific web service faults. Implementations should be able to handle the standard credential errors.

Deploying a Workflow Package

Invocation

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.web.ovdw.qdc.qualcomm.com/">

<!-- security header omitted -->

   <soapenv:Body>

      <ser:deployWorkflow>

         <!--Optional:-->

         <arg0>

            <handle>10604</handle>

            <!--Optional:-->

            <name>WFTST1_TEST_081611</name>

            <!--Zero or more repetitions:-->

            <uaList>105395001</uaList>

            <uaList>105395002</uaList>

            <uaList>105395003</uaList>

            <uaList>105395004</uaList>

            <uaList>105395005</uaList>

            <uaList>105395006</uaList>

            <uaList>105395007</uaList>

            <uaList>105395008</uaList>

            <uaList>105395009</uaList>

            <uaList>105395010</uaList>

         </arg0>

      </ser:deployWorkflow>

   </soapenv:Body>

</soapenv:Envelope>

Successful Cases

A successful response returns a total list of devices processed in the element <totalUA>. Each successful device appears as a distinct <successUA> element.

Response example from above invocation.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

   <soap:Body>

      <ns1:deployWorkflowResponse xmlns:ns1="http://service.web.ovdw.qdc.qualcomm.com/">

         <return xmlns:ns2="http://service.web.ovdw.qdc.qualcomm.com/">

            <successUA>105395001</successUA>

            <successUA>105395002</successUA>

            <successUA>105395003</successUA>

            <successUA>105395004</successUA>

            <successUA>105395005</successUA>

            <successUA>105395006</successUA>

            <successUA>105395007</successUA>

            <successUA>105395008</successUA>

            <successUA>105395009</successUA>

            <successUA>105395010</successUA>

            <totalUA>10</totalUA>

         </return>

      </ns1:deployWorkflowResponse>

   </soap:Body>

</soap:Envelope>

Failure Cases

Because a deployment can involve multiple devices, integration code should expect to handle failure and success cases in a single invocation. Failures will always be listed first. The example below shows two failures. The first case describes a template/device mismatch, where the device was an MCP100, but the workflow template supported only MCP110 and MCP200.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

   <soap:Body>

      <ns1:deployWorkflowResponse xmlns:ns1="http://service.web.ovdw.qdc.qualcomm.com/">

         <return xmlns:ns2="http://service.web.ovdw.qdc.qualcomm.com/">

            <ignoredUA>

               <ua>105061335</ua>

               <reason>UANumber 105061335 is not associated with device types  MCP200 MCP110  .</reason>

            </ignoredUA>

            <ignoredUA>

               <ua>1002</ua>

               <reason>Invalid UANumber.</reason>

            </ignoredUA>

            <ignoredUA>

               <ua>1003</ua>

               <reason>Invalid UANumber.</reason>

            </ignoredUA>

            <ignoredUA>

               <ua>1003</ua>

               <reason>Invalid UANumber.</reason>

            </ignoredUA>

            <successUA>105395001</successUA>

            <totalUA>5</totalUA>

         </return>

      </ns1:deployWorkflowResponse>

   </soap:Body>

</soap:Envelope>

Service Faults

A web service fault will be returned if the workflow name or handle are omitted (WSDL describes these as optional, but must be provided in this release of the interface). Because both elements must be provided, if there is a mismatch WMC will not know the intention and returns an error. Example errors are show below.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

   <soap:Body>

      <soap:Fault>

         <faultcode>soap:Server</faultcode>

         <faultstring>Invaild package name and handle.</faultstring>

         <detail>

            <ns1:ServiceException xmlns:ns1="http://service.web.ovdw.qdc.qualcomm.com/"/>

         </detail>

      </soap:Fault>

   </soap:Body>

</soap:Envelope>

Handle was not provided on input.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

   <soap:Body>

      <soap:Fault>

         <faultcode>soap:Client</faultcode>

         <faultstring>handle is not provided.</faultstring>

      </soap:Fault>

   </soap:Body>

</soap:Envelope>

Empty Workflow Name

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

   <soap:Body>

      <soap:Fault>

         <faultcode>soap:Server</faultcode>

         <faultstring>Package name or handle is not provided.</faultstring>

         <detail>

            <ns1:ServiceException xmlns:ns1="http://service.web.ovdw.qdc.qualcomm.com/"/>

         </detail>

      </soap:Fault>

   </soap:Body>

</soap:Envelope>

Event Subscription Service Integration

Application deployment is a multi-part process. The first process is the synchronous web service invocation to deployWorkflow. The second part is the asynchronous process of the delivery status. This status is conveyed in the ESS T.6.04.0 transaction. If a workflow template has not been deployed to a device, the T.6.04.0 transaction will still contain workflowPackage* elements, but these will be empty.

T.6.04.0 Events

Event Fields

The remaining fields describe the workflow package application that has been deployed to the given device. If these elements do not have a value, a workflow package has not been deployed to the device.

T.6.04.0 Element Description

workflowPackageName

Human readable name assigned to the deployed package in WMC

workflowPackageVersion

User assigned version when deploying package in WMC

workflowPackageHandle

Unique numeric value assigned as package receipt

workflowPackageTS

Time of deployment (UTC)

 

Workflow Not Deployed

The example below shows a device that has not been assigned a workflow template. When a new device is first provisioned to your account, expect to see a similar appearing T.6.04.0 transaction.

<T.6.04.0>

    <eventTS>2011-04-22T19:06:36.380Z</eventTS>

    <equipment unitAddress="105001156" mobileType="12" equipType="tractor" />

    <workflowServiceLevel>3</workflowServiceLevel>

    <workflowPackageName />

    <workflowPackageVersion />

    <workflowPackageHandle />

    <workflowPackageTS />

    <workflowPackageStatus />

</T.6.04.0>

Workflow Deployment In Progress

Because the application code is being delivered over the air, it may take some time to update the device. During this period, the workflow template status will be "Transmitting", or code 1. The device must be able to communicate with the Qualcomm Network Management Center in order to complete. Make sure the unit is on the air. Contact Qualcomm Support if you need assistance.

<T.6.04.0>

    <eventTS>2011-04-22T23:25:37.463Z</eventTS>

    <equipment unitAddress="105314818" mobileType="14" equipType="tractor" ID="4818WMCTST" />

    <workflowServiceLevel>3</workflowServiceLevel>

    <workflowPackageName>Test</workflowPackageName>

    <workflowPackageVersion>1.1</workflowPackageVersion>

    <workflowPackageHandle>7708</workflowPackageHandle>

    <workflowPackageTS>2011-04-22 23:23:08.22</workflowPackageTS>

    <workflowPackageStatus>1<workflowPackageStatus/>

</T.6.04.0>

Workflow Deployment Complete

A status code of zero (0), indicates the installation has completed and there were no reported errors.

<T.6.04.0>

    <eventTS>2011-04-22T23:25:37.463Z</eventTS>

    <equipment unitAddress="105314818" mobileType="14" equipType="tractor" ID="4818WMCTST" />

    <workflowServiceLevel>3</workflowServiceLevel>

    <workflowPackageName>Test</workflowPackageName>

    <workflowPackageVersion>1.1</workflowPackageVersion>

    <workflowPackageHandle>7708</workflowPackageHandle>

    <workflowPackageTS>2011-04-22 23:23:08.22</workflowPackageTS>

    <workflowPackageStatus>0<workflowPackageStatus/>

</T.6.04.0>

Other Codes

The <workflowPackageStatus> indicates whether the workflow template has completed the installation.

Other Codes

The <workflowPackageStatus> indicates whether the workflow template has completed the installation.

 

workflowPackageStatus

 

 

Description

 

0

Completed

1

Transmitting

2

Failed

The equipment described the type of device, including the address, vehicle ID, and mobile type. Workflow is supported on mobileType 12,13, and 14.

 

mobileType

 

 

Description

 

0

Unknown

1

MCT

2

TMCT

3

OmniOne

4

MCP

10

UTT

11

Tethered

5

MCP100

6

MCP110

7

MCP200

8

MCP50

The workflow service level indicates the package enrollment.

 

Level of Service

 

 

Description

 

0

No Service: unit pulled from service

1

Qualcomm base Circle-of-Service offering

2

Advanced Workflow

3

Reserved

4

Qualcomm Trip Manager

Error Handling

There is no special error handling on T.6.04.0 transactions. The integration code should process generic SOAP faults and any errors returned by the ESS dequeue method.

Best Practice Device Management Integration

The integration system should minimally track active units in the account.

 

Condition

 

 

Action

 

Unrecorded UA

Add device to list of active units for this account

Level-of-Service = 0

Remove device from list of active units for this account

  • Was this article helpful?