How to update IP Phone Service URL?

Version 1
    This document was generated from CDN thread

    Created by: Breno Lucena on 13-02-2012 06:23:41 AM
    Hello Guys,
     
    I´m trying to change programatically the an specific IP Phone Service Url.
     
    On my first attempt, the Request XML looks like this:
     
     
    <?xml version="1.0" encoding="utf-8" ?>
    <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:updateDeviceProfile xmlns:axl="http://www.cisco.com/AXL/1.0" xsi:schemaLocation="http://www.cisco.com/AXL/API/1.0 axlsoap.xsd" sequence="1234">
          <name>DP-Breno-EM</name>
          <lines>
            <line index="1" uuid="{8F7560D0-33C5-449D-36D2-64FB75BBDF46}">
              <label></label>
              <asciiLabel>Breno 1</asciiLabel>
              <display />
              <dirn uuid="{FF182683-CF34-AABB-89B1-8DD9338D1260}" />
              <ringSetting>Use System Default</ringSetting>
              <consecutiveRingSetting>Use System Default</consecutiveRingSetting>
              <ringSettingIdlePickupAlert>Use System Default</ringSettingIdlePickupAlert>
              <ringSettingActivePickupAlert>Use System Default</ringSettingActivePickupAlert>
              <displayASCII />
              <e164Mask />
              <dialPlanWizardId>0</dialPlanWizardId>
              <mwlPolicy>Use System Policy</mwlPolicy>
              <maxNumCalls>4</maxNumCalls>
              <busyTrigger>2</busyTrigger>
              <callInfoDisplay>
                <callerName>true</callerName>
                <callerNumber>false</callerNumber>
                <redirectedNumber>false</redirectedNumber>
                <dialedNumber>true</dialedNumber>
              </callInfoDisplay>
              <recordingFlag>Call Recording Disabled</recordingFlag>
              <audibleMWI>Default</audibleMWI>
              <speedDial />
              <partitionUsage>General</partitionUsage>
            </line>
            <line index="2" uuid="{1ACB7EBF-FEED-2A64-0414-AE5AC75D5148}">
              <label></label>
              <asciiLabel>Breno 2</asciiLabel>
              <display />
              <dirn uuid="{B68EBF8B-4919-C535-1514-85D20D34344E}" />
              <ringSetting>Use System Default</ringSetting>
              <consecutiveRingSetting>Use System Default</consecutiveRingSetting>
              <ringSettingIdlePickupAlert>Use System Default</ringSettingIdlePickupAlert>
              <ringSettingActivePickupAlert>Use System Default</ringSettingActivePickupAlert>
              <displayASCII />
              <e164Mask />
              <dialPlanWizardId>0</dialPlanWizardId>
              <mwlPolicy>Use System Policy</mwlPolicy>
              <maxNumCalls>4</maxNumCalls>
              <busyTrigger>2</busyTrigger>
              <callInfoDisplay>
                <callerName>true</callerName>
                <callerNumber>false</callerNumber>
                <redirectedNumber>false</redirectedNumber>
                <dialedNumber>true</dialedNumber>
              </callInfoDisplay>
              <recordingFlag>Call Recording Disabled</recordingFlag>
              <audibleMWI>Default</audibleMWI>
              <speedDial />
              <partitionUsage>General</partitionUsage>
            </line>
          </lines>
          <services>
            <service uuid="{894E1FAF-FA97-E0B0-1D4D-4568ADBEA462}">
              <telecasterService uuid="{B1198FB1-E26D-3A0B-A67F-2F92E434637E}" />
              <name>MyService</name>
              <url>http://192.168.10.51:8089/Step3.aspx?CurrentDevice=#DEVICENAME#</url>
              <urlButtonIndex>0</urlButtonIndex>
              <urlLabel />
            </service>
          </services>
        </axl:updateDeviceProfile>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
     
    The response received after send the xml above, was:
     

    <?xml version="1.0" encoding="utf-8" ?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
      <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" />
      <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
        <SOAP-ENV:Fault>
          <faultcode>SOAP-ENV:Client</faultcode>
          <faultstring>Item not valid: The specified URL was not found</faultstring>
          <detail>
            <axl:Error xmlns:axl="http://www.cisco.com/AXL/API/1.0">
              <axl:code>5007</axl:code>
              <axl:message>Item not valid: The specified URL was not found</axl:message>
              <request>updateDeviceProfile</request>
            </axl:Error>
          </detail>
        </SOAP-ENV:Fault>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>

     
    Does anyone knows how to perform this operation correctly?


    Thanks in advance.


    Breno Lucena

    Subject: RE: How to update IP Phone Service URL?
    Replied by: Breno Lucena on 13-02-2012 12:00:13 PM
    Solved with:


    <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:executeSQLUpdate xmlns:axl="http://www.cisco.com/AXL/1.0" xsi:schemaLocation="http://www.cisco.com/AXL/API/1.0 axlsoap.xsd" sequence="1234">
          <sql>UPDATE telecasterservice SET urltemplate='{1}' WHERE pkid='{0}'</sql>
        </axl:executeSQLUpdate>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>

    Tks.