Condividi tramite


ValidationAdapter

L'esempio ValidationAdapter illustra come eseguire regole di convalida speciali in un messaggio in un processo pubblico del risponditore. Microsoft® BizTalk Accelerator for RosettaNet (BTARN) esegue in modo nativo la convalida nella pipeline di invio o ricezione e nelle orchestrazioni. Se si vuole eseguire una convalida aggiuntiva, è possibile creare una scheda di convalida. La convalida aggiuntiva può includere regole di convalida tra campi o di convalida specifiche dell'azienda che non è possibile implementare usando un XSD.

È possibile creare una scheda di convalida aggiungendo codice C# all'esempio ValidationAdapter, pubblicando le interfacce e immettendo l'adapter nelle proprietà del contratto. BTARN chiamerà quindi l'adapter di convalida durante l'elaborazione dei messaggi.

Poiché validationAdapter viene usato dall'orchestrazione del processo pubblico , viene eseguito con le stesse credenziali del servizio host BizTalk che ospita tale orchestrazione.

L'esempio ValidationAdapter si trova in <drive>:\Programmi\Microsoft BizTalk <version> Accelerator for RosettaNet\SDK\ValidationAdapter.

Dimostra

L'esempio ValidationAdapter illustra la convalida dell'indirizzo di posta elettronica nel contenuto del servizio. L'esempio implementa l'interfaccia IValidateRNIFMessageParts . Restituisce un valore RNIFException se l'indirizzo di posta elettronica non è nel formato corretto. I documenti XML preamboloToValidate, serviceHeaderToValidate, deliveryHeaderToValidate e serviceContentToValidate definiscono la convalida.

ValidationAdapter usa la proprietà RNIFerror.IsOkToSendException per determinare il tipo di messaggio da inviare in caso di errore. Se la convalida non riesce, ValidationAdapter imposta RNIFerror.ErrorCode su un valore diverso da zero. Se la proprietà RNIFerror.IsOkToSendException è true, il processo invia un riconoscimento negativo. Per RNIF 2.0, si tratta di un messaggio di eccezione. Per RNIF 1.1, si tratta di un messaggio di eccezione di conferma della ricezione. Se la proprietà RNIFerror.IsOkToSendException è false e 0A1 è configurata, il processo invierà un messaggio 0A1. Dopo che il processo invia un messaggio di eccezione, il messaggio di eccezione di conferma della ricezione o il messaggio 0A1, verrà terminato.

Se la proprietà RNIFerror.IsOkToSendException è false e 0A1 non è configurata, il processo invierà né un'eccezione né una 0A1. Registra l'errore e quindi termina.

Se la convalida ha esito positivo, ValidationAdapter imposta RNIFerror.ErrorCode su 0 e BTARN indirizza il messaggio al processo privato. Instrada il messaggio al processo privato solo se la convalida ha esito positivo.

Per implementare questo esempio

Per implementare l'esempio ValidationAdapter, è necessario aggiungere l'adapter di convalida al contratto.

Per aggiungere l'adattatore di convalida al contratto

  1. Fare clic su Start, scegliere Tutti i programmi, scegliere Microsoft BizTalk Accelerator for RosettaNet e quindi fare clic su BizTalk Accelerator for RosettaNetManagement Console.

  2. Nell'acceleratore BizTalk per RosettaNet Management Console espandere Acceleratore BizTalk per RosettaNet e quindi fare clic su Contratti.

  3. Fare doppio clic sul contratto a cui si vuole aggiungere l'adattatore di convalida.

  4. Nella finestra di dialogo Scheda di convalida fare clic sul pulsante con i puntini di sospensione (...) a destra del nome dell'assembly, passare al percorso contenente l'assembly dell'adattatore di convalida, selezionare il file appropriato .dll e quindi fare clic su Apri.

  5. Fare clic sulla freccia giù per Nome classe, selezionare la classe dell'adattatore di convalida e quindi fare clic su OK.

Vedere anche

Esempi di adapter