Biztalk navigation
Generellt | Orkestrering | Mappning | XSLT | Scheman | Pipelines | Annat - Bindings, Adapters..

Orkestrering
Konfig inuti orkestrering
Dynamisk port config i orkestrering (Expression Shape)
PORTNAME(Microsoft.XLANGs.BaseTypes.Address) = @"C:\\BizTalk Files\\DANIEL_Test\\GRAB\\*";
PORTNAME(Microsoft.XLANGs.BaseTypes.TransportType) = "FILE";
Exempel
SendPatchERP7(Microsoft.XLANGs.BaseTypes.Address) = "";
SendPatchERP7(Microsoft.XLANGs.BaseTypes.TransportType) = "WCF-WebHttp";
Port_Email(Microsoft.XLANGs.BaseTypes.Address) = "";
Port_Email(Microsoft.XLANGs.BaseTypes.TransportType) = "SMTP";

SMTP
File name for attachment (Multi-part Message)
EmailMsg.Attachment(MIME.FileName) = "word.docx";

Azure Blob Storage FileName
OutMessage(FILE.ReceivedFileName) = InMessage(AzureBlobStorage.ReceivedBlobName);

Sätt värde för promote:at fält
APIRequestMsg(IP0358_Bestallningsportalen_Ekonomifiler.PropertySchema.Filter) = "123";

Skapa message från message assignment
XmlDoc = new System.Xml.XmlDocument();
XmlDoc.LoadXml("Kalle147");
msgOrchestrationVariables = XmlDoc;

Hämta endast filnamnet från en hel sökväg
System.IO.Path.GetFileNameWithoutExtension(DeliveryInformationMsg(FILE.ReceivedFileName));
System.IO.Path.GetFileName(DeliveryInformationMsg(FILE.ReceivedFileName));

XML till sträng
message.OuterXml ger strängen för XML:en, kanske inte fungerar och då behöver du använda en System.Xml.XmlDocument variabel

Börja en sub-sträng vid en viss plats i en sträng
ex.Message.Substring(ex.Message.LastIndexOf("']/*[local-name()='Customer' and namespace-uri()='']/*[local-name()='companyRegistrationNumber' and namespace-uri()=''])");
Hämta värde i XML-message med index
XpathString = "string(/*[local-name()='Customers' and namespace-uri()='']/*[local-name()='Customer' and namespace-uri()=''][" + Counter.ToString() + "]/*[local-name()='companyRegistrationNumber' and namespace-uri()=''])";

Sätta namespace på XML ifrån orkestrering
tmp_xml = new System.Xml.XmlDocument();
tmp_xml = IncomingMsg;
tmp_element = tmp_xml.CreateElement("ns0", tmp_xml.DocumentElement.Name, "http://LtB.Int.IP0311.ARXexport.arx_export");
tmp_element.InnerXml = tmp_xml.DocumentElement.InnerXml;
tmp_element.SetAttribute("timestamp", tmp_xml.DocumentElement.GetAttribute("timestamp"));
tmp_xml.InnerXml = tmp_element.OuterXml;
tmp_xml.InsertBefore(tmp_xml.CreateXmlDeclaration("1.0", "UTF-8", ""), tmp_xml.DocumentElement);
ARX_in_msg = tmp_xml;

Orkestrering för flatfil
Receive Port och Send Port ska ha datatypen System.Xml.XmlDocument
Skapa två meddelanden, ett in-meddelande och ett ut-meddelande
Sätt med Message Assignment: OutMessage = InMessage;

InMessage System.Xml.XmlDocument
OutMessage System.Xml.XmlDocument




Andra noteringar
Message Assignment shapes kan inte ha IF-statser i sig

    
Multi-part Message Types
Sätt portar att använda din Multi-part Message Type

Initialisering
//EmailMsg = IP0356_Plasmafil_Octapharma.FinalizedEmail;
EmailMsg.Body = "12345";
EmailMsg.Attachment = WordFileMsg;


Kolla ifall ett element finns via XPath
boolean(/*[local-name()='UpdatePerson' and namespace-uri()='urn:riv:strategicresourcemanagement:persons:person:UpdatePersonResponder:4']/*[local-name()='personId' and namespace-uri()='urn:riv:strategicresourcemanagement:persons:person:UpdatePersonResponder:4']/*[local-name()='extension' and namespace-uri()='urn:riv:strategicresourcemanagement:persons:person:4']

Kolla ifall ett element finns och har ett värde via XPath
boolean(/*[local-name()='UpdatePerson' and namespace-uri()='urn:riv:strategicresourcemanagement:persons:person:UpdatePersonResponder:4']/*[local-name()='personId' and namespace-uri()='urn:riv:strategicresourcemanagement:persons:person:UpdatePersonResponder:4']/*[local-name()='extension' and namespace-uri()='urn:riv:strategicresourcemanagement:persons:person:4'][string-length(normalize-space(.)) > 0])