I have a BizTalk Orchestration which loops to create multiple XML files. I have configured BAM activities and views and deployed the Tracking .btt file to track the data.
The BAM activity does not loop through these multiple XML files, it creates only one instance. I need the BAM activity to loop through all the XML files.
Have you tried calling the BAM api directly within your looping structure?
Put in an expression shape with something like this in the loop
Microsoft.BizTalk.Bam.EventObservation.OrchestrationEventStream.BeginActivity("someactivity", someID);
Microsoft.BizTalk.Bam.EventObservation.OrchestrationEventStream.UpdateActivity("someactivity", someID, "someProperty", someNamespace);
Microsoft.BizTalk.Bam.EventObservation.OrchestrationEventStream.EndActivity("someactivity", someID);
Have a look at the Typed BAM API.
https://generatetypedbamapi.codeplex.com/
You should iniate a new BAM Activity from within the loop.
Also, make sure you use a unique ActivityId for each XML you have in your loop, I suspect this is the problem you are experiencing now.
Related
I'm writing a piece of code to simulate some stuff of diagnostic.
I've created with CANalyzer, a panel with tons of information that need to be shown using a picklist (called combobox)
What I want to do is to create a giant array of that struct that need to be selected using the SPN combobox (the picklist) , and the other parameters of the struct/object need to populate the other elements of the panel.
Is this possible without doing a tons of SysSetVariableInt or SysSetVariableString for each element?
Before I was doing this stuff using another technique, I parse the file with all the information that are stored in a giant matrix, then I use the method "on sysvar update" on the variable associated to the SPN picklist, to get the index of that, so I search for that index in the matrix, then I use the SysSetVariableInt or others, to set the values to the elements in the panel.
To populate the picklist I've found a pretty nice method "sysSetVariableDescriptionForValue" that helps to add elements, but the problem with this method, is that if you want to change elements, you can just overwrite, and not change all...so, if in a next iteration you push less element in the picklist, you will see also the old ones.
With "sysSetVariableDescriptionForValue" you basically are writing via code, the value table of that sysvariable, and is not possible (according to Vector), be flushed, on runtime... :/
I would love to do this thing using another approach, maybe with the struct is possible...i really don't know.
Any help will be very appreciated!
Regards!
TLDR; build a tool to create a .sysvar file from a structured input (comma-separated for instance), run it, get the .sysvar file and link it to the CANalyzer configuration.
I once had to create the entire testing interface with some components of the software. We didn't have a structured release procedure, and the test environment was rebuilt every time from scratch based on the new internal software interfaces. I too had to add hundreds of variables.
My solution was to generate .sysvar files programatically outside CANalyzer. Links to the .sysvar files are symbolic in the CANalyzer configuration, meaning if a file by the right name is in the right location, that file is going to be loaded.
What I want to do is to create a giant array of that struct that need
to be selected using the SPN combobox (the picklist) , and the other
parameters of the struct/object need to populate the other elements
of the panel. Is this possible without doing a tons of
SysSetVariableInt or SysSetVariableString for each element?
Create an external script to generate the .sysvar file. In the end it is just an xml file, you may study the structure of a demo one you save. Then, import that file in the CANalyzer config. You may need to close/re-open the configuration in case the .sysvar file changes.
PROs: no need to write a complicated CAPL script and update it every time a variable changes.
CONs: you must have a source for all the information, even a simple excel sheet, with all the description and such, and you have to create a tool that accepts the input file (let's assume a .csv file) and turns it into a .xml file with .sysvar extension instead.
I have some config values in a database table that will be modified frecuently for my app.
I need to load it on every controller and set the data as variables for using them in all the application (controllers,services,twig templates, etc).
I am newbie with Symfony and i haven't find any method for creating a 'hook' which makes it.
The only thing i have thought is to save all variables in a session, but i suppose that this wouldn't be the best option.
What can i do?
Thanks for the help.
Using Lucene 4.9 (Java), I've been looking for a way to implement an autocomplete/suggest feature. The goal is to use several of the fields data used in my indexed documents as the source of the dictionary. What is the best practice or suggested way of generating a dictionary based on this?
I tried LuceneDirectory, but the issue is that it only accepts one field, shown below:
LuceneDictionary ld = new LuceneDictionary(indexReader, "fieldname");
What i'm looking for is something similar to this, but with a possibility of being able to supply an array of string with fields to populate my dictionary.
My next step was to look at the source of the class of LuceneDirectory, hoping to make my own custom Dictionary class implementing the Lucene directory interface. This however, was outside of my scope, and I was hoping someone else might have already done an implementation of this, or know how I can proceed.
To summarize:
1: How do I create a dictionary from an existing directory, with data from multiple fields(terms)?
2: How do I keep the dictionary updated once it has been created? Should I regenerate it on a regular basis or are there any other best practices for this?
You can add multiple Dictionaries to a SpellChecker, like:
SpellChecker spellchecker = new SpellChecker(spellIndexDirectory);
spellchecker.indexDictionary(new LuceneDictionary(indexReader, "fieldname"));
spellchecker.indexDictionary(new LuceneDictionary(indexReader, "anotherfield"));
We have a custom input format extending the FileInputFormat, which generates a separate split for each line in the input file. This file provides a host name in which the mapper handling this line should run.
How do I achieve this?
This is needed as the mapper reads data from DB and I want to run the mapper in the same machine as the DB server.
Not possible without writing your own implementation within the Hadoop code base.
If you are trying to add more data to the map input then pass it in as an argument to the job and you can then have it in your map() and concatenate it with the input.
I'm trying to read all filenames from a specified (server- not client) folder, and insert all the filenames into a javascript Array.
It should behave like the Directory.GetFiles method in ASP.NET C#.
I created a new array, and I just need the loop method (Javascript or jQuery) to iterate in the specific folder, and insert all the filenames into the array.
Thanks all helpers!
You're going to need to invoke some form of ajax postback to do this on the server, returning an array of strings as a JSON result.
Note that this has the usual caveats that the web server account must have the necessary permissions to be able to query the selected folder.
I wouldn't do this - it's potentially a security problem.
Out of interest, why are you doing this? I'm trying to imagine what you gain from having this information on the client...