addCTIRoutePoint model and class compatibility

Version 1
    This document was generated from CDN thread

    Created by: David Duncan on 17-06-2009 01:52:27 PM
    I am doing an addCTIRoutePoint on CM 4.2.1 with the class and model set in the script as follows:
     
    CTI Route Point
      <model>CTI Route Point</model>
      <class>CTI Route Point</class>
    Route Point
     
    and I get the following error:
     
    Script Execution Error!
    Request Type : addCTIRoutePoint
    Error Code : 19
    Error Message : Model and Class are not compatible
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
          <faultcode>SOAP-ENV:Client</faultcode>
          <faultstring><![CDATA[Model and Class are not compatible]]></faultstring>
          <detail xmlns:axl="http://www.cisco.com/AXL/API/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cisco.com/AXL/API/1.0 http://TCC_CCM1/CCMApi/AXL/V1/axlsoap.xsd">
            <axl:error sequence="1">
              <code>19</code>
              <message><![CDATA[Model and Class are not compatible]]></message>
              <request>addCTIRoutePoint</request>
            </axl:error>
          </detail>
        </SOAP-ENV:Fault>
      </SOAP-ENV:Body>
     
    What could be trhe issue?  I could make mistakes elsewhere in the script and I still get this error.
    </SOAP-ENV:Envelope>

    Subject: RE: addCTIRoutePoint model and class compatibility
    Replied by: David Staudt on 18-06-2009 09:50:30 PM
    Are you including the  element too - which should also be 'CTI Route Point'.  All 3 are required.  If so, can you post the full XML request?

    Subject: RE: addCTIRoutePoint model and class compatibility
    Replied by: Stephan Steiner on 24-06-2009 05:09:19 PM
    David.. did you forget to write usage? But deefinitely.. we need to see the full command.
     
    Since I write my AXL commands manually (so to speak) and have done so since CCM4 - I always take the following approach: get comes first... load the entire object and parse it. Then comes add... write the same thing back that you just read (with the appropriate changes of course.. e.g. different device name for a CTI port)... then comes delete (usually a no brainer) and finally update.. combine them to have a nice little test method that reads a template, writes something, makes modifications and if anything fails after the add.. just delete the darned thing again until you figure out where you've gone wrong.