| Author |
Map in a Dynamic Port?
|
|
| Adam Tompkins 2005-03-08, 8:46 pm |
| Is it possible to set a map on a dynamic port?
I see some of the other port properties are available (BTS.RetryCount,
BTS.RetryInterval) but I can't see any way to configure a map.
Any help would be appreciated.
- Adam
| |
| Jeff Lynch 2005-03-09, 2:50 am |
| Sure can. Create a dynamic send port using the BizTalk Explorer in VS .NET
2003. Add your map using the "Dynamic One-Way Send Port Properties -
Configurations - Send - General" dialog box. (Who comes up with these
names?) If you're using an orchestration bind to this dynamic port instead
of the one created by the orchestration.
--
Jeff Lynch
"A BizTalk Enthusiast"
http://codebetter.com/blogs/jeff.lynch/
"Adam Tompkins" <"adam AT 5by5Software DOT COM"> wrote in message
news:Ob4C7iEJFHA.1416@TK2MSFTNGP10.phx.gbl...
> Is it possible to set a map on a dynamic port?
>
> I see some of the other port properties are available (BTS.RetryCount,
> BTS.RetryInterval) but I can't see any way to configure a map.
>
> Any help would be appreciated.
>
> - Adam
| |
| Adam Tompkins 2005-03-09, 2:50 am |
| Sorry Jeff, I should have been a bit more specific.
I'm creating the dynamic port on-the-fly inside an orchestration and I
need to set a map on the port at the same time.
On the port itself, it seems like the Address (URI) is the only settable
property but on a message context there's a whole bunch of other
(property schema) properties including things like BTS.RetryCount and
BTS.RetryInterval but nothing for setting a map.
That's what I'm looking for - it makes sense that if you can set the map
at design-time on a dynamic port through BTS Explorer (like you
mention), you should also be able to do it programmatically at run-time.
But I don't see a way to do it...
-----Original Message-----
From: Jeff Lynch
Sent: 3/8/2005 20:26
> Sure can. Create a dynamic send port using the BizTalk Explorer in VS .NET
> 2003. Add your map using the "Dynamic One-Way Send Port Properties -
> Configurations - Send - General" dialog box. (Who comes up with these
> names?) If you're using an orchestration bind to this dynamic port instead
> of the one created by the orchestration.
>
| |
| Neal Walters 2005-03-09, 5:50 pm |
| Sorry to butt in your thread, but along a similar topic, I've been looking
for documentation on variables such as BTS.sendpipelineconfig. I want to set
the pipeline for a dynamic port. None of these variables seem to be
documented.
Maybe one of these many variables will set the map, but without
documentation, how is one to know?
Neal Walters
http://Biztalk-Training.com
| |
| Jon Flanders[DevelopMentor] 2005-03-09, 5:50 pm |
| Maps are set via the SendPort.OutboundTransforms property in the ExplorerOM.
SendPipelineConfig *is* the pipeline configuration file (the one that gets
generated from the btp file - or more precisely - it *is* a copy of the btp
file xml).
--
Jon Flanders [DevelopMentor]
http://staff.develop.com/jfland/
http://www.develop.com/courses/biztalk
"Neal Walters" <NealWalters@discussions.microsoft.com> wrote in message
news:631F245D-D604-4435-8C8B-CF80A264EABA@microsoft.com...
> Sorry to butt in your thread, but along a similar topic, I've been looking
> for documentation on variables such as BTS.sendpipelineconfig. I want to
> set
> the pipeline for a dynamic port. None of these variables seem to be
> documented.
> Maybe one of these many variables will set the map, but without
> documentation, how is one to know?
>
> Neal Walters
> http://Biztalk-Training.com
>
>
| |
| Adam Tompkins 2005-03-09, 5:50 pm |
| Thanks for the reply Jon but I don't see this property on the Send Port
from within an orchestration - the only property I can set is
Microsoft.XLANGs.BaseTypes.Address.
I want to be able to set the map at the same time as I'm setting the
Port Address.
- Adam
Jon Flanders[DevelopMentor] wrote:
> Maps are set via the SendPort.OutboundTransforms property in the ExplorerOM.
>
> SendPipelineConfig *is* the pipeline configuration file (the one that gets
> generated from the btp file - or more precisely - it *is* a copy of the btp
> file xml).
>
| |
| Jon Flanders[DevelopMentor] 2005-03-09, 5:50 pm |
| You have to the the ExplorerOM. The ExplorerOM is the design time class the
represents the Send Port. The Port in the Orchestration *isn't* that Port -
it is a logical send to the message box that will get routed to the physical
send port via a subscription.
You can add code in the orchestration to modify the Send Port - but it will
modify it permanently.
What I think you want to do is run the map before you send to the send port.
I'd just add that code in your orchestration. Maybe you should describe
what problem it is you want to solve.
--
Jon Flanders [DevelopMentor]
http://staff.develop.com/jfland/
http://www.develop.com/courses/biztalk
"Adam Tompkins" <"adam AT 5by5Software DOT COM"> wrote in message
news:%23go$wMMJFHA.4092@tk2msftngp13.phx.gbl...[vbcol=seagreen]
> Thanks for the reply Jon but I don't see this property on the Send Port
> from within an orchestration - the only property I can set is
> Microsoft.XLANGs.BaseTypes.Address.
>
> I want to be able to set the map at the same time as I'm setting the Port
> Address.
>
> - Adam
>
> Jon Flanders[DevelopMentor] wrote:
| |
| Adam Tompkins 2005-03-09, 5:50 pm |
| Thanks Jon, I'll do the mapping in the orchestration as you suggest - I
was hoping to leverage the port for simplicity but it works either way.
One other question about your reply: I'm confused about the 'physical
port' you mention - when I deploy the orchestration I get a dynamic
physical port created, is this the physical port you're referring to?
Jon Flanders[DevelopMentor] wrote:
> You have to the the ExplorerOM. The ExplorerOM is the design time class the
> represents the Send Port. The Port in the Orchestration *isn't* that Port -
> it is a logical send to the message box that will get routed to the physical
> send port via a subscription.
>
> You can add code in the orchestration to modify the Send Port - but it will
> modify it permanently.
>
> What I think you want to do is run the map before you send to the send port.
> I'd just add that code in your orchestration. Maybe you should describe
> what problem it is you want to solve.
>
| |
| Jon Flanders[DevelopMentor] 2005-03-09, 5:50 pm |
| If you select "Specify Now" as the binding option on the port in the
orchestration - the deployment tool creates a physical port in the
configuration database for you (the adapter, pipeline and uri and attached
to the port in the assembly as Attributes).
--
Jon Flanders [DevelopMentor]
http://staff.develop.com/jfland/
http://www.develop.com/courses/biztalk
"Adam Tompkins" <"adam AT 5by5Software DOT COM"> wrote in message
news:uzCZZYMJFHA.572@tk2msftngp13.phx.gbl...[vbcol=seagreen]
> Thanks Jon, I'll do the mapping in the orchestration as you suggest - I
> was hoping to leverage the port for simplicity but it works either way.
>
> One other question about your reply: I'm confused about the 'physical
> port' you mention - when I deploy the orchestration I get a dynamic
> physical port created, is this the physical port you're referring to?
>
>
>
>
> Jon Flanders[DevelopMentor] wrote:
| |
| Adam Tompkins 2005-03-09, 5:50 pm |
| Ok, I see what you mean - I'm selecting 'Dynamic' at that point because
I want to set the port dynamically through configuration data in the
outbound message. I was also hoping to be able to set the map
dynamically in the same way (there's not much point in having a dynamic
port with a static map).
The funny thing is that when I create the dynamic port in the
orchestration it allows me to select a pipeline which will be used for
the dynamic port, you'd think that I'd also be able to set a map in the
same way.
My assumption was that I'd be able to pass out the map as part of the
outbound message context properties (like I'm doing for some other port
properties and the adapter config props) but that's where I got stuck.
Jon Flanders[DevelopMentor] wrote:
> If you select "Specify Now" as the binding option on the port in the
> orchestration - the deployment tool creates a physical port in the
> configuration database for you (the adapter, pipeline and uri and attached
> to the port in the assembly as Attributes).
>
| |
| Neal Walters 2005-03-09, 5:50 pm |
| Interesting. We use a lot of dynamic ports so we can build the filename in
the orchestration. When you run the "new configure port" wizard, "dynamic"
is not an option. I always change to dynamic using the properties. I didn't
realize that if you go back to the wizard, "Dynamic" shows as an option
instead of "Specify Now". I also see two places to put the pipelines.
The orchestration creates the physical port (that you see in Biztalk
Explorer - that has a long auto-generated name like this:
Odimo.Amazon.FulFillmentPrepTrans_1.0.0.0_Odimo.Amazon.FulfillmentPrepTrans. orFulfillmentPrepTrans_oprtTriggerBackSe
ndFile_b4d7b77f4362e587
In our case, we have one port that has to be "pass through" or else the
orchestration bombs. Everytime we compile the orchestration, it resets the
port back to "xml receive". Thus, we often forget to reset it. I think
now, I see we can set it in the "configure port" tool.
Neal Walters
http://Biztalk-Training.com
"Jon Flanders[DevelopMentor]" wrote:
> If you select "Specify Now" as the binding option on the port in the
> orchestration - the deployment tool creates a physical port in the
> configuration database for you (the adapter, pipeline and uri and attached
> to the port in the assembly as Attributes).
>
> --
> Jon Flanders [DevelopMentor]
> http://staff.develop.com/jfland/
> http://www.develop.com/courses/biztalk
| |
| Matt Milner 2005-03-10, 2:47 am |
| The physical port that gets created can have the map specified for it. If
you are sending different message types, you can supply multiple maps and
the right one (based on input schema) should be chosen. If you are dealing
with a scenario where you are setting a dynamic address because you are
sending to different partners/endpoints, you could look into using role
links in your orchestration. This allows you to dynamically set the
destination party which will select the right port and therefore maps. Just
another thing to consider when you deal with dynamic sending.
Matt
"Neal Walters" <NealWalters@discussions.microsoft.com> wrote in message
news:2E7434C1-645A-4925-AF2E-EB982F5067A1@microsoft.com...
> Interesting. We use a lot of dynamic ports so we can build the filename
> in
> the orchestration. When you run the "new configure port" wizard,
> "dynamic"
> is not an option. I always change to dynamic using the properties. I
> didn't
> realize that if you go back to the wizard, "Dynamic" shows as an option
> instead of "Specify Now". I also see two places to put the pipelines.
>
> The orchestration creates the physical port (that you see in Biztalk
> Explorer - that has a long auto-generated name like this:
>
> Odimo.Amazon.FulFillmentPrepTrans_1.0.0.0_Odimo.Amazon.FulfillmentPrepTrans. orFulfillmentPrepTrans_oprtTriggerBackSe
ndFile_b4d7b77f4362e587
>
> In our case, we have one port that has to be "pass through" or else the
> orchestration bombs. Everytime we compile the orchestration, it resets
> the
> port back to "xml receive". Thus, we often forget to reset it. I think
> now, I see we can set it in the "configure port" tool.
>
> Neal Walters
> http://Biztalk-Training.com
>
>
> "Jon Flanders[DevelopMentor]" wrote:
>
>
| |
| Adam Tompkins 2005-03-11, 5:53 pm |
| Thanks Matt, that's a good idea. I'll take a look at role links.
- Adam
-----Original Message-----
From: Matt Milner
Sent: 3/9/2005 23:13
> The physical port that gets created can have the map specified for it. If
> you are sending different message types, you can supply multiple maps and
> the right one (based on input schema) should be chosen. If you are dealing
> with a scenario where you are setting a dynamic address because you are
> sending to different partners/endpoints, you could look into using role
> links in your orchestration. This allows you to dynamically set the
> destination party which will select the right port and therefore maps. Just
> another thing to consider when you deal with dynamic sending.
>
> Matt
>
>
> "Neal Walters" <NealWalters@discussions.microsoft.com> wrote in message
> news:2E7434C1-645A-4925-AF2E-EB982F5067A1@microsoft.com...
>
>
>
|
|
|
|