BizTalk Server Orchestration - BizTalk sooping scenerio you will love this one...

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > May 2005 > BizTalk sooping scenerio you will love this one...





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author BizTalk sooping scenerio you will love this one...
JGaska [http://www.IoniaSolutions.com]

2005-05-25, 5:59 pm


Ok here's the scenerio.

I have a message which contains multiple child nodes which I have to call a
webservice for each corresponding node. After I call the webservice I need
to call the rule engine as well. I am using System.Xml.NodeList to access
the values within the XmlDocument and to loop on using the looping construct.


The webservice call requires a Long Running Transaction
The rules requires an atomic transaction
The XmlNodeList requires the entire orchestration be atomic just to define
the structure.

So basically, if I want to call the webservice I need the orchestration to
be long running. If I want to use XmlNodeList I have to make the
orchestration transaction Atomic. So basically I cannot use NodeList because
the stupid thing is not serializable. That is just plain stupid! Thank you
for the venting...





Scott Colestock

2005-05-25, 5:59 pm

For the structure of your orchestration, is it possible to declare your
XmlNodeList local to an atomic scope? (Rather than at the orchestration
level?)
(Remember that you can have scope-level variable declarations)

Scott Colestock
www.traceofthought.net



"JGaska [http://www.IoniaSolutions.com]"
< JGaskahttpwwwIoniaSolutionscom@discussio
ns.microsoft.com> wrote in message
news:DF4F10EF-C50D-4595-86C3-652E9B755F82@microsoft.com...
>
> Ok here's the scenerio.
>
> I have a message which contains multiple child nodes which I have to call
> a
> webservice for each corresponding node. After I call the webservice I
> need
> to call the rule engine as well. I am using System.Xml.NodeList to access
> the values within the XmlDocument and to loop on using the looping
> construct.
>
>
> The webservice call requires a Long Running Transaction
> The rules requires an atomic transaction
> The XmlNodeList requires the entire orchestration be atomic just to define
> the structure.
>
> So basically, if I want to call the webservice I need the orchestration to
> be long running. If I want to use XmlNodeList I have to make the
> orchestration transaction Atomic. So basically I cannot use NodeList
> because
> the stupid thing is not serializable. That is just plain stupid! Thank
> you
> for the venting...
>
>
>
>
>



JGaska [http://www.IoniaSolutions.com]

2005-05-25, 5:59 pm


Unfortunately no. I need to call the webservice from within the looping
structure and I was going to use the XmlNodeList for the looping structure
and use that to call the webservice. If I wrap the looping structure within
an atomic scope I will not be able to call the webservice using a long
running transaction because I cannot embed transactions within the atomic
scope.

Round and round I go........ I guess back to the xpath implementation huh,
instead of using the NodeList. etc..



"Scott Colestock" wrote:

> For the structure of your orchestration, is it possible to declare your
> XmlNodeList local to an atomic scope? (Rather than at the orchestration
> level?)
> (Remember that you can have scope-level variable declarations)
>
> Scott Colestock
> www.traceofthought.net
>
>
>
> "JGaska [http://www.IoniaSolutions.com]"
> < JGaskahttpwwwIoniaSolutionscom@discussio
ns.microsoft.com> wrote in message
> news:DF4F10EF-C50D-4595-86C3-652E9B755F82@microsoft.com...
>
>
>

Alan Smith

2005-05-26, 2:51 am

Hi,

One option may be to create a schema (ChildSchema) that represents the child
node, then include that in the main schema, setting the data structure type
for the child node to ChildSchema.

You can then use the message assignment, and some XPath to create a message
instance of ChildSchema. You can use a count and total as integers to control
the loop.

I think I used this technique in a splitter pattern, you can download the
code here:

http://www.gotdotnet.com/Workspaces...6c-b28093ed7149

Regards,

Alan


--
The Bloggers Guide to BizTalk
http://geekswithblogs.com/asmith



"JGaska [http://www.IoniaSolutions.com]" wrote:
[vbcol=seagreen]
>
> Unfortunately no. I need to call the webservice from within the looping
> structure and I was going to use the XmlNodeList for the looping structure
> and use that to call the webservice. If I wrap the looping structure within
> an atomic scope I will not be able to call the webservice using a long
> running transaction because I cannot embed transactions within the atomic
> scope.
>
> Round and round I go........ I guess back to the xpath implementation huh,
> instead of using the NodeList. etc..
>
>
>
> "Scott Colestock" wrote:
>
JGaska [http://www.IoniaSolutions.com]

2005-05-26, 5:54 pm

Alan;

Yes that is exactly what I am forced to do, but the only caveat is I have to
update the original message. So I will use th xpath to update the message.
Thenks for the insight though.

-Joe

"Alan Smith" wrote:
[vbcol=seagreen]
> Hi,
>
> One option may be to create a schema (ChildSchema) that represents the child
> node, then include that in the main schema, setting the data structure type
> for the child node to ChildSchema.
>
> You can then use the message assignment, and some XPath to create a message
> instance of ChildSchema. You can use a count and total as integers to control
> the loop.
>
> I think I used this technique in a splitter pattern, you can download the
> code here:
>
> http://www.gotdotnet.com/Workspaces...6c-b28093ed7149
>
> Regards,
>
> Alan
>
>
> --
> The Bloggers Guide to BizTalk
> http://geekswithblogs.com/asmith
>
>
>
> "JGaska [http://www.IoniaSolutions.com]" wrote:
>
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com