Resolución de acuerdos y determinación de esquemas para los mensajes EDI salientes
Para generar un mensaje EDI a un socio comercial, la canalización de envío EDI debe efectuar lo siguiente:
Determinar el acuerdo en el que se resuelve el mensaje
Determinar el esquema que se va a usar para validar el mensaje
Resolución de contrato
La canalización de envío EDI lleva a cabo la búsqueda de acuerdos mediante la realización de una serie de pasos para determinar si hay una coincidencia entre el intercambio saliente y las propiedades de un acuerdo. Una vez que BizTalk Server ha determinado el contrato, determina el esquema de documento que se aplica al intercambio (véase a continuación). Usa las propiedades asociadas al acuerdo coincidente y el esquema correspondiente para generar y validar el mensaje saliente.
Para realizar la resolución del contrato, BizTalk Server continúa de la siguiente manera:
Resuelve el acuerdo al hacer coincidir la propiedad de contexto AgreementPartIDForSend con el identificador del acuerdo unidireccional. Esta propiedad debe ser un tipo entero, se puede establecer en un componente personalizado; no se establece mediante BizTalk Server.
Si el paso 1 no funciona, resuelve el acuerdo haciendo coincidir la tres propiedades de contexto siguientes con las propiedades del acuerdo: AgreementNameForSend, SenderPartyNameForSend y ReceiverPartyNameForSend. Tenga en cuenta que las tres propiedades deben estar configuradas para que se puedan resolver correctamente en un acuerdo. Estas propiedades se pueden establecer en un componente personalizado; no se establece mediante BizTalk Server.
Si el paso 2 no se realiza correctamente, resuelve el contrato haciendo coincidir el nombre de entidad en las propiedades de contexto del mensaje con la propiedad DestinationPartyName, que se establece como solucionador de acuerdos adicional en la pestaña Identificadores de las propiedades del contrato.
Si el paso 3 no funciona, resuelve el acuerdo haciendo coincidir las propiedades siguientes del contexto de un mensaje con las de las propiedades del acuerdo: DestinationPartySenderIdentifier, DestinationPartySenderQualifier, DestinationPartyReceiverIdentifier y DestinationPartyReceiverQualifier. Tenga en cuenta que las cuatro propiedades deben estar configuradas para que se puedan resolver correctamente en un acuerdo. Estas propiedades se pueden establecer en un componente personalizado; no las establece BizTalk Server. Para obtener más información, consulte más adelante.
Nota
Si alguno de los conjuntos anteriores de propiedades de contexto se promueve y BizTalk Server no puede encontrar un acuerdo asociado a esas propiedades de contexto, BizTalk Server suspende el mensaje.
Si el usuario escribe intencionadamente un conjunto de propiedades de contexto para la resolución del acuerdo y la resolución no puede identificar el acuerdo unidireccional, el mensaje se suspende. Si un acuerdo no se puede resolver según un conjunto de propiedades de contexto, se lanza el correspondiente mensaje de advertencia en el registro de eventos.
Si el paso 4 no funciona o no se promociona ninguna de las anteriores propiedades de contexto, el mensaje EDI se resuelve en un acuerdo mediante la coincidencia del puerto de envío que se ha suscrito al mensaje con el puerto de envío asociado a un acuerdo.
Nota
Si el mismo puerto de envío está asociado a varios acuerdos, BizTalk Server generará un error.
Si no se encuentra ningún acuerdo en los pasos 1, 2, 3 o 4, la canalización de envío usa la configuración del acuerdo de reserva para generar el mensaje saliente.
Resolución de acuerdos mediante propiedades de contexto remitente y receptor coincidentes
En el segundo paso anterior, las cuatro propiedades de contexto usadas en la coincidencia son EDI.DestinationPartySenderIdentifier, EDI.DestinationPartySenderQualifier, EDI.DestinationPartyReceiverIdentifier y EDI.DestinationPartyReceiverQualifier. El espacio de nombres de estas propiedades de contexto es
http://schemas.microsoft.com/Edi/PropertySchema
. BizTalk Server intenta hacer coincidir estos valores con los identificadores y calificadores de remitente y receptor relacionados en las propiedades del contrato unidireccionales. Para X12, estos campos son ISA05, ISA06, ISA07 e ISA08 en la página Identificadores de la pestaña acuerdo unidireccional del cuadro de diálogo Propiedades del contrato ; para EDIFACT, estos campos son UNB2.1, UNB2.2, UNB3.1 y UNB3.2 en la página Identificadores de la pestaña Acuerdo unidireccional del cuadro de diálogo Propiedades del contrato .Para habilitar la resolución del acuerdo en el lado del envío mediante los cuatro calificadores e identificadores de remitente y receptor, deberá establecer las cuatro propiedades de contexto. De este modo, se identifica el acuerdo de forma exclusiva. Con este método de búsqueda de acuerdo conseguirá mayor flexibilidad en el procesamiento de envío. Por ejemplo, mediante este método podría evitar la creación de varios puertos de envío en algunas circunstancias, así como filtros de puerto de envío complicados. También permite evitar establecer la propiedad OneWayAgreementId, si así lo desea.
Si las cuatro propiedades de contexto se han establecido para un mensaje y no se ha encontrado ninguna coincidencia entre las propiedades de contexto y las de propiedad, el mensaje se suspende. El acuerdo se resolverá mediante el puerto de envío asociado con un acuerdo únicamente si no se han establecido las cuatro propiedades de contexto.
Nota
Un mensaje en la canalización EDI va al paso siguiente en la resolución del acuerdo hasta que el mensaje se resuelva con el paso que tiene el acuerdo en estado habilitado. Por ejemplo, si el mensaje se resuelve en el primer paso de resolución del acuerdo, pero el acuerdo se encuentra en estado deshabilitado, el mensaje va al paso siguiente para su resolución.
Determinar el esquema
La canalización de envío EDI determina el esquema que se aplica al mensaje desde el nombre de esquema y el espacio de nombres de esquema que se incluyen en el archivo XML intermediario para cada conjunto de transacciones (como información de tipo de documento o en el nodo raíz).
Para un intercambio que se ha conservado, la canalización de envío usa la información de tipo de documento en los conjuntos de transacciones individuales del archivo XML intermediario para el intercambio completo. Usa los esquemas de segmento de control para procesar los segmentos de sobre.