cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
709
Views
0
Helpful
1
Replies

Invalid schema definition for listUser in 10.5 in Cisco labs sandbox - AXL BUG REPORT

Evanchik
Level 1
Level 1

AXL 10.5  sandbox BUG REPORT

Validation Errors

 

Validation Error:

Element 'TelephoneNumber': This element is not expected. Expected is one of ( telephoneNumber, title, mobileNumber, homeNumber, pagerNumber, selfService, calendarPresence, ldapDirectoryName, userIdentity, accountType ).   THIS CAN BE FIXED BY FIXING THE CASE TO TelephoneNumber in the xsd

 

Validation Error: 

Element 'mailid': This element is not expected. Expected is one of ( selfService, calendarPresence, ldapDirectoryName, userIdentity, accountType, authenticationType ). The the following will happen over and over until the fields are in correct order in the xsd file

Issue:

 

The fields are not coming back in the order of the definition file, if I manually change the xsd file, error by error , putting the correct field, where of what its expecting to what field is expected next, will eventually validate.  At the bottom is a visual of what needs to be re-ordered in order for validation to succeed

 

P.S. This was confirmed in Webex Teams DevNet Support Chat 



FYI:  This also happens in 12.0 sandbox lab.  (I will post a separate bug on this one as well), and not sure how many other versions.  Here is a link to that issue https://community.cisco.com/t5/management/invalid-schema-definition-for-listuser-in-12-in-cisco-labs/m-p/3696437#M2955


As a side question, how many of these like these exist.  Web services and validation files should be a means to know the absolute input and output, solving age old issues.  Here is the details if interested.

 

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://www.cisco.com/AXL/API/10.5" xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <ns:listUserResponse xmlns:ns="http://www.cisco.com/AXL/API/10.5">
            <return>
                <user uuid="{0787758A-9EBC-06E1-9E91-EDC6339787F2}">
                    <firstName>Smith</firstName>
                    <middleName></middleName>
                    <lastName>Tom</lastName>
                    <userid>user01</userid>
                    <directoryUri></directoryUri>
                    <TelephoneNumber></TelephoneNumber>
                    <title></title>
                    <mobileNumber></mobileNumber>
                    <homeNumber></homeNumber>
                    <pagerNumber></pagerNumber>
                    <mailid>user01@cisco.com</mailid>
                    <department></department>
                    <manager></manager>
                    <numericUserId></numericUserId>
                    <mlppPassword></mlppPassword>
                    <primaryExtension>
                        <routePartitionName></routePartitionName>
                        <pattern>1001</pattern>
                    </primaryExtension>
                    <userLocale></userLocale>
                    <associatedPc></associatedPc>
                    <enableCti>true</enableCti>
                    <subscribeCallingSearchSpaceName></subscribeCallingSearchSpaceName>
                    <enableMobility>false</enableMobility>
                    <enableMobileVoiceAccess>false</enableMobileVoiceAccess>
                    <maxDeskPickupWaitTime>10000</maxDeskPickupWaitTime>
                    <remoteDestinationLimit>4</remoteDestinationLimit>
                    <status>1</status>
                    <enableEmcc>false</enableEmcc>
                    <homeCluster>true</homeCluster>
                    <imAndPresenceEnable>true</imAndPresenceEnable>
                    <calendarPresence>true</calendarPresence>
                    <serviceProfile uuid="{BF83632F-A455-0CBF-A5A8-97FB424BE968}">Default User Profile</serviceProfile>
                </user>
          </return>
        </ns:listUserResponse>
    </soapenv:Body>
</soapenv:Envelope>

