Forum Replies Created
-
AuthorPosts
-
Not really any easy way to do this. In 2004 or 2006.
Have you thought of using Virtual Machines?
Not sure how the licensing works, but you might just need a MSDN License for non-production machines or maybe less for VMs. Again, you’d want to check on this.
Everytime you update the web reference, you have to manually promote the properties again.
An update of the web reference replaces the reference.xsd. This process does not check for promoted properties, nor try to replicate them in the new schema.
It would be nice if this behaved more like the mapper, which will copy links if the same node exists in the replacement schema. One day maybe…
Hi eladar,
I tried your stript, the escape letter occurs an erro when I use the SaveFile script. Do you know how to fix it?
My the way, how an I get the messageid ?
Thanks.
You could use a loop shape with a Sequential Convoy. But you could run into some other issues. I’d only do this if your business process required it… not for any type of performance reason.
For a performance point of view, I think it’s just the first time you run an Orchestration after a Host restart that has the huge performance hit.
Hope this helps.
Oh, if that’s what you are trying to do. I’d do an XPath into the message and get the value. Then set it to the File.ReceivedFileName property. Then, use the %SourceFileName% Macro on the send port.
I have samples (under BizTalk 2004 I think) of using XPath and Setting the File Name.
Best of luck.
Hi Stephen,
Thanks for replying.
Yes i have used two different schemas. The input schema ie XMLInputFile1 is an XML schema. while output schema is a Flat File schema. And i have used map to connect them.
I have a child field element named "ACTSEQ" in the XMLInputFile1, who's value i want to show as an output file name. My input file is an XML file while output file is a .txt file
Please tell me how can i do that?
Thanks in advance
Gaurav Garg
Hi,
I think there are samples of this on the net but basically you need to:
1 – create a receive port
2 – create a FILE receive location connected to port in step 1
3 – set the pipeline to pass through
4 – create a send port
5 – set a filter to BTS.receiveportname = the name of your port in step 1
6 – set the transport type to FTP and configure the FTP send adapter settings.
7 – start receive and send ports.
(Easiest way to do all of this is in the Biztalk Server administraiton console and you can use the default application 1 project…)
hope this helps as a beginning…
Hi Greg,
Thanks for the reply. I did try the above method previously (in most of the blogs, explanation for de-batching). I even tried with the Envelope approach. Both work alright, but in my case I get an extra error. I get the same problem for both approaches. I may need to do some changes in my schema to accomodate that change. I will mail you the schemas and example.
But I even explained the scenario here: If you might have experienced it prev, might get a fast solution.
************
I have a scenario where I need to de-batch a flat file. The flat file consists of many orders. Each Order has various records in it.
Eg: Flat file : 1st 2 fields can be used as TAG Identifiers.
00-header record1(CR+LF)
05-Order related Record 1A(CR+LF)
10-Order related Record 1B(CR+LF)
99-Trailer record1(CR+LF)
00-header record2(CR+LF)
05-Order related Record 2A(CR+LF)
10-Order related Record 2B(CR+LF)
99-Trailer record2(CR+LF)and so On…
So I have an Order Schema (min occurs – 1 , max occurs 1) – Tag Identifier for Order Schema – 00. Order Record is delimited, where as its children – Header, Rel 1, Rel 2, Trailer are positional (all are compulsary). Child Order – Postfix , delimiter – 0x0d 0x0a
No TagID for Header Record as I have used it to identify Order Record, others do have a Tag Identifier (05, 10, 99).
Have an Envelope schema importing the Order Schema ( here I make it 1, unbounded ). Child Order – Infix , hex 0x0d 0x0a .
In the pipline I place the Order Schema and I set Recoverable Interchange processing – True (need to pass all the valid Orders through).
Testing: For a valid batch input – I get the de-batched output.
For an Invalid Order for a Batch input:
Order1 — valid
00headerdetails — Order2 – invalid
990000othertrailer fields — Order2
Order3 — Order3 valid.My Input file has 3 orders in which Order 2 is invalid.
Problem:
While running the application. The valid files order1, order3 pass through (that is fine). Problem occurs with order2. I just need to get a single suspended message. But I get 2.
BizTalk takes the 00 after 990000otherTrailerdetails as the the TAG Identifier of Order Record. And tries to validate it. Because its not complete it fails to validate.
Its like I have an extra Order in my input. In the event viewer I expect 1 error (for a single invalid order2), but I get 2 errors(2 orders – order 2 split into 2).How can I take care of this ??
Thanks in advance
Another option you may like to consider is using the SSO database as a config store.
There is an example here:
http://msdn.microsoft.com/biztalk/downloads/samples/
SSO as a Configuration store.This is most useful if you wish to store config data securely (e.g. passwords), but may not suit your needs as all users of the dll need access to the SSO database.
thanks for your answer. The reason I create a seperate config file, is the use of the DLL by another applications. May be it isn't possible to do, or i must hard coded program the path to the config file. I'm thinking about a solution, or hard code, or the BTSNTScv.exe.config.
Debatching flat files does not use the Envelope/Document schema model. This is for Xml files only.
To debatch you should just need the Order schema
Order – Postfix, hex 0x0D 0x0A maxOccurs = 1
The flat file disassembler will iterate through the flat file and generate a new message for each Order it finds.
You can send me your schemas and an example document if This does not work.
December 18, 2006 at 1:45 AM in reply to: Reuse of orchestration that start with active receive shap #16976Thank you man
Hi Stephen,
I did try that property (It doesnt come on the <schema> node, but at the record level), but the same errors are being thrown. In the scenario, I use Envelope Schema, and an Inner Schema. I also am using the Recoverable interchange processing property. But the error still persists. It tells after the last line. Unexpected data found while looking for '00' where 00 is the tag identifier of the Inner schema Record.
Input format is something like:
Order1(CR+LF)
Order2(CR+LF)
….
OrderN(CR+LF)
(Order Has various Sub Records in it)
I have an Envelope Schema – Infix , Hex 0x0d 0x0a
Order Schema – Postfix , hex 0x0d 0x0a
I need to de-batch the input. So Order Schema (min occurs – 1, Max occurs -1)
Envelope Schema Imports the Order Schema – (make Order Schema max occurs – unbounded)
Thanks
AH
Hi Stephen,
I did try that property, but the same errors are being thrown. In the scenario, I use Envelope Schema, and an Inner Schema. I also am using the Recoverable interchange processing property. But the error still persists. It tells after the last line. Unexpected data found while looking for '00' where 00 is the tag identifier of the Inner schema Record.
Input format is something like:
Order1(CR+LF)
Order2(CR+LF)
….
OrderN(CR+LF)
I have an Envelope Schema – Infix , Hex 0x0d 0x0a
Order Schema – Postfix , hex 0x0d 0x0a
I need to de-batch the input. So Order Schema (min occurs – 1, Max occurs -1)
Envelope Schema Imports the Order Schema – (make Order Schema max occurs – unbounded)
Thanks
AH
-
AuthorPosts