Forum Replies Created
-
AuthorPosts
-
Here is the schema, flat file, and command script to test it.
Any help is greatly appreciated.
Schema \”80131940.xsd\”
[code:1:85c9b9bcb0]
<?xml version=\"1.0\" encoding=\"utf-16\"?>
<xs:schema xmlns=\"http://TimeLoad_TimeLoad\" xmlns:b=\"http://schemas.microsoft.com/BizTalk/2003\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://TimeLoad_TimeLoad\">
<xs:annotation>
<xs:appinfo>
<b:schemaInfo standard=\"Flat File\" root_reference=\"TimeLoadRoot\" parser_optimization=\"complexity\" lookahead_depth=\"15\" suppress_empty_nodes=\"true\" generate_empty_nodes=\"true\" allow_early_termination=\"true\" count_positions_by_byte=\"false\"/>
<schemaEditorExtension:schemaInfo namespaceAlias=\"b\" extensionClass=\"Microsoft.BizTalk.FlatFileExtension.FlatFileExtension\" standardName=\"Flat File\" xmlns:schemaEditorExtension=\"http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions\"/>
</xs:appinfo>
</xs:annotation>
<xs:element name=\"TimeLoadRoot\">
<xs:annotation>
<xs:appinfo>
<b:recordInfo structure=\"delimited\" preserve_delimiter_for_empty_data=\"true\" suppress_trailing_delimiters=\"false\" sequence_number=\"1\" child_delimiter_type=\"hex\" child_delimiter=\"0x0D 0x0A\" child_order=\"postfix\"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs=\"0\">
<xs:annotation><xs:appinfo><b:groupInfo sequence_number=\"0\"/></xs:appinfo></xs:annotation>
<xs:element name=\"TimeLoadCollection\">
<xs:annotation><xs:appinfo>
<b:recordInfo sequence_number=\"1\" structure=\"delimited\" child_delimiter_type=\"hex\" child_delimiter=\"0x0D 0x0A\" preserve_delimiter_for_empty_data=\"true\" suppress_trailing_delimiters=\"true\" child_order=\"infix\"/>
</xs:appinfo></xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:annotation><xs:appinfo><b:groupInfo sequence_number=\"0\"/></xs:appinfo></xs:annotation>
<xs:element name=\"tlDate\" type=\"xs:string\" nillable=\"true\">
<xs:annotation><xs:appinfo><b:fieldInfo justification=\"left\" sequence_number=\"1\"/></xs:appinfo></xs:annotation>
</xs:element>
<xs:element name=\"tlTimeKeeperInitials\" type=\"xs:string\" nillable=\"true\">
<xs:annotation><xs:appinfo><b:fieldInfo justification=\"left\" sequence_number=\"2\"/></xs:appinfo></xs:annotation>
</xs:element>
<xs:element name=\"tlClientName\" type=\"xs:string\" nillable=\"true\">
<xs:annotation><xs:appinfo><b:fieldInfo justification=\"left\" sequence_number=\"3\"/></xs:appinfo></xs:annotation>
</xs:element>
<xs:element name=\"tlMatterNumber\" type=\"xs:string\" nillable=\"true\">
<xs:annotation><xs:appinfo><b:fieldInfo justification=\"left\" sequence_number=\"4\"/></xs:appinfo></xs:annotation>
</xs:element>
<xs:element name=\"tlBillStatus\" type=\"xs:string\" nillable=\"true\">
<xs:annotation><xs:appinfo><b:fieldInfo justification=\"left\" sequence_number=\"5\"/></xs:appinfo></xs:annotation>
</xs:element>
<xs:element name=\"tlHoursAmount\" type=\"xs:string\" nillable=\"true\">
<xs:annotation><xs:appinfo><b:fieldInfo justification=\"left\" sequence_number=\"6\"/></xs:appinfo></xs:annotation>
</xs:element>
<xs:element name=\"BlankLine\" type=\"xs:string\" nillable=\"true\">
<xs:annotation><xs:appinfo><b:fieldInfo justification=\"left\" sequence_number=\"7\"/></xs:appinfo></xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
[/code:1:85c9b9bcb0]Flat File \”80131940.txt\”
[code:1:85c9b9bcb0]
2005-06-21
1125
LA
455133
B
2.252005-06-21
2351
LA
455134
B
8.002005-06-21
1026
LA
455135
B
5.50[/code:1:85c9b9bcb0]
Test Command File \”80131940.cmd\”
[code:1:85c9b9bcb0]
\"C:\\Program Files\\Microsoft BizTalk Server 2004\\SDK\\Utilities\\PipelineTools\\FFDAsm.exe\" 80131940.txt -bs \"80131940.xsd\" -c -vpause
[/code:1:85c9b9bcb0]Output
[code:1:85c9b9bcb0]
Creating objects.
Creating message.
Adding message to a pipeline.
Executing pipeline.
Getting processed message(s).Message 1:
————————————–<TimeLoadRoot xmlns=\"http://TimeLoad_TimeLoad\"><TimeLoadCollection xmlns=\"\"><tlDate>2005-0
6-21</tlDate><tlTimeKeeperInitials>1125</tlTimeKeeperInitials><tlClientName>LA</tlClientNa
me><tlMatterNumber>455133</tlMatterNumber><tlBillStatus>B</tlBillStatus><tlHoursAmount>2.2
5</tlHoursAmount></TimeLoadCollection></TimeLoadRoot>Message 2:
————————————–<TimeLoadRoot xmlns=\"http://TimeLoad_TimeLoad\"><TimeLoadCollection xmlns=\"\"><tlDate>2005-0
6-21</tlDate><tlTimeKeeperInitials>2351</tlTimeKeeperInitials><tlClientName>LA</tlClientNa
me><tlMatterNumber>455134</tlMatterNumber><tlBillStatus>B</tlBillStatus><tlHoursAmount>8.0
0</tlHoursAmount></TimeLoadCollection></TimeLoadRoot>Message 3:
————————————–<TimeLoadRoot xmlns=\"http://TimeLoad_TimeLoad\"><TimeLoadCollection xmlns=\"\"><tlDate>2005-0
6-21</tlDate><tlTimeKeeperInitials>1026</tlTimeKeeperInitials><tlClientName>LA</tlClientNa
me><tlMatterNumber>455135</tlMatterNumber><tlBillStatus>B</tlBillStatus><tlHoursAmount>5.5
0</tlHoursAmount></TimeLoadCollection></TimeLoadRoot>Error
Source: Flat file disassembler
Message: Unexpected end of stream while looking for:
‘\\r\\n’
The current definition being parsed is TimeLoadCollection. The stream offset where the err
or occured is 145.
HRESULT: 80131940[/code:1:85c9b9bcb0]
Yes, I do not think you need to use an Envelope in this case.
I would first break the message up and get it into Xml. If you need to remove the Envelope later on, you can do it inside a map in the Orchestation or Send port.
Do you think that will work for you?
If you want, you can email me your schema and sample file and I can take a look at it.
I’ll have some time tonight to take a look at it.
Hi,
My Child Order is currently Infix. When I change it to PostFix I get an the same error but earlier in the file. It cannot even read the first record. Whereas when I keep it Infix, it reads all the records but it seems to think there is another record and then fails.
Thanks
Hello.
The big party and hype will be in November. But, we will only have the Beta available to play with until the product ships in 2006.
The official “launch” is in November but the software will not ship (be released) until sometime in 2006 (probably 1st or 2nd quarter 2006).
Hope this helps.
Hello.
You have a few options.
You can adjust the batch size of the File Receive Adapter. Or, you can adjust the High / Low water marks associated with Messages. This blog posts talks about it a little more: http://blogs.msdn.com/darrenj/archive/2005/04/17/409068.aspx
This Performance Document might help you out: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS_2004WP/html/04d20926-20d2-4098-b701-52238a267eba.asp
Hello.
What do you have your Default Child Order set to?
Try changing it to Infix or Post fix to see if that helps.
I re-read your response. So you don’t think I should have an \”ENV’s\” node, but rather JUST have the ENV under the schema node, and have the rest of my structure under that?
[quote:ff47ea7676=\”Stephen W. Thomas\”]Hello.I would set this up putting the Envelope into the file. I would create a single schema like this:
ENV|abc|123
HDR|def|456|!@#
LIN||xyz|098|nopThen, used the native features of the Flat File Disassembler each message will be broken up and sent to the message box. So, if you message has 5 ENV you will get 5 messages.
I would not message with a header.
Do you think this would work for you?[/quote:ff47ea7676]
This is what I’ve managed to do:
I created one single schema that has an Envelope Node \”ENVs,\” and then have a Child Record under it that is the ENV structure itself. I leave the max and min occurences to the default (1), as my understanding is it will create a separate instance/xml file for each ENV.
I use ffdasm at the command prompt and get separate XML files. When I deploy my solution and run it, it fails. The stream errors in the middle of one of the children on the last line of the n-th ENV.
ex:
LIN|xyz|0*98|nop
* – where the stream stops.
I found that this is tied to the child delimter of 0x0D 0x0A being at the end of the last line. So I actually took it out (b/c suppressing trailing delimiters didn’t seem to make a difference). I run the orchestration again, and it runs through…BUT, one large XML instead of separate ones. AND, when I run ffdasm at the command prompt, it fails giving me a similar error where the parsing fails in the middle of a field.
Something else to think about might be to have separate hosts for your Receives, Sending, Processing etc. You might have it already, but sometimes that can help with performance problems.
thanks, it’s really work)
but there is other problem… after midday of work the server leaves in \”deep down\”. After server’s restart all comes in norm 🙂
October 4, 2005 at 4:36 AM in reply to: Help with Infopath processing instructions in BizTalk 2004 #12018Hello.
I think your problem is your Processing Instructions are getting overwritten. I’m guessing your Send Pipeline is overriding them or not appending them as needed.
Processing Instruction can be set in three ways: inside an Orchestration, inside a map, or inside the pipeline. How they are handled in the Send Pipelines also depends if they exist in the original message.
In my Sharepoint hands on lab, I set them inside the Orchestration but then I use the Pass Through pipeline on the send side.
How are you setting your Processing Instructions? I’m guessing your input message does not have processing instructions?
Hello.
I would set this up putting the Envelope into the file. I would create a single schema like this:
ENV|abc|123
HDR|def|456|!@#
LIN||xyz|098|nopThen, used the native features of the Flat File Disassembler each message will be broken up and sent to the message box. So, if you message has 5 ENV you will get 5 messages.
I would not message with a header.
Do you think this would work for you?
Hello.
I have seen some white papers on the basics of Biztalk Design but that might not relate to your scenario that well. You can see a full list here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/bts_2004wp/html/90a5261b-a220-41bf-bf7f-fd759239242c.asp
You are welcome to post ideas here on this forum if you think it would help.
Hope this helps.
Hello.
Out of the box Biztalk is set up for high volume – high latency scenarios.
You can change some configuration setting to reduce the latency.
One of the factors on Receive latency is Batch Size. I know the HTTP Receive has a batch size but I don’t think the SOAP adapter has that.
You could probably get more information in the Performance Document located here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS_2004WP/html/87f447a2-09ce-4a30-9f94-584684310051.asp
Or this one on low-latency in HTTP: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS_2004WP/html/87f447a2-09ce-4a30-9f94-584684310051.asp
Hope this helps.
-
AuthorPosts