AXLSoap.xsd (minimalistic schema that only pertains to listUser)

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:axlapi="http://www.cisco.com/AXL/API/10.5" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.cisco.com/AXL/API/10.5" version="10.5">
    <xsd:simpleType name="XInteger">
        <xsd:union memberTypes="xsd:integer">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value=""></xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="String255">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="255"></xsd:maxLength>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="XUUID">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="\{........-....-....-....-............\}"></xsd:pattern>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="XPatternPrecedence">
        <xsd:union>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="Flash Override"></xsd:enumeration>
                    <xsd:enumeration value="Flash"></xsd:enumeration>
                    <xsd:enumeration value="Immediate"></xsd:enumeration>
                    <xsd:enumeration value="Priority"></xsd:enumeration>
                    <xsd:enumeration value="Routine"></xsd:enumeration>
                    <xsd:enumeration value="Default"></xsd:enumeration>
                    <xsd:enumeration value="Executive Override"></xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string"></xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="boolean">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="(t)|(f)|(true)|(false)|(0)|(1)"></xsd:pattern>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="String50">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="50"></xsd:maxLength>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="XUserLocale">
        <xsd:union>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="English United States"></xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string"></xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="UniqueString50">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="50"></xsd:maxLength>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="XAccountType">
        <xsd:union>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="LDAP"></xsd:enumeration>
                    <xsd:enumeration value="Local"></xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string"></xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:simpleType name="XAuthenticationType">
        <xsd:union>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="LDAP"></xsd:enumeration>
                    <xsd:enumeration value="Local"></xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType>
                <xsd:restriction base="xsd:string"></xsd:restriction>
            </xsd:simpleType>
        </xsd:union>
    </xsd:simpleType>
    <xsd:complexType name="AXLError">
        <xsd:sequence>
            <xsd:element name="axlcode" type="xsd:int"></xsd:element>
            <xsd:element name="axlmessage" type="xsd:string"></xsd:element>
            <xsd:element name="request" type="xsd:string"></xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="LUser">
        <xsd:sequence minOccurs="0">
            <xsd:element maxOccurs="1" minOccurs="0" name="firstName" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="middleName" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="lastName" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="userid" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="mailid" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="department" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="manager" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="userLocale" type="axlapi:XUserLocale"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="primaryExtension">
                <xsd:annotation>
                    <xsd:documentation>Only DNs associated with the associatedDevices of the  User can be used as primary extension.</xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:sequence minOccurs="0">
                        <xsd:element maxOccurs="1" minOccurs="0" name="pattern" type="axlapi:String255">
                            <xsd:annotation>
                                <xsd:documentation>DN or Pattern</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element maxOccurs="1" minOccurs="0" name="routePartitionName" type="axlapi:String50">
                            <xsd:annotation>
                                <xsd:documentation>Route Partition to which the DN is associated.</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="associatedPc" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="enableCti" type="axlapi:boolean"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="presenceGroupName" type="axlapi:XFkType"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="subscribeCallingSearchSpaceName" type="axlapi:XFkType"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="enableMobility" type="axlapi:boolean"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="enableMobileVoiceAccess" type="axlapi:boolean"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="maxDeskPickupWaitTime" type="axlapi:XInteger">
                <xsd:annotation>
                    <xsd:documentation>Maximum wait time for Desk Pickup must be a number in the range 0 to 30000.Not Nullable.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="remoteDestinationLimit" type="axlapi:XInteger">
                <xsd:annotation>
                    <xsd:documentation>Remote Destination Limit must be a number in the range 1 to 10. Not Nullable.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="status" type="axlapi:XInteger">
                <xsd:annotation>
                    <xsd:documentation>Read Only</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="enableEmcc" type="axlapi:boolean"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="patternPrecedence" type="axlapi:XPatternPrecedence"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="numericUserId" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="mlppPassword" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="homeCluster" type="axlapi:boolean"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="imAndPresenceEnable" type="axlapi:boolean"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="serviceProfile" type="axlapi:XFkType"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="directoryUri" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="telephoneNumber" type="xsd:string">
                <xsd:annotation>
                    <xsd:documentation>This field also corresponds to the field 'Number Displayed in Directory' for the Quick User/phone Add page.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="title" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="mobileNumber" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="homeNumber" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="pagerNumber" type="xsd:string"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="selfService" type="axlapi:UniqueString50"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="calendarPresence" type="axlapi:boolean"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="ldapDirectoryName" type="axlapi:XFkType"></xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="userIdentity" type="xsd:string">
                <xsd:annotation>
                    <xsd:documentation>Value should be of of the format user@domain</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="accountType" type="axlapi:XAccountType">
                <xsd:annotation>
                    <xsd:documentation>Valid values are 'Local' or 'LDAP'. Value of 'Local' implies this is a Locally created user and a value of 'LDAP' implies this user is an LDAP Synchronized user</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="authenticationType" type="axlapi:XAuthenticationType">
                <xsd:annotation>
                    <xsd:documentation>Valid values are 'Local' or 'LDAP'. Value of 'Local' implies authentication will happen at CUCM and a value of 'LDAP' implies authentication will happen at the LDAP</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="uuid" type="axlapi:XUUID"></xsd:attribute>
    </xsd:complexType>
    <xsd:complexType abstract="true" name="APIResponse">
        <xsd:annotation>
            <xsd:documentation>All responses must extend abstractResponse.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="sequence" type="xsd:unsignedLong" use="optional"></xsd:attribute>
    </xsd:complexType>
    <xsd:complexType name="XFkType">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="uuid" type="axlapi:XUUID" use="optional"></xsd:attribute>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:element name="listUserResponse" type="axlapi:ListUserRes"></xsd:element>
    <xsd:complexType name="ListUserRes">
        <xsd:complexContent>
            <xsd:extension base="axlapi:APIResponse">
                <xsd:sequence>
                    <xsd:element name="return">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element maxOccurs="unbounded" minOccurs="0" name="user" type="axlapi:LUser"></xsd:element>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
</xsd:schema

Screen Shot 2018-08-28 at 2.52.35 PM.png

1 Reply 1

Evanchik
Level 1
Level 1
I wanted to post a visual of the changes that need to be made to make this call work

https://ibb.co/gSWev9