Forum Replies Created
-
AuthorPosts
-
To summarize what is said above, there are two categories of tools:
ETL – Extract Translate Load (SSIS)
BPM – Business Process Management (Biztalk)Use the right tool for the right job.
The normal way to call web services is to make a web reference, then use the send/receive shapes. I’ve never tried the direct .NET approach. Once you make a web reference, a schema is built for you (you can drill down under the web reference and view it).
Note that web services can return simple types or complex types.
A complex type is a .NET class or structure, and would be represented by a schema. A simple type would be a simple value such as a string, integer, etc…If the variable contains XML, you can do something like this:
1) Define a variable in Orch Viewer: xmlDoc of type System.Xml.XmlDocument
2) In an expression shape do this:
xmlDoc.Load(retValue);
myMessage = xmlDoc;In this case, you would have to have a schema to define a message called \”myMessage\”.
You could also write to a file directly using .Net classes, but this is probably not where you want to head.
One advantage of using Send/Recieve and Ports (for web services or flat files) is the Biztalk retry capabilities. If the web service is down, Biztalk will try it again. The SendPort has a retry interval and max retries parameter.
May 26, 2006 at 2:38 PM in reply to: Map contains a reference to a schema node that is not valid #13606Try just editing your .btm with a text editor. It’s a pain, but this seems to be needed in the following cases:
1) Change root element (or other elements not at bottom level)
2) Change target namespace
3) Move schema from one project to anotherThe normal way to call web services is to make a web reference, then use the send/receive shapes. I’ve never tried the direct .NET approach. Once you make a web reference, a schema is built for you (you can drill down under the web reference and view it).
Note that web services can return simple types or complex types.
A complex type is a .NET class or structure, and would be represented by a schema. A simple type would be a simple value such as a string, integer, etc…If the variable contains XML, you can do something like this:
1) Define a variable in Orch Viewer: xmlDoc of type System.Xml.XmlDocument
2) In an expression shape do this:
xmlDoc.Load(retValue);
myMessage = xmlDoc;In this case, you would have to have a schema to define a message called \”myMessage\”.
You could also write to a file directly using .Net classes, but this is probably not where you want to head.
One advantage of using Send/Recieve and Ports (for web services or flat files) is the Biztalk retry capabilities. If the web service is down, Biztalk will try it again. The SendPort has a retry interval and max retries parameter.
By the way, once you specify the \”Custom XSLT path\” the entire Biztalk grid is ignored, even if there are still icons on it. I usually delete all the icons/functoids to remind myself that it’s an external XSLT map. This could be very confusing for another developer who opens the map, sees the functoids, and doesn’t notice the \”Custom XSLT Path’
I have come to \”HATE\” the inline XSLT script functoid. The fact they only give you about 12 lines and don’t allow you to resize the window is HORRIBLE.
If I have a lot of XSLT, I go with an entire XSLT replacement. Just click on the grid and set the property \”Custom XSLT Path\” to the name of the .XSLT stylehseet. But XSLT is kind of an ugly language also, a necessary evil in many cases.
This allows me to test the XSLT with a tool such as Stylus Studio which has a full interactive XSLT debugger. See my blog: http://nealwalters.blogspot.com (May post).
those code above……so did you guys use them in XSLT inline call template script? I test this sample but it doen’t work for me 🙁
Hi all,
I need to send messages with digital signature to my partners. I created a send pipeline with MIME/SMIME encoder and set this send pipeline in my send port.However, when i drop a message into the receive location, i will get this error description in the event viewer :
The data at the root level is invalid. Line 1, position 1.
I am also using the MS BizTalk Accelerator for RN 3.0. Anyone knows how to resolve this ?
Thanks guys, the problem is no more.
May 26, 2006 at 5:34 AM in reply to: Map contains a reference to a schema node that is not valid #13604Hi,
Here is what I found out but I still don’t have the solution for this one…
When I created a map from Biztalk Project A where the schema resides, the target tree rootnode would be like this…
<TrgTree RootNode_Name=\”Response\”><Reference Location=\”..\\..\\response.xsd\”/></TrgTree>When I created a map from Biztalk Project B and include Biztalk Project A (where the schema resides), the target tree rootnode would be like this…
<TrgTree RootNode_Name=\”Response\”><Reference Location=\”A.Response\”/></TrgTree>*Additional info that maybe helpful (A.Response contains other references from Biztalk Project A)
It seems okay eventhough the schema can be visually seen in the Biztalk Mapper but I think some parts of \”Schema Response\” from Biztalk Project A was not recognize in Biztalk Project B.
Is there any fixes that I need to include aside from Biztalk SP1? or are there any alternatives to solve this problem?
Thanks,
FredI am not able to find URL for your website. Can you give it again?
Thanks.
May 26, 2006 at 2:21 AM in reply to: Map contains a reference to a schema node that is not valid #13603Hi NISHIL,
What do you mean by try adding a new Map in Project B… and then refer it to A? I don’t seem to understand this?
do you mean I just create a map and map it to Project A again and again until it doesn’t create an error?
Regards,
FredHi all,
I was able to find out the reason why this error occurs. Apparently I wasn’t able to install the biztalk sp1 my pc.
But after this installation was done, same as Fred’s error on http://www.biztalkgurus.com/forums/viewtopic.php?t=873
I tried NISHIL’s suggestion and it doesn’t seem to work…can anyone help me with this?
I have an unruly orchestration that folows a \”scatter/gather\” model, i.e. it a loop with a send, then a loop with a receive. Due to not being able to init correlation in a loop, the orch has a lot of repetitive shapes before the loop (first time send) and the same logic in the loop.
I am going to call a sub-orch from the \”scatter\” loop, but the question is will I have correlation problems in the \”gather\” loop. I was thinking about passing the correlationset from the original orch to the new one, but the parameter direction is \”in\” and grayed out so I cannot make it a \”ref\”.
So in other words, can I the correlation be initialized in sub-orch, and yet do a receive with a following correlation in the main-orch?
Any ideas appreciated.
-
AuthorPosts