%SourceFileName%

Gisteren was ik bezig met een Biztalk Orchestration. De Orchestration moet een inkomend bestand op twee plaatsen neerzetten, een webservice aanroepen en het antwoord van de webservice ook opslaan. Om de naam van het binnenkomende bericht te krijgen, gebruikte ik in eerste instantie %SourceFileName%. Maar tijdens het testen bleek dat het bestand dat als twee weggeschreven moest worden (dit gebeurde overigens later in de Orchestration) de bestandsnaam %SourceFileName% kreeg. En dat was nu juist niet helemaal de bedoeling.

Na wat verder testen en debuggen (yep Biztalk is debugable) ontdekte ik het probleem. %SourceFileName% is een soort macro, die gevuld is binnen een bepaalde context en daarna niet meer. Tja en daar verloor het ding zijn inhoud. Met dank aan Sijmen van Microsoft.

De volgende code hielp mijn probleem oplossen:
 
        Filename = System.IO.Path.GetFileName(NhgDatafile_Xml(FILE.ReceivedFileName));


FILE.ReceivedFileName bevat filename and path. GetFileName haalt het path eraf.
Overigens is System.IO.Path een interessante library, zeker als je veel met bestanden doet.

This entry was posted in Uncategorized by Marcel Meijer. Bookmark the permalink.

About Marcel Meijer

Op dit moment houdt hij zich voornamelijk bezig met Microsoft Azure, Cloud, C#, Software Ontwikkeling, Architectuur, Windows 10 en IoT. Hij werkt als Development Team Lead bij iFunds. In zijn vrije tijd is hij voorzitter, bestuurslid, eindredacteur en eventorganisator bij de SDN (Software Development Network). Sinds 1 oktober 2010 is hij MVP geworden.

Leave a Reply

Your email address will not be published. Required fields are marked *