cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
784
Views
0
Helpful
8
Replies

getUser/ laapAssociate - incorrect type in the schema?

stephan.steiner
Spotlight
Spotlight

Hi

The schema states that laapAssociate is of type XFkType (Cisco AXL). Yet, the return of a getUser command seems to disagree - it looks like it's a boolean value.Here's one example:

<lineAppearanceAssociationForPresence uuid="{B436AE0E-BD1F-E03D-5E9C-67A173233998}">

  <laapAssociate>t</laapAssociate>

  <laapProductType>Cisco IP Communicator</laapProductType>

  <laapDeviceName>DP_Template</laapDeviceName>

  <laapDirectory>7600</laapDirectory>

  <laapPartition>P_INTERNAL</laapPartition>

  <laapDescription>this is a test description</laapDescription>

  </lineAppearanceAssociationForPresence>

Could it be that the schema is incorrect?

And here's the full getUser response:

<?xml version='1.0' encoding='UTF-8'?>

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

  <soapenv:Body>

  <ns:getUserResponse xmlns:ns="http://www.cisco.com/AXL/API/10.5">

  <return>

  <user uuid="{9D11B2D6-31F4-13A3-16C2-2016E2CFB874}">

  <firstName/>

  <middleName/>

  <lastName>testuser</lastName>

  <userid>testuser</userid>

  <password/>

  <pin/>

  <mailid/>

  <department/>

  <manager/>

  <userLocale>English United States</userLocale>

  <associatedDevices>

  <device>UPCTEMPLATE</device>

  </associatedDevices>

  <primaryExtension>

  <pattern>7602</pattern>

  <routePartitionName>P_INTERNAL</routePartitionName>

  </primaryExtension>

  <associatedPc/>

  <associatedGroups>

  <userGroup>

  <name>Standard CCM End Users</name>

  <userRoles>

  <userRole>Standard CCM End Users</userRole>

  <userRole>Standard CCMUSER Administration</userRole>

  </userRoles>

  </userGroup>

  <userGroup>

  <name>Standard CTI Enabled</name>

  <userRoles>

  <userRole>Standard CTI Enabled</userRole>

  </userRoles>

  </userGroup>

  </associatedGroups>

  <enableCti>true</enableCti>

  <digestCredentials/>

  <phoneProfiles>

  <profileName uuid="9d5d2087-ba47-696c-2afa-986c5d5886ac">DP_Template</profileName>

  </phoneProfiles>

  <defaultProfile uuid="9d5d2087-ba47-696c-2afa-986c5d5886ac">DP_Template</defaultProfile>

  <presenceGroupName uuid="{AD243D17-98B4-4118-8FEB-5FF2E1B781AC}">Standard Presence group</presenceGroupName>

  <subscribeCallingSearchSpaceName uuid="{DBBD54BA-AFDC-F929-67BF-AEA95C281A39}">CSS_intern</subscribeCallingSearchSpaceName>

  <enableMobility>true</enableMobility>

  <enableMobileVoiceAccess>true</enableMobileVoiceAccess>

  <maxDeskPickupWaitTime>10000</maxDeskPickupWaitTime>

  <remoteDestinationLimit>4</remoteDestinationLimit>

  <associatedRemoteDestinationProfiles>

  <remoteDestinationProfile>RDP_Template</remoteDestinationProfile>

  <remoteDestinationProfile>RDP_Template_Mobile</remoteDestinationProfile>

  </associatedRemoteDestinationProfiles>

  <passwordCredentials>

  <pwdCredPolicyName>Default Credential Policy</pwdCredPolicyName>

  <pwdCredUserCantChange>false</pwdCredUserCantChange>

  <pwdCredUserMustChange>false</pwdCredUserMustChange>

  <pwdCredDoesNotExpire>false</pwdCredDoesNotExpire>

  <pwdCredTimeChanged>January 27, 2015 18:06:22 CET</pwdCredTimeChanged>

  <pwdCredTimeAdminLockout/>

  <pwdCredLockedByAdministrator>false</pwdCredLockedByAdministrator>

  </passwordCredentials>

  <pinCredentials>

  <pinCredPolicyName>Default Credential Policy</pinCredPolicyName>

  <pinCredUserCantChange>false</pinCredUserCantChange>

  <pinCredUserMustChange>true</pinCredUserMustChange>

  <pinCredDoesNotExpire>false</pinCredDoesNotExpire>

  <pinCredTimeChanged>January 27, 2015 18:06:20 CET</pinCredTimeChanged>

  <pinCredTimeAdminLockout/>

  <pinCredLockedByAdministrator>false</pinCredLockedByAdministrator>

  </pinCredentials>

  <associatedTodAccess>

  <todAccess>TOD-RD-1b71a9b1-b3d8-6f99-560c-ddfe45030da8</todAccess>

  </associatedTodAccess>

  <status>1</status>

  <enableEmcc>false</enableEmcc>

  <associatedCapfProfiles/>

  <ctiControlledDeviceProfiles>

  <profileName uuid="9d5d2087-ba47-696c-2afa-986c5d5886ac">DP_Template</profileName>

  </ctiControlledDeviceProfiles>

  <patternPrecedence />

  <numericUserId />

  <mlppPassword />

  <customUserFields/>

  <homeCluster>true</homeCluster>

  <imAndPresenceEnable>false</imAndPresenceEnable>

  <serviceProfile uuid="{78DA2FC0-6D51-6FE7-E083-A773DC5427DA}">Default</serviceProfile>

  <lineAppearanceAssociationForPresences>

  <lineAppearanceAssociationForPresence uuid="{B436AE0E-BD1F-E03D-5E9C-67A173233998}">

  <laapAssociate>t</laapAssociate>

  <laapProductType>Cisco IP Communicator</laapProductType>

  <laapDeviceName>DP_Template</laapDeviceName>

  <laapDirectory>7600</laapDirectory>

  <laapPartition>P_INTERNAL</laapPartition>

  <laapDescription>this is a test description</laapDescription>

  </lineAppearanceAssociationForPresence>

  <lineAppearanceAssociationForPresence uuid="{C4E3804F-E376-1872-BBB6-CC2952F42259}">

  <laapAssociate>f</laapAssociate>

  <laapProductType>Cisco IP Communicator</laapProductType>

  <laapDeviceName>DP_Template</laapDeviceName>

  <laapDirectory>79600</laapDirectory>

  <laapPartition>P_Intercom_internal</laapPartition>

  <laapDescription>this is a test description</laapDescription>

  </lineAppearanceAssociationForPresence>

  <lineAppearanceAssociationForPresence uuid="{B436AE0E-BD1F-E03D-5E9C-67A173233998}">

  <laapAssociate>t</laapAssociate>

  <laapProductType>Cisco IP Communicator</laapProductType>

  <laapDeviceName>DP_Template</laapDeviceName>

  <laapDirectory>7600</laapDirectory>

  <laapPartition>P_INTERNAL</laapPartition>

  <laapDescription>this is a test description</laapDescription>

  </lineAppearanceAssociationForPresence>

  <lineAppearanceAssociationForPresence uuid="{C4E3804F-E376-1872-BBB6-CC2952F42259}">

  <laapAssociate>f</laapAssociate>

  <laapProductType>Cisco IP Communicator</laapProductType>

  <laapDeviceName>DP_Template</laapDeviceName>

  <laapDirectory>79600</laapDirectory>

  <laapPartition>P_Intercom_internal</laapPartition>

  <laapDescription>this is a test description</laapDescription>

  </lineAppearanceAssociationForPresence>

  <lineAppearanceAssociationForPresence uuid="{ABC9AA21-6C48-BE45-D758-4F9A8F2B4D52}">

  <laapAssociate>t</laapAssociate>

  <laapProductType>Cisco Unified Client Services Framework</laapProductType>

  <laapDeviceName>UPCTEMPLATE</laapDeviceName>

  <laapDirectory>7602</laapDirectory>

  <laapPartition>P_INTERNAL</laapPartition>

  <laapDescription>template Jabber</laapDescription>

  </lineAppearanceAssociationForPresence>

  </lineAppearanceAssociationForPresences>

  <directoryUri/>

  <telephoneNumber/>

  <title/>

  <mobileNumber/>

  <homeNumber/>

  <pagerNumber/>

  <extensionsInfo>

  <extension uuid="{65FAF514-509E-45EF-84F9-15CD1BD7517A}">

  <sortOrder />

  <pattern uuid="{7627EA28-9A9A-305A-4C68-32E54AB2193F}">7602</pattern>

  <routePartition>P_INTERNAL</routePartition>

  </extension>

  <extension uuid="{B60C3302-D53E-4718-884E-5A860BAE9215}">

  <sortOrder />

  <pattern uuid="{7627EA28-9A9A-305A-4C68-32E54AB2193F}">7602</pattern>

  <routePartition>P_INTERNAL</routePartition>

  </extension>

  </extensionsInfo>

  <selfService>7600</selfService>

  <userProfile/>

  <calendarPresence>false</calendarPresence>

  <ldapDirectoryName/>

  <userIdentity/>

  <nameDialing>testuser</nameDialing>

  <ipccExtension uuid="{7627EA28-9A9A-305A-4C68-32E54AB2193F}">7602</ipccExtension>

  <convertUserAccount/>

  </user>

  </return>

  </ns:getUserResponse>

  </soapenv:Body>

