Error reporting

Luminate Online Web Services operations return two general types of error codes:

  1. A message error indicates that the server failed to process the message in its entirety, either because the message itself is invalid or because of a server problem. The application returns message errors as SOAP faults.
  2. A record error indicates a failure to process a particular constituent record as part of a generally valid bulk update or create request. The server returns record errors as part of the normal response to a bulk request. It is the client's responsibility to check the status code returned for each record and ensure that it processed successfully.

Message errors

Any request may return one of the following general message errors:

MalformedMessageFault Malformed XML (wrong encoding, tags missing or unbalanced, etc.)
InvalidMessageFault Message violates the WSDL specification (invalid SOAP message or missing, out-of-sequence or invalid elements in the message header or body)
SessionFault Missing or invalid session ID in the SOAP header
UnsupportedOperationFault Invalid SOAP operation (one not specified in the WSDL)
ServerFault Unexpected server error occurred

Individual operations may return additional specific errors:

LoginFault Invalid username or password in the login request

The server returns all message errors as standard SOAP faults:

<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <soap:Fault>
      <soap:faultcode>MALFORMED_MESSAGE</soap:faultcode>

      <soap:faultstring>SOAP header element is missing</soap:faultstring>
      <soap:detail>
        <MalformedMessageFault xmlns="urn:soap.convio.com">
          <line>2</line>
          <column>1</column>

        </MalformedMessageFault>
      </soap:detail>
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

Note that the faultcode element specifies the type of error, with the corresponding information in the detail element.

Record errors

Record error codes are consistent with those returned by the constituent ReST API (except for the one pertaining to the "post" method):

Code Number Description
OK 0 Record processed successfully
SERVER_ERROR 1 Unexpected server error
TOO_MANY_RECORDS 5 Exceeded the maximum number of records for an upload operation
REQUIRED_FIELDS_MISSING 10 Cannot add or update the record because one or more required fields are missing
MATCH_EXISTING 11 Cannot add the record because it matches an existing record
DUPLICATE_USER_NAME 12 Cannot add or update the record because user name matches an existing one
DUPLICATE_EMAIL 13 Cannot add or update the record because email matches an existing one
MATCH_AMBIGUOUS 15 Cannot update the record because multiple records match the search criteria
RECORD_NOT_FOUND 16 Cannot update the record because no matching records were found
INVALID_FIELDS 18 Cannot add or update the record because it includes invalid fields

The server returns record errors as part of the normal response to an operation:

<?xml version='1.0' encoding='UTF-8'?>
   <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">  
      <soap:Body>    
         <createResponse xmlns="urn:soap.convio.com">      
            <Result>        
               <StatusCode>MATCH_EXISTING</StatusCode>        
               <Message>Create failed: one or more existing records found that match.</Message>        
               <PrimaryEmail>augustus9@yahoo.com</PrimaryEmail>      
            </Result>      
            <Result>        
               <StatusCode>MATCH_EXISTING</StatusCode>        
               <Message>Create failed: one or more existing records found that match.</Message>        
               <PrimaryEmail>elvis9@gmail.com</PrimaryEmail>      
            </Result>      
            <Result>        
               <StatusCode>MATCH_EXISTING</StatusCode>        
               <Message>Create failed: one or more existing records found that match.</Message>        
               <PrimaryEmail>python9@gmail.com</PrimaryEmail>      
            </Result>    
         </createResponse>  
      </soap:Body>

   </soap:Envelope>

Leave a Comment

Nickname
Comment
Enter this word: