3.1.4.70 UpdateAnnotation

The UpdateAnnotation operation updates an existing Annotation complex type (section 2.2.4.18).

The following is the WSDL port type specification of the UpdateAnnotation WSDL operation.

 <wsdl:operation name="UpdateAnnotation" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:input message="tns:UpdateAnnotationSoapIn"/>
   <wsdl:output message="tns:UpdateAnnotationSoapOut"/>
 </wsdl:operation>

The protocol client sends an UpdateAnnotationSoapIn request message (section 3.1.4.70.1.1), and the server (2) responds with an UpdateAnnotationSoapOut response message (section 3.1.4.70.1.2) as follows:

  • The protocol client MUST send a valid Annotation object that specifies the new state of the annotation that is being updated.

  • The server (2) MUST validate the Annotation object following the schema of the Annotation.

  • The server (2) MUST verify that the Annotation object exists by using the AnnotationId property (see section 3.1.4.23.2.1), and MUST verify that the Annotation object is unchanged since received by the client by comparing the LastUpdatedOn value. If the LastUpdatedOn value is not the same, which means the Annotation object has been changed since it was received by the client, the update MUST be ignored and an application error raised using the Unknown error code.

  • The server (2) MUST update the stored copy of the Annotation object and SHOULD generate a new LastUpdatedOn date value with the server (2) current date. MUST NOT update the CreatedOn value and MUST ignore the value if changed by the protocol client.

  • The server (2) MUST return the updated copy of the Annotation object, including the updated LastUpdatedOn value.

Exceptions:

Error code

Description

InvalidPermission

See Common List of Error Codes (section 2.2.2.1.3).

InvalidAnnotation

The updated annotation did not validate to the conforming schema.

InvalidTextLength

A string attribute is null, empty or exceeds its specified maximum length.

InvalidCharacters

The updated annotation properties did not validate to the conforming schema.

InvalidComment

The updated annotation comments did not validate to the conforming schema.

AnnotationNotEnabled

Annotations are not enabled in the server (2).

AnnotationDeleteNotEnabled

If Annotation Delete is not enabled in the server (2), but this request, which would delete comments, is received, the comments will not be changed on the server (2) and the AnnotationDeleteNotEnabled error code will be returned.

In case of any other failure, the error code MUST be one of the values specified in section 2.2.2.1.2. A detailed specification of how exceptions are reported by the server (2) is in section 2.2.2.1.