WSDL Schema Generation for Effective Dating on Fields

Effective dating requires two complex type attributes StartDate and EndDate for each effective dating-enabled field. In the following schema example, the location field is enabled for effective dating, as shown by the two additional attributes EDStartDate and EDEndDate. Historical data can be retrieved by setting the cardinality of the effective dating-enabled XSD element to unbounded.

WSDL Schema Example

<xsd:complexType name="RelatedContact">
	<xsd:sequence>
			<xsd:element name="ContactId" maxOccurs="1" minOccurs="0" type="xsd:string"/>
			<xsd:element name="EDListOfFirstName" maxOccurs="1" minOccurs="0" 
			type="xsdLocal1:EDListOfFirstName"/>
			<xsd:element name="ContactIntegrationId" maxOccurs="1" minOccurs="0" 
			type="xsd:string"/>
			<xsd:element name="EDListOfLastName" maxOccurs="1" minOccurs="0" 
			type="xsdLocal1:EDListOfLastName"/>
			. . . .
			</xsd:sequence>
	</xsd:complexType>

<xsd:complexType name="EDListOfFirstName">
	<xsd:sequence>
				<xsd:element name="FirstName" maxOccurs="unbounded" minOccurs="0" 
				type="xsdLocal1:FirstName"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FirstName">
		<xsd:simpleContent>
		<xsd:extension base="xsd:string">
			<xsd:attribute name="EDStartDate" type="xsd:string"/>
			<xsd:attribute name="EDEndDate" type="xsd:string"/>
		</xsd:extension>
	</xsd:simpleContent>
</xsd:complexType> 

SOAP Query Example

The previous WSDL schema example allows you to generate the following SOAP query:

<ElementName EDStartDate=dd1/mm1/yyyy1, EDEndDate = dd2/mm2/yyy2>value</ElementName>

For example:

<acc:RelatedContact>
	<acc:ContactId>88-30ARL</acc:ContactId>
	<acc:EDListOfFirstName>
			<acc:FirstName EDStartDate="04/01/2012" EDEndDate=">James</acc:FirstName>
			</acc:EDListOfFirstName>
			<acc:EDListOfLastName>
		<acc:LastName EDStartDate="04/01/2012" EDEndDate=">Bond</acc:LastName>
	</acc:EDListOfLastName>
</acc:RelatedContact>

Similarly, you can perform insert, update, and synchronize operations on data using the WSDL Schema in the previous example.