Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile usare espressioni per modificare i messaggi in vari modi nell'orchestrazione.
Riferimento ai campi del messaggio
È possibile fare riferimento a un campo distinto in un messaggio aggiungendo il nome del campo al nome del messaggio come indicato di seguito:
MyMsg.Amount
In questo esempio MyMsg è il messaggio e Amount è un campo identificato come campo distinto per il tipo di messaggio su cui si basa MyMsg.
Assegnazione a messaggi e parti di messaggio
È possibile assegnare un messaggio direttamente a un altro messaggio o a una parte del messaggio a una parte del messaggio:
MyMsg=IncomingMsg;
MyMsg.Invoice=IncomingMsg.Invoice;
In questo esempio Invoice è una parte di messaggio basata su uno schema.
Se si desidera modificare una proprietà in un messaggio già costruito, ad esempio un messaggio ricevuto, è necessario costruire un nuovo messaggio assegnando il primo al secondo in una forma Construct Message e modificare la proprietà nel nuovo messaggio all'interno della stessa forma Construct Message.
Annotazioni
Non è possibile fare riferimento o assegnare ai campi del messaggio, ad esempio MyMsg.Invoice.MyField, a meno che non siano stati promossi; è possibile fare riferimento o assegnare solo a interi messaggi, parti dei messaggi, proprietà di messaggio alzate di livello o campi distinti.
Aggiunta di parti di messaggio
È possibile aggiungere parti aggiuntive a un messaggio multipart esistente usando il metodo XLANGs.BaseTypes.XLANGMessage.AddPart . A tale scopo, seguire questa procedura:
Creare un progetto C# e aggiungere un riferimento a Microsoft.XLANGs.BaseTypes.
Implementare una classe pubblica simile alla seguente:
public class MyAddPartHelper { public static void AddPart(XLANGMessage msg, object part, String partName) { msg.AddPart(part, partName); } }Esistono tre metodi sovraccarichi per Microsoft.XLANGs.BaseTypes.AddPart:
public void AddPart(object part, String partName); public void AddPart(XLANGPart part); public void AddPart(XLANGPart part, String partName);Nel progetto BizTalk, aggiungi un riferimento alla classe pubblica e chiama il metodo AddPart dal componente Expression nella tua orchestrazione come segue:
MyAddPartHelper.AddPart(myMessage, myStringObject, “StringObject1”);
Annotazioni
Non è possibile aggiungere oggetti non serializzabili o oggetti formattati personalizzati come parti del messaggio. Tutte le parti statiche devono essere inizializzate prima di aggiungere parti aggiuntive usando il metodo AddPart . È possibile aggiungere parti arbitrarie a un messaggio solo all'interno dell'istruzione del costrutto di messaggio. L'aggiunta di parti aggiuntive all'esterno dell'istruzione del costrutto di messaggio non è supportata.
Recupero di parti del messaggio
È possibile recuperare una parte del messaggio da un messaggio multipart esistente usando il metodo RetrieveAs da Microsoft.XLANGs.BaseTypes. A tale scopo, seguire questa procedura:
Creare un progetto C# e aggiungere un riferimento a Microsoft.XLANGs.BaseTypes.
Implementare una classe pubblica simile alla seguente:
Public class MyAddPartHelper { public static Object GetPart(XLANGMessage msg, string sName, Type t) { XLANGPart p = msg[sName]; return p.RetrieveAs(t); } public static Object GetPart(XLANGMessage msg, int partIndex, Type t) { XLANGPart p = msg[partIndex]; return p.RetrieveAs(t); } }Annotazioni
Il metodo RetrieveAs supporta il recupero delle parti dei messaggi in base al nome e all'indice.
Nel progetto BizTalk aggiungere un riferimento alla classe pubblica e chiamare il metodo GetPart dalla forma Expression nell'orchestrazione come indicato di seguito:
sPart = (System.String) MyAddPartHelper.GetPart(msg, "StringObject1" , typeof(System.String)); //sPart is a type of System.String sPart = (System.String) MyAddPartHelper.GetPart(msg, 1, typeof(System.String)); //Retriving the message part with index = 1
Accesso alle proprietà del contesto della parte del messaggio
Una parte del messaggio ha un contesto separato dal contesto del messaggio. È possibile costruire proprietà di contesto della parte del messaggio tramite l'editor dello schema quando si imposta la proprietà Property Schema Base per l'elemento associato su PartContextPropertyBase.
L'accesso è simile alle proprietà del messaggio, tramite un'espressione simile alla seguente:
Msg.PartName(myPartContextProperty)
Per esempio:
Str=Msg.PartName(myPartContextProperty); //assumes myPartContextProperty is of type string
Accesso alle proprietà di contesto XLANGMessage
Se si desidera accedere alle proprietà dei messaggi dall'interfaccia XLANGMessage dal codice, è possibile passare il messaggio come parametro di tipo Microsoft.XLANGs.BaseTypes.XLANGMessage a un metodo da una forma Expression e quindi utilizzare i metodi Microsoft.XLANGs.BaseTypes.XLANGMessageSetPropertyValue e GetPropertyValue per ottenere questo risultato. A tale scopo, seguire questa procedura:
Creare un progetto C# e aggiungere un riferimento a Microsoft.XLANGs.BaseTypes e Microsoft.BizTalk.GlobalPropertySchemas.
Accedere alla proprietà di contesto usando il codice simile al seguente:
MyMsg.GetPropertyValue(typeof(BTS.MessageID)); MyMsg.SetPropertyValue(typeof(MIME.IsMultipartRelated), true);
Annotazioni
Se si desidera ottenere o impostare proprietà di contesto personalizzate, è necessario aggiungere un riferimento al progetto dello schema delle proprietà o aggiungere un riferimento all'assembly contiene gli schemi delle proprietà nel progetto C#.
Assegnazione alle proprietà del messaggio
È possibile assegnare un valore a una proprietà del messaggio:
MyMessage(MySchemaNamespace.MyProperty)=True;
In BizTalk Server è possibile fare riferimento a e assegnare valori alle proprietà MIME di un messaggio in più parti:
Message_Out.MessagePart_1(MIME.FileName)="document.doc";
Annotazioni
Un messaggio BizTalk è costituito dal contesto del messaggio e dalle parti del messaggio. È prima necessario inizializzare le parti del messaggio prima di poter ottenere o impostare qualsiasi proprietà del contesto del messaggio; in caso contrario, si riceverà un errore durante la fase di compilazione XLANG.
Vedere anche
Uso dei messaggi nelle orchestrazioni
Creazione di messaggi nel codice utente