Creación de un servicio de comparación universal
Un servicio de comparación universal es un servicio que puede usar cualquiera de sus reglas de cruce para realizar la comparación y puede admitir cualquier campo de entrada. El servicio toma un nombre de regla de cruce como una opción y le permite especificar la regla de cruce que desee usar en la invocación de API o la solicitud de servicio web. Este servicio no tiene un esquema de entrada predefinido, de modo que puede incluir cualquier campo que sea apropiado para el tipo de registro que desee comparar. Al crear un servicio de comparación universal se evita tener servios separados para cada regla de cruce, lo que le permite agregar nuevas reglas de cruce sin tener que agregar un servicio.
Este procedimiento muestra cómo crear un servicio de comparación universal e incluye un ejemplo de una solicitud de servicio web para un servicio de comparación universal.
Ahora dispone de un servicio de comparación universal, que puede utilizar para realizar una comparación mediante el uso de cualquier regla de cruce definida en la herramienta Match Rules Management en Enterprise Designer. Cuando invoque el servicio, especifique una regla de cruce en la opción MatchRule y especifique los campos de entada como campos definidos por el usuario.
Ejemplo: invocación del servicio de cruce universal
Creo una regla de cruce denominada AddressAndBirthday en la herramienta Match Rules Management. Esta regla de cruce compara los registro mediante el uso de los campos Dirección y Cumpleaños. Desea utilizar el servicio de comparación universal para realizar la comparación mediante el uso de esta regla, a través de una solicitud de servicio web de SOAP.
Para lograrlo, tendría una solicitud SOAP que especifique AddressAndBirthday en el elemento MatchRule y los campos del registro en el elemento user_fields.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:univ="http://www.pb.com/spectrum/services/UniversalMatchingService">
<soapenv:Header/>
<soapenv:Body>
<univ:UniversalMatchingServiceRequest>
<univ:options>
<univ:MatchRule>AddressAndBirthday</univ:MatchRule>
</univ:options>
<univ:Input>
<univ:Row>
<univ:user_fields>
<univ:user_field>
<univ:name>Name</univ:name>
<univ:value>Bob Smith</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Address</univ:name>
<univ:value>4200 Parliament Pl</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Birthday</univ:name>
<univ:value>1973-6-15</univ:value>
</univ:user_field>
</univ:user_fields>
</univ:Row>
<univ:Row>
<univ:user_fields>
<univ:user_field>
<univ:name>Name</univ:name>
<univ:value>Robert M. Smith</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Address</univ:name>
<univ:value>4200 Parliament Pl</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Birthday</univ:name>
<univ:value>1973-6-15</univ:value>
</univ:user_field>
</univ:user_fields>
</univ:Row>
<univ:Row>
<univ:user_fields>
<univ:user_field>
<univ:name>Name</univ:name>
<univ:value>Bob Smith</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Address</univ:name>
<univ:value>424 Washington Blvd</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Birthday</univ:name>
<univ:value>1959-2-19</univ:value>
</univ:user_field>
</univ:user_fields>
</univ:Row>
</univ:Input>
</univ:UniversalMatchingServiceRequest>
</soapenv:Body>
</soapenv:Envelope>
Esta solicitud produciría la siguiente respuesta:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns3:UniversalMatchingServiceResponse xmlns:ns2="http://spectrum.pb.com/"
xmlns:ns3="http://www.pb.com/spectrum/services/UniversalMatchingService">
<ns3:Output>
<ns3:Row>
<ns3:MatchScore/>
<ns3:MatchRecordType>Suspect</ns3:MatchRecordType>
<ns3:user_fields>
<ns3:user_field>
<ns3:name>Name</ns3:name>
<ns3:value>Bob Smith</ns3:value>
</ns3:user_field>
<ns3:user_field>
<ns3:name>Birthday</ns3:name>
<ns3:value>1973-6-15</ns3:value>
</ns3:user_field>
<ns3:user_field>
<ns3:name>Address</ns3:name>
<ns3:value>4200 Parliament Pl</ns3:value>
</ns3:user_field>
</ns3:user_fields>
</ns3:Row>
<ns3:Row>
<ns3:MatchScore>100</ns3:MatchScore>
<ns3:MatchRecordType>Duplicate</ns3:MatchRecordType>
<ns3:user_fields>
<ns3:user_field>
<ns3:name>Name</ns3:name>
<ns3:value>Robert M. Smith</ns3:value>
</ns3:user_field>
<ns3:user_field>
<ns3:name>Birthday</ns3:name>
<ns3:value>1973-6-15</ns3:value>
</ns3:user_field>
<ns3:user_field>
<ns3:name>Address</ns3:name>
<ns3:value>4200 Parliament Pl</ns3:value>
</ns3:user_field>
</ns3:user_fields>
</ns3:Row>
</ns3:Output>
</ns3:UniversalMatchingServiceResponse>
</soap:Body>
</soap:Envelope>