Erstellen eines allgemeinen Vergleichsdienstes
Bei einem allgemeinen Vergleichsdienst handelt es sich um einen Dienst, bei dem Ihre Vergleichsregeln zum Ausführen eines Vergleichs verwendet und Eingabefelder akzeptiert werden können. Der Dienst verwendet den Namen einer Vergleichsregel als Eingabeoption. Dadurch können Sie die Vergleichsregel angeben, die Sie im API-Aufruf oder in der Webservice-Anforderung verwenden möchten. Es gibt kein vordefiniertes Eingabeschema für den Dienst. Daher können Sie für die Typen von Datensätzen, die Sie miteinander vergleichen möchten, alle geeigneten Felder einschließen. Durch Erstellen eines allgemeinen Vergleichsdienstes können Sie vermeiden, dass es für jede Vergleichsregel einen separaten Dienst gibt. Dadurch können Sie neue Vergleichsregeln hinzufügen, ohne einen Dienst hinzufügen zu müssen.
In dieser Prozedur wird beschrieben, wie ein allgemeiner Vergleichsdienst erstellt wird. Sie beinhaltet zudem ein Beispiel für eine Webservice-Anforderung an den allgemeinen Vergleichsdienst.
Sie verfügen jetzt über einen allgemeinen Vergleichsdienst, mit dem Sie mit beliebigen Vergleichsregeln, die im Vergleichsregelverwaltungstool im Enterprise Designer definiert wurden, einen Vergleich ausführen können. Geben Sie beim Aufrufen des Dienstes bei der Option MatchRule die Vergleichsregel an und geben Sie die Eingabefelder als benutzerdefinierte Felder an.
Beispiel: Aufrufen des allgemeinen Vergleichsdienstes
Sie haben im Vergleichsregelverwaltungstool eine Vergleichsregel mit dem Namen AddressAndBirthday erstellt. Diese Vergleichsregel führt anhand der Felder „Adresse“ und „Geburtstag“ einen Vergleich durch. Sie möchten unter Verwendung des allgemeinen Vergleichsdienstes mit dieser Regel über eine SOAP-Webservice-Anforderung einen Vergleich durchführen.
Hierfür würden Sie über eine SOAP-Anforderung verfügen, in der AddressAndBirthday im Element MatchRule und die Felder des Datensatzes im Element user_fields angegeben sind.
<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>
Aus dieser Anforderung ergäbe sich die folgende Antwort:
<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>