Teilen über


ValidationAdapter

Das ValidationAdapter-Beispiel veranschaulicht, wie spezielle Validierungsregeln für eine Nachricht in einem öffentlichen Prozess des Antwortenden ausgeführt werden. Microsoft® BizTalk Accelerator for RosettaNet (BTARN) führt die Validierung nativ in der Sende- oder Empfangspipeline und in Orchestrierungen durch. Wenn Sie eine zusätzliche Überprüfung durchführen möchten, können Sie einen Validierungsadapter erstellen. Die zusätzliche Validierung kann die feldübergreifende Validierung oder geschäftsspezifische Validierungsregeln umfassen, die Sie nicht mit einer XSD implementieren können.

Sie können einen Validierungsadapter erstellen, indem Sie dem ValidationAdapter-Beispiel C#-Code hinzufügen, die Schnittstellen veröffentlichen und den Adapter in die Vertragseigenschaften eingeben. BTARN ruft dann den Validierungsadapter während der Nachrichtenverarbeitung auf.

Da ValidationAdapter von der Orchestrierung des öffentlichen Prozesses verwendet wird, wird er unter denselben Anmeldeinformationen wie der BizTalk-Hostdienst ausgeführt, der diese Orchestrierung hostet.

Das ValidationAdapter-Beispiel befindet sich unter <laufwerk>:\Programme\Microsoft BizTalk <Version> Accelerator for RosettaNet\SDK\ValidationAdapter.

Zeigt

Das ValidationAdapter-Beispiel veranschaulicht die Überprüfung der E-Mail-Adresse im Dienstinhalt. Im Beispiel wird die IValidateRNIFMessageParts -Schnittstelle implementiert. Es wird ein RNIFException zurückgegeben, wenn die E-Mail-Adresse nicht das richtige Format aufweist. Die XML-Dokumente preambleToValidate, serviceHeaderToValidate, deliveryHeaderToValidate und serviceContentToValidate definieren die Validierung.

ValidationAdapter verwendet die Eigenschaft RNIFerror.IsOkToSendException, um zu bestimmen, welche Art von Nachricht im Fehlerfall gesendet werden soll. Wenn die Überprüfung nicht erfolgreich ist, legt ValidationAdapter RNIFerror.ErrorCode auf einen Wert ungleich 0 fest. Wenn die RNIFerror.IsOkToSendException-Eigenschaft true ist, sendet der Prozess eine negative Bestätigung. Für RNIF 2.0 ist dies eine Ausnahmemeldung. Für RNIF 1.1 ist dies eine Bestätigungsausnahmemeldung. Wenn die RNIFerror.IsOkToSendException-Eigenschaft false und 0A1 konfiguriert ist, sendet der Prozess eine 0A1-Nachricht. Sobald der Prozess eine Ausnahmemeldung, eine Bestätigungs-Ausnahmemeldung oder eine 0A1-Nachricht sendet, wird er beendet.

Wenn die RNIFerror.IsOkToSendException-Eigenschaft false ist und 0A1 nicht konfiguriert ist, sendet der Prozess weder eine Ausnahme noch eine 0A1. Der Fehler wird protokolliert und dann beendet.

Wenn die Überprüfung erfolgreich ist, legt ValidationAdapter RNIFerror.ErrorCode auf 0 fest, und BTARN leitet die Nachricht an den privaten Prozess weiter. Die Nachricht wird nur dann an den privaten Prozess weitergeleitet, wenn die Validierung erfolgreich war.

So implementieren Sie dieses Beispiel

Um das ValidationAdapter-Beispiel zu implementieren, müssen Sie den Validierungsadapter der Vereinbarung hinzufügen.

So fügen Sie den Validierungsadapter zur Vereinbarung hinzu

  1. Klicken Sie auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf Microsoft BizTalk Accelerator for RosettaNet, und klicken Sie dann auf BizTalk Accelerator for RosettaNetManagement Console.

  2. Erweitern Sie in der BizTalk Accelerator for RosettaNet-Verwaltungskonsole den Eintrag BizTalk Accelerator for RosettaNet, und klicken Sie dann auf Vereinbarungen.

  3. Doppelklicken Sie auf die Vereinbarung, der Sie den Validierungsadapter hinzufügen möchten.

  4. Klicken Sie im Dialogfeld Validierungsadapter auf die Schaltfläche mit den Auslassungspunkten (...) rechts neben Assemblyname, wechseln Sie zu dem Speicherort, der die Validierungsadapterassembly enthält, wählen Sie die entsprechende .dll Datei aus, und klicken Sie dann auf Öffnen.

  5. Klicken Sie auf den Pfeil nach unten für Klassenname, wählen Sie die Validierungsadapterklasse aus, und klicken Sie dann auf OK.

Weitere Informationen

Adapterbeispiele