BizTalk Server Orchestration - Dynamic Port Config Parameters

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > January 2005 > Dynamic Port Config Parameters





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 Dynamic Port Config Parameters
Neal Walters

2004-11-04, 5:48 pm

I'm using dynamic send file ports in an orchestration so I can control the
directory name from the orchestration - like this:

oprtAmazonSingleOrderOutFile(Microsoft.XLANGs.BaseTypes.Address) =
"file://": + mydirname;

Is there anyway to control the other port parameters such as number of
retries and pipelines. Everytime I redeploy the orchestration, I lose all
these parameters. In this particular case, if I lose the pipeline, and don't
forget to change it, the send blows up.

Thanks in advance,
Neal Walters
http://Biztalk-Training.com



Hugo Rodger-Brown

2004-11-04, 5:48 pm

Neal - have you tried using the BizTalk Deployment Wizard to create a
binding file?

If not (excuse reply if you have, or I've missed the point), then you can
use it to create an XML 'Binding' file that describes all the the properties
required to recereate ports and bind orchestrations to ports.

If you run the wizard, select "Export Biztalk assembly binding to file",
then select the asssembly containing the orchestration from the list. Run
through to the end, then if you open the binding file you'll see all of the
options you describe (sample port xml below). To reset everything rerun the
wizard, choosing to "Import Biztalk assembly binding from file" and you
should see everything reappear.

As it's only XML you can manually edit the binding file, chopping out the
bits you don't need, and changing version numbers etc. (if you redeploy with
different version numbers you'll have to make sure the binding points to the
right one.)

Hope this helps,

Hugo
http://hugo.rodger-brown.com

<SendPort Name="SendPort1.FILE" IsStatic="true" IsTwoWay="false">
<TransmitPipeline
Name="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"
FullyQualifiedName="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit,
Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" Type="2" />
<PrimaryTransport>
<Address>C:\Documents and
Settings\rodgeh\Desktop\Demo\Out\%Messag
eID%.xml</Address>
<TransportType Name="FILE" Capabilities="11"
ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
<TransportTypeData>&lt;CustomProps&gt;&lt;CopyMode
vt="19"&gt;1&lt;/CopyMode&gt;&lt;FileName
vt="8"&gt;%MessageID%.xml&lt;/FileName&gt;&lt;AllowCacheOnWrite
vt="11"&gt;0&lt;/AllowCacheOnWrite&gt;&lt;/CustomProps&gt;</TransportTypeDat
a>
<RetryCount>3</RetryCount>
<RetryInterval>5</RetryInterval>
<ServiceWindowEnabled>false</ServiceWindowEnabled>
<FromTime>2004-10-28T01:00:00.0000000+01:00</FromTime>
<ToTime>2004-10-29T00:59:59.0000000+01:00</ToTime>
<Primary>true</Primary>
<OrderedDelivery>false</OrderedDelivery>
</PrimaryTransport>
<SecondaryTransport>
<Address />
<RetryCount>3</RetryCount>
<RetryInterval>5</RetryInterval>
<ServiceWindowEnabled>false</ServiceWindowEnabled>
<FromTime>2004-10-28T01:00:00.0000000+01:00</FromTime>
<ToTime>2004-10-29T00:59:59.0000000+01:00</ToTime>
<Primary>false</Primary>
<OrderedDelivery>false</OrderedDelivery>
</SecondaryTransport>
<ReceivePipelineData xsi:nil="true" />
<Tracking>0</Tracking>
<Filter />
<Transforms />
</SendPort>


Neal Walters

2004-11-04, 5:48 pm


I have used binding files - but had not thought much about it in this
context since the files are dyamic.

Here's what a dynamic port looks like in the binding file:

<SendPort
Name="Odimo.Amazon.OrderSplitter_1.0.0.0_Odimo.Amazon.OrderSplitter. orOrderSplitter_oprtAmazonSingleOrderOut
File_b4d7b77f4362e587"
IsStatic="false" IsTwoWay="false">
<TransmitPipeline
Name="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"
FullyQualifiedName="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit,
Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" Type="2" />
<ReceivePipelineData xsi:nil="true" />
<Tracking>0</Tracking>
<Filter />
<Transforms />
</SendPort>

Here was the same port before I made it dynamic:

<SendPort Name="prtAmazonSplitOrderSend" IsStatic="true" IsTwoWay="false">
<TransmitPipeline
Name="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"
FullyQualifiedName="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit,
Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" Type="2" />
- <PrimaryTransport>

<Address>\\Odimo. com\DFS01$\BizTalk\Odimo\Amazon\FileDrop
\Diamond\SplitOrder__88\%MessageID%.xml</Address>
<TransportType Name="FILE" Capabilities="11"
ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
<TransportTypeData><CustomProps><CopyMode vt="19">1</CopyMode><FileName
vt="8">%MessageID%.xml</FileName><AllowCacheOnWrite
vt="11">0</AllowCacheOnWrite></CustomProps></TransportTypeData>
<RetryCount>3</RetryCount>
<RetryInterval>5</RetryInterval>
<ServiceWindowEnabled>false</ServiceWindowEnabled>
<FromTime>2004-10-25T01:00:00.0000000-04:00</FromTime>
<ToTime>2004-10-26T00:59:59.0000000-04:00</ToTime>
<Primary>true</Primary>
<OrderedDelivery>false</OrderedDelivery>
</PrimaryTransport>
- <SecondaryTransport>
<Address />
<RetryCount>3</RetryCount>
<RetryInterval>5</RetryInterval>
<ServiceWindowEnabled>false</ServiceWindowEnabled>
<FromTime>2004-10-25T01:00:00.0000000-04:00</FromTime>
<ToTime>2004-10-26T00:59:59.0000000-04:00</ToTime>
<Primary>false</Primary>
<OrderedDelivery>false</OrderedDelivery>
</SecondaryTransport>
<ReceivePipelineData xsi:nil="true" />
<Tracking>0</Tracking>
<Filter />
<Transforms />
</SendPort>

