Forum Replies Created
-
AuthorPosts
-
You can use BtsntSvc.exe.config file to save the environment name and retrive it in your Map.
1. Create a file called Extension-Registry.xml, add to your project and add this xml:
<ExtensionObjects>
<ExtensionObject Namespace="http://schemas.microsoft.com/BizTalk/2003/Registry" AssemblyName="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" ClassName="Microsoft.Win32.Registry" />
</ExtensionObjects>2. Open your map file, select the grid and set the Custom Extension Xml property to the file above
3. Add this namespace to the <xsl:stylesheet> node of your custom Xslt
xmlns:Registry="http://schemas.microsoft.com/BizTalk/2003/Registry"
4. Add this xslt code where appropriate:
<xsl:element name="Value">
<xsl:value-of select="Registry:GetValue(<keyName>, <valueName>, <defaultValue>)" />
</xsl:element>For Muenchian grouping examples, just google Biztalk and Muenchian.
Recoverable processing is a mechanism for processing a batch of messages and only failing the bad ones.
On Biztalk 2004, if you had a batch of 100 messages, one of which was bad – all 100 would fail.
With Biztalk 2006, you can turn on recoverable interchange processing so the 99 good messages are processed and the one bad one is suspended.
This is optional, it may not be what you want to happen. If for example the sending system is unable to handle individual failures and must reprocess the entire batch, then you would not want to use recoverable interchange processingCheck out this thread:
Unfortunately I am stuck with the output from the DTS package as the file is produced by a third party.
I'm glad this isn't as easy as it sounds. This is my first BizTalk solution and I was coming to the conclusion that I must have been missing something really basic! All the examples of flat file usage I could find had flat files with a pretty good structure already defined.
I'm not too sure about the Muenchian grouping that you mention but at least it gives me something to search for on the web. Do you know of any good examples out there that I can read through?
I read an article on someones blog the other day (I forget who's – I've been living in Blogland since starting working with BizTalk!) that explained debatching in an orchestration. However, it called a pipeline to debatch the original message using an Expression shape and explained that this needed to be in an atomic scope and so did not support recoverable interchanges. Does this mean that potentially individual lines from my PO could be lost (or at least suspended) when the document is debatched if an error occurs? Do you know of a better way of handling this in an orchestration?
By the way, to anyone reading this that is a BizTalk 2006 beginner, I would recommend "BizTalk 2006 Recipies: A Problem-Solution Approach" as a really good book to get started in BizTalk – after a basic training course!
Unfortunately, this will not be as easy as you might imagine.
The Flat File Disassembler will not create a hierarchical structure from a flat structure.
You will need to create a Flat file schema that has the same structure as the your data
i.e. multiple records containing every field.You can then use a map (custom Xslt using Muenchian grouping) to group into a hierarchical document structure.
You can then pass thru a pipeline to debatch the documents ( the output schema for the map will need to be an envelope/document schema) and this means sending the file out a send port and receiving in another receive port.
Alternatively, you can debatch the the output of the map inside an orchestration.
This would all be easier if the output from SQL was already in a hierarchical document structure. Do you have the ability to change the extract mechanism from SQL or do you have to work with the current output.
Hi
Can you please help me out with the way to start making a custom adapter for Biztalk. Any tutorial or sample will be of great help.
Regards
Sachin
Hi
Can you please help me out with the way to start making a custom apadter for Biztalk. Any tutorial or sample will be of great help.
Regards
Sachin
Thanks greg.
can you please elobarate the explanation you have given.i'am not getting you exactly.
Thanks
The Xml Validator component stops on the first error, so you only get errors one at a time.
I have implemented Xml validation using a map inside an orchestration. The map is a custom Xslt based on a Schematron pattern.
This is able to return more than one error and also enables validation that is not possible using Xml Schema.
e.g. if <DocumentType> = "CREDIT NOTE" then <OriginalInvoiceNumber> must contain a value.
and I have also summed line totals which must match net totals, calculated tax, etcYou can only use this in an orchestration, because the output is an error document. If there are no errors then the orchestration proceeds using the original message, otherwise return original message and error document to the originator.
There is a performance overhead, so it is not appropriate for all circumstances
Was your problem resolved?
Your namespace should have been more like:
http ://schemas.microsoft.com/[MyOracleDbAdapter://<DataSourceName>/<OracleSchema>/Tables/SAMPLE_XCHANGE]
If you generate a new schema check that against the one you have now. Once someone changes the Oracle database instance or user/schema it can have "negative" affects on your generated schemas. I've had to make sure that each environment (Dev, Test, Prod) has the same Oracle schema configuration so I don't need to re-generate my schemas for each. (Which would be bad) 🙂 Synonyms might solve this but I haven't tested.
BizTron
I'll try to publish a tutorial on the subject when I get a chance. I haven't seen any so I began one on a recent project for others in the same state.
Make sure to use packages for your stored procedures to be able to view them using the BizTalk Oracle Adapter. Also, use XmlTransmit and XmlReceive pipelines in your send port to be sure your schema is used correctly in your application.
Let us know if this helps since there are a few related posts with similar questions for this "thinly" documented option.
BizTron
A Package is necessary when using Sprocs on Oracle 9i or 10g.
I'm not sure if "SYS_REFCURSOR" is available through the BizTalk Oracle adapter, but this is something to verify as well.
If you're new to Oracle stored procs, BizTalk, OR the Oracle adapter I would suggest writing a simple sproc that takes IN a single number or varchar parameter and sends it back as an OUT parameter. Don't forget the package. This simple black-box approach helps you isolate more fundamental system issues.
BizTron
Also check out out this from Matt Meleski (MVP):
http://objectsharp.com/blogs/matt/archive/2006/01/29/3778.aspx
And for a commercial offering:
Since Excel sheets can be converted to XML, he should be able to automate this conversion with some .net base objects.
this shows there are caveats if it contains formulas, but it is a start
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=398481&SiteID=1
there are also utilities people have made
http://www.codeproject.com/csharp/Excel2XML.asp
– weak architect
-
AuthorPosts