Associate a phone device to application user

Version 1
    This document was generated from CDN thread

    Created by: Wes Schochet on 08-04-2010 06:19:01 PM
    Hi All-
     
    I am having an issue trying to associate a phone to an application user.  Everything looks as if it succeded, but the user's associations are not updated.  I send:
     
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <SOAP-ENV:Body>   
      <axl:updateAppUser xmlns:axl="http://www.cisco.com/AXL/API/1.0" sequence="12055">        
        <userid>appusr</userid>        
        <password>xxx</password>        
        <associatedDevices>
          <device>SEP001BD458B404</device>
          <device>SEP00233341D33B</device>        
        </associatedDevices>   
      </axl:updateAppUser >
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
     
    and get back:
     
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
      <axl:updateAppUserResponse xmlns:axl="http://www.cisco.com/AXL/API/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" sequence="12055">
        <return>true</return>
      </axl:updateAppUserResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
     
    the AXL log file shows ths:
     
    2010-04-08 13:10:46,727 INFO  [http-8443-Processor24] axl6_0.Handler - Handler initializing
    2010-04-08 13:10:46,781 INFO  [http-8443-Processor24] axl.AXLRouter - <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header/><SOAP-ENV:Body><axl:updateAppUserResponse xmlns:axl="http://www.cisco.com/AXL/API/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" sequence="12055"><return>true</return></axl:updateAppUserResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
    2010-04-08 13:10:46,782 INFO  [http-8443-Processor24] axl.AXLRouter - Request 1258428714443 was process in 123ms

     
    but the phone is not associated with the user.   Has anyone been able to do this or  have any ideas?
     
    Thanks,
     
    Wes

    Subject: RE: Associate a phone device to application user
    Replied by: David Staudt on 08-04-2010 06:47:05 PM
    For historical reasons, the AXL updateAppUser request for versions 5.x through 6.x accepted only four fields for update: userid, password, digestCredetials, passwordCredentials.  If additional app user configurations needed to made, they had to be done via executeSQLUpdate.
     
    UCM  7.x brought updateAppUser up to par with updateUser - accepting all other fields, including the associated devices list.
     
    Note however, UCM checks the 'SOAPAction' HTTP on each request to determine which AXL version is being targeted.  Even if your UCM is version 7.x or higher, if the app provides no SOAPAction header, for backward compatibility reasons AXL then  defaults to using the 6.0(1) AXL schema - which, remember, accepts only a few fields for update, ignoring the rest.  (See the XML Developer Guide for details on how AXL versioning is implemented.)
     
    If you are using UCM 7/8, ensure you are sending the correct SOAPAction header:
     
    ...
    Host:10.77.31.194:8443
    Authorization: Basic Q0NNQWRtaW5pc3RyYXRvcjpjaXNjb19jaXNjbw==
    Accept: text/*
    Content-type: text/xml
    SOAPAction: "CUCMB ver=7.0"
    Content-length: 427
    ...

    Subject: RE: Associate a phone device to application user
    Replied by: Wes Schochet on 08-04-2010 08:28:21 PM
     OK - I did get the sql update to work.  It seems you can just pop the keys into the applicationuserdevicemap table.  I alway get a little nervous doing these types of things - I'd hate to inject a bad record.