So I'm not sure if the same features are available on dynamic ports. I'll
give it a try later when time permits.

Neal Walters
http://Biztalk-Training.com

Stephen W. Thomas

2004-11-04, 5:48 pm

Did you try to set the Properties on the message like this:
OutXml(BTS.RetryCount) = 1;
OutXml(BTS.RetryInterval) = 5;
OutXml(FILE.CopyMode) = 0, 1, or 2; (for file sends)
ect....

I do not know if you can set these for Dynamic Ports. I have not tried it.
But, it would be worth a shot.

Also, the pipeline is set inside the Orchestration. So, that should be
getting set correctly each time right?

Stephen W. Thomas
http://www.geekswithblogs.net/sthomas


"Neal Walters" wrote:

>
> I have used binding files - but had not thought much about it in this
> context since the files are dyamic.
>
> Here's what a dynamic port looks like in the binding file:
>
> <SendPort
> Name="Odimo.Amazon.OrderSplitter_1.0.0.0_Odimo.Amazon.OrderSplitter. orOrderSplitter_oprtAmazonSingleOrderOut
File_b4d7b77f4362e587"
> IsStatic="false" IsTwoWay="false">
> <TransmitPipeline
> Name="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"
> FullyQualifiedName="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit,
> Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral,
> PublicKeyToken=31bf3856ad364e35" Type="2" />
> <ReceivePipelineData xsi:nil="true" />
> <Tracking>0</Tracking>
> <Filter />
> <Transforms />
> </SendPort>
>
> Here was the same port before I made it dynamic:
>
> <SendPort Name="prtAmazonSplitOrderSend" IsStatic="true" IsTwoWay="false">
> <TransmitPipeline
> Name="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"
> FullyQualifiedName="Microsoft.BizTalk.DefaultPipelines.PassThruTransmit,
> Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral,
> PublicKeyToken=31bf3856ad364e35" Type="2" />
> - <PrimaryTransport>
>
> <Address>\\Odimo. com\DFS01$\BizTalk\Odimo\Amazon\FileDrop
\Diamond\SplitOrder__88\%MessageID%.xml</Address>
> <TransportType Name="FILE" Capabilities="11"
> ConfigurationClsid="5e49e3a6-b4fc-4077-b44c-22f34a242fdb" />
> <TransportTypeData><CustomProps><CopyMode vt="19">1</CopyMode><FileName
> vt="8">%MessageID%.xml</FileName><AllowCacheOnWrite
> vt="11">0</AllowCacheOnWrite></CustomProps></TransportTypeData>
> <RetryCount>3</RetryCount>
> <RetryInterval>5</RetryInterval>
> <ServiceWindowEnabled>false</ServiceWindowEnabled>
> <FromTime>2004-10-25T01:00:00.0000000-04:00</FromTime>
> <ToTime>2004-10-26T00:59:59.0000000-04:00</ToTime>
> <Primary>true</Primary>
> <OrderedDelivery>false</OrderedDelivery>
> </PrimaryTransport>
> - <SecondaryTransport>
> <Address />
> <RetryCount>3</RetryCount>
> <RetryInterval>5</RetryInterval>
> <ServiceWindowEnabled>false</ServiceWindowEnabled>
> <FromTime>2004-10-25T01:00:00.0000000-04:00</FromTime>
> <ToTime>2004-10-26T00:59:59.0000000-04:00</ToTime>
> <Primary>false</Primary>
> <OrderedDelivery>false</OrderedDelivery>
> </SecondaryTransport>
> <ReceivePipelineData xsi:nil="true" />
> <Tracking>0</Tracking>
> <Filter />
> <Transforms />
> </SendPort>
>
> So I'm not sure if the same features are available on dynamic ports. I'll
> give it a try later when time permits.
>
> Neal Walters
> http://Biztalk-Training.com
>

Mangi

2005-01-12, 7:46 am

Hi,
Is that retry interval in minutes or in seconds?

Mangi.

"Stephen W. Thomas" wrote:
[vbcol=seagreen]
> Did you try to set the Properties on the message like this:
> OutXml(BTS.RetryCount) = 1;
> OutXml(BTS.RetryInterval) = 5;
> OutXml(FILE.CopyMode) = 0, 1, or 2; (for file sends)
> ect....
>
> I do not know if you can set these for Dynamic Ports. I have not tried it.
> But, it would be worth a shot.
>
> Also, the pipeline is set inside the Orchestration. So, that should be
> getting set correctly each time right?
>
> Stephen W. Thomas
> http://www.geekswithblogs.net/sthomas
>
>
> "Neal Walters" wrote:
>
Stephen W. Thomas

2005-01-12, 5:53 pm

Mangi,

The retry interval is in minutes.

Stephen W. Thomas
http://www.geekswithblogs.net/sthomas


"Mangi" wrote:
[vbcol=seagreen]
> Hi,
> Is that retry interval in minutes or in seconds?
>
> Mangi.
>
> "Stephen W. Thomas" wrote:
>
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com