</soapenv:Envelope>

8 Replies 8

npetrele
Cisco Employee
Cisco Employee

XFkType is just a catch-all type.  It's really just a string value.  In this case, it looks like it's being used as a "t" or "f" equivalent to boolean.  Why is it used instead of a boolean here?  I don't know, but I'm guessing historical reasons tied to how the database schema was originally designed. Things like this occur when you try to minimize backward-compatibility problems.  If they changed it to boolean now, it would break a lot of existing applications. 

Nick may be right, but I suspect this is more likely an oversight in the schema, as XFkType is normally used to represent a GUID value.  I don't see that there would be any conflicts, as the XFkType does not impose any particular restriction that would prevent 't' or 'f' from validating, however ideally a defect to clean this up would be in order.

In some cases if we pass value in XFK then application doesn't work. Passing UUID in XFK object was solution for us.

Regards,

Umesh

@UmesH. Which objects are affected like that? There might be more bugs

I'm currently treating laapAssociate as a simple string, which works just fine.

We faced this issue in UpdateLineReq while modifying Line CSS.

objUpdateLineReq.setPattern("2004"); didn't worked for us then we used UUID i.e.

objUpdateLineReq.setUuid(strDirnUUId);

Regards,

Umesh

Is your objUpdateLineReq an object you create anew for the update? If so, I think you're missing the routePartitionName (unless your line has no partition assigned) - a line is only uniquely identified with pattern AND routePartitionName.

Yes combination of DN & Partition should be unique. You might be correct but finally we moved using UUID.

Regards,

Umesh

@dstaudt: if you file a defect, could you post the bug Id so I can track it?

Thanks

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: