cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1994
Views
1
Helpful
3
Replies

AXL 10.5/C# - updateUser Issues with axl error code : -1

cedric.conte
Level 1
Level 1

Context: Call Manager 10.5.1.10000(7) – AXLAPI Dotnet4.5


Hi folks,

I’m facing an issue cause by the CUCM version change from 9.1 to 10.5.

Actually, when I try to update a user with the updateUser axl method I got the following axlcode error: -1 without more specific. This same method in version 9.1 works well.

In short :

  • In cucm version 10.5,  addUser and deleteUser works well / updateUser produce an error: -1.
  • In cucm version 9.1, addUser, deleteUser and  updateUser works well.

I don’t know what is wrong in my soap request which appear well formatted and fulfil with the good attributes.

Below, you will find the soap request generated by the alx method updateUser with the answer soap response.

Request :

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <soap:Body>

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

<uuid xmlns="">{3F03D063-09AB-4588-4CDD-E78982E2268A}</uuid>

<lastName xmlns="">0107500</lastName>

<newUserid xmlns="">0107500</newUserid>

<password xmlns="">pwdjabpas</password>

<userLocale xsi:nil="true" xmlns="" />

<digestCredentials xsi:nil="true" xmlns="" />

<presenceGroupName xmlns="">Standard Presence group</presenceGroupName>

<subscribeCallingSearchSpaceName xsi:nil="true" xmlns="" />

<mlppPassword xsi:nil="true" xmlns="" />

<imAndPresenceEnable xmlns="">True</imAndPresenceEnable>

<serviceProfile xsi:nil="true" xmlns="" />

<directoryUri xsi:nil="true" xmlns="" />

<selfService xsi:nil="true" xmlns="" />

<userProfile xsi:nil="true" xmlns="" />

<ldapDirectoryName xsi:nil="true" xmlns="" />

      <ipccExtension xsi:nil="true" xmlns="" />

<convertUserAccount xsi:nil="true" xmlns="" />

</updateUser>

  </soap:Body>

Answer :

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

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

  <soapenv:Body>

<soapenv:Fault>

<faultcode>soapenv:Server</faultcode>

<faultstring></faultstring>

<detail>

<axlError>

<axlcode>-1</axlcode>

          <axlmessage></axlmessage>

<request>updateUser</request>

</axlError>

</detail>

</soapenv:Fault>

  </soapenv:Body>

</soapenv:Envelope>

Is someone have already face the issue or have an idea about it ?

Thx in advance for your help,

Cedric CONTE

1 Accepted Solution

Accepted Solutions

Thx for your answer,

I guess I have found the issue which comes from nullable attributes generate by dotNet serializer which seems not be perform by apache web server.

Actually, I have comment all IsNullable attribute for the UpdateUserReq in the AxlApiService.cs file

//[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=true)]

Below, you will find the new soap request generated by the alx method updateUser which doesn’t send -1 error anymore.

<?xml version="1.0" encoding="utf-8"?>

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

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

     <soap:Body>

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

               <uuid xmlns="">{b4e6f100-b668-f8c5-b9a1-db233bf9d910}</uuid>

               <lastName xmlns="">toto</lastName>

               <password xmlns="">conte</password>

          </updateUser>

     </soap:Body>

</soap:Envelope>

Hope this would help someone,

Cedric

View solution in original post

3 Replies 3

npetrele
Cisco Employee
Cisco Employee

I suspect the problem is in the envelope and namespace definitions, and where they're located. 

This is how SoapUI formats the request based on the 10.5 WSDL.  This should work (it worked fine with my own data, whereas XML formatted like your request failed with a -1 for me, too):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/10.5">

    <soapenv:Header/>

    <soapenv:Body>

        <ns:updateUser sequence="?">

            <uuid>{3F03D063-09AB-4588-4CDD-E78982E2268A}</uuid>

            <lastName>0107500</lastName>

            <newUserid>0107500</newUserid>

            <password>pwdjabpas</password>

            <userLocale/>

            <digestCredentials/>

            <presenceGroupName>Standard Presence group</presenceGroupName>

            <subscribeCallingSearchSpaceName/>

            <mlppPassword/>

            <imAndPresenceEnable>True</imAndPresenceEnable>

            <serviceProfile/>

            <directoryUri/>

            <selfService/>

            <userProfile/>

            <ldapDirectoryName/>

            <ipccExtension/>

            <convertUserAccount/>

        </ns:updateUser>

    </soapenv:Body>

</soapenv:Envelope>

Thx for your answer,

I guess I have found the issue which comes from nullable attributes generate by dotNet serializer which seems not be perform by apache web server.

Actually, I have comment all IsNullable attribute for the UpdateUserReq in the AxlApiService.cs file

//[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=true)]

Below, you will find the new soap request generated by the alx method updateUser which doesn’t send -1 error anymore.

<?xml version="1.0" encoding="utf-8"?>

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

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

     <soap:Body>

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

               <uuid xmlns="">{b4e6f100-b668-f8c5-b9a1-db233bf9d910}</uuid>

               <lastName xmlns="">toto</lastName>

               <password xmlns="">conte</password>

          </updateUser>

     </soap:Body>

</soap:Envelope>

Hope this would help someone,

Cedric

Thank you for posting your solution!