|
Home > Archive > BizTalk Server Orchestration > March 2006 > Direct binding to partner port
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 |
Direct binding to partner port
|
|
| David Regan 2004-07-16, 7:49 am |
| I'm confused about direct binding between partner ports.
I understand you create a common port type and create a send and receive port of this type in the two orchestrations that want to communicate.
What I don't understand is why you get the following compile error if you configure the receiver to have the sender as partner port:
error X2290: illegal direct binding partner port
...: a direct bound partner port must be annotated with a DirectBindingAttribute with two arguments referring to the current service and port
...: or, with no arguments when the port has 'implements' polarity
It only seems to work if you configure the sender to have the receiver as a partner port and configure the receiver to have a partner of the message box.
This works but the receiving orchestration will be activated by any suitable messages in the message box not just with messages sent by the sending orchestration!
Can anybody explain why this is as it is?
Much obliged,
David.
| |
| Mrinal Bhasker [MSFT] 2004-08-06, 5:51 pm |
| You need to use the same partner port for both the Send-ing orchestration
and Receive-ing orchestration.
I'll elaborate with an example:
Say, there are two orchestrations O1 (sender) and O2 (receiver) in the same
assembly X.
Say, you define two ports P1 (in O1) and P2 (in O2) of type PT.
When running the port configuration wizard for P1 select "Direct Binding"
and select "Port on Partner Orchestration" as "X.O1.P1".
Now, when running the port configuration wizard for P2 select "Direct
Binding" and select "Port on Partner Orchestration" as "X.O1.P1". (yes, the
same again!)
Aternatively, you could select "X.O2.P2" for both and that will work too as
long as you use the same port to do the direct binding on both ends of the
binding.
Hope that helps!
Mrinal.
This posting is provided "AS IS" with no warranties, and confers no rights.
EBusiness Server Team
--------------------
| >>Thread-Topic: Direct binding to partner port
| >>thread-index: AcRrNkRpVQqSjLa2ScSpLSIramAL+w==
| >>X-WBNR-Posting-Host: 213.78.109.136
| >>From: "=?Utf-8?B?RGF2aWQgUmVnYW4=?="
<DavidRegan@discussions.microsoft.com>
| >>Subject: Direct binding to partner port
| >>Date: Fri, 16 Jul 2004 06:10:29 -0700
| >>Lines: 19
| >>Message-ID: <E0712158-55C5-4F1D-A5B3-61D5F263AF6B@microsoft.com>
| >>MIME-Version: 1.0
| >>Content-Type: text/plain;
| >> charset="Utf-8"
| >>Content-Transfer-Encoding: 7bit
| >>X-Newsreader: Microsoft CDO for Windows 2000
| >>Content-Class: urn:content-classes:message
| >>Importance: normal
| >>Priority: normal
| >>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| >>Newsgroups: microsoft.public.biztalk.orchestration
| >>NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 127.0.0.1
| >>Path: cpmsftngxa06.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| >>Xref: cpmsftngxa06.phx.gbl microsoft.public.biztalk.orchestration:7122
| >>X-Tomcat-NG: microsoft.public.biztalk.orchestration
| >>
| >>I'm confused about direct binding between partner ports.
| >>
| >>I understand you create a common port type and create a send and
receive port of this type in the two orchestrations that want to
communicate.
| >>
| >>What I don't understand is why you get the following compile error if
you configure the receiver to have the sender as partner port:
| >>
| >>error X2290: illegal direct binding partner port
| >> ...: a direct bound partner port must be annotated with a
DirectBindingAttribute with two arguments referring to the current service
and port
| >> ...: or, with no arguments when the port has 'implements' polarity
| >>
| >>It only seems to work if you configure the sender to have the receiver
as a partner port and configure the receiver to have a partner of the
message box.
| >>
| >>This works but the receiving orchestration will be activated by any
suitable messages in the message box not just with messages sent by the
sending orchestration!
| >>
| >>Can anybody explain why this is as it is?
| >>
| >>Much obliged,
| >>
| >>David.
| >>
| |
| mpoisson 2004-09-09, 6:00 pm |
| I am trying to create common orchestrations which can be called from various other orchestrations in other projects. Can this be done ? or is direct partner orchestration port binding limited to the same project?
quote: Originally posted by Mrinal Bhasker [MSFT]
You need to use the same partner port for both the Send-ing orchestration
and Receive-ing orchestration.
I'll elaborate with an example:
Say, there are two orchestrations O1 (sender) and O2 (receiver) in the same
assembly X.
Say, you define two ports P1 (in O1) and P2 (in O2) of type PT.
When running the port configuration wizard for P1 select "Direct Binding"
and select "Port on Partner Orchestration" as "X.O1.P1".
Now, when running the port configuration wizard for P2 select "Direct
Binding" and select "Port on Partner Orchestration" as "X.O1.P1". (yes, the
same again!)
Aternatively, you could select "X.O2.P2" for both and that will work too as
long as you use the same port to do the direct binding on both ends of the
binding.
Hope that helps!
Mrinal.
This posting is provided "AS IS" with no warranties, and confers no rights.
EBusiness Server Team
--------------------
| >>Thread-Topic: Direct binding to partner port
| >>thread-index: AcRrNkRpVQqSjLa2ScSpLSIramAL+w==
| >>X-WBNR-Posting-Host: 213.78.109.136
| >>From: "=?Utf-8?B?RGF2aWQgUmVnYW4=?="
<DavidRegan@discussions.microsoft.com>
| >>Subject: Direct binding to partner port
| >>Date: Fri, 16 Jul 2004 06:10:29 -0700
| >>Lines: 19
| >>Message-ID: <E0712158-55C5-4F1D-A5B3-61D5F263AF6B@microsoft.com>
| >>MIME-Version: 1.0
| >>Content-Type: text/plain;
| >> charset="Utf-8"
| >>Content-Transfer-Encoding: 7bit
| >>X-Newsreader: Microsoft CDO for Windows 2000
| >>Content-Class: urn:content-classes:message
| >>Importance: normal
| >>Priority: normal
| >>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| >>Newsgroups: microsoft.public.biztalk.orchestration
| >>NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 127.0.0.1
| >>Path: cpmsftngxa06.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| >>Xref: cpmsftngxa06.phx.gbl microsoft.public.biztalk.orchestration:7122
| >>X-Tomcat-NG: microsoft.public.biztalk.orchestration
| >>
| >>I'm confused about direct binding between partner ports.
| >>
| >>I understand you create a common port type and create a send and
receive port of this type in the two orchestrations that want to
communicate.
| >>
| >>What I don't understand is why you get the following compile error if
you configure the receiver to have the sender as partner port:
| >>
| >>error X2290: illegal direct binding partner port
| >> ...: a direct bound partner port must be annotated with a
DirectBindingAttribute with two arguments referring to the current service
and port
| >> ...: or, with no arguments when the port has 'implements' polarity
| >>
| >>It only seems to work if you configure the sender to have the receiver
as a partner port and configure the receiver to have a partner of the
message box.
| >>
| >>This works but the receiving orchestration will be activated by any
suitable messages in the message box not just with messages sent by the
sending orchestration!
| >>
| >>Can anybody explain why this is as it is?
| >>
| >>Much obliged,
| >>
| >>David.
| >>
| |
| Mrinal Bhasker [MSFT] 2004-09-22, 9:56 pm |
| Yes. This is a supported and often used design pattern.
Make sure that the orchestration is Public. Compile the project containing
the orchestration. Whenever you need to call this orchestration from
another project. Add reference to the assembly that contains the common
orchestration. Now you should be able to configure the call shape to use
the common orchestration.
This posting is provided "AS IS" with no warranties, and confers no rights.
EBusiness Server Team
--------------------
| >>From: mpoisson <mpoisson.1cc893@mail.webservertalk.com>
| >>Subject: Re: Direct binding to partner port
| >>Date: Thu, 9 Sep 2004 18:00:28 -0500
| >>Message-ID: <mpoisson.1cc893@mail.webservertalk.com>
| >>Organization: Web Servers forum
| >>User-Agent: www.webservertalk.com news gateway
| >>X-Newsreader: www.webservertalk.com news gateway
| >>X-Originating-IP: 66.43.90.146
| >>References: <E0712158-55C5-4F1D-A5B3-61D5F263AF6B@microsoft.com>
<AV#nrQAfEHA.540@cpmsftngxa06.phx.gbl>
| >>Newsgroups: microsoft.public.biztalk.orchestration
| >>NNTP-Posting-Host: ev1s-66-98-192-98.ev1servers.net 66.98.192.98
| >>Lines: 1
| >>Path:
cpmsftngxa10.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13
.phx.gbl
| >>Xref: cpmsftngxa10.phx.gbl microsoft.public.biztalk.orchestration:8126
| >>X-Tomcat-NG: microsoft.public.biztalk.orchestration
| >>
| >>
I am trying to create common orchestrations which can be called from
various other orchestrations in other projects. Can this be done ? or
is direct partner orchestration port binding limited to the same
project?
| >>
| >>Mrinal Bhasker [MSFT] wrote:
| >>> *You need to use the same partner port for both the Send-ing
> orchestration
| >>> and Receive-ing orchestration.
| >>>
| >>> I'll elaborate with an example:
| >>>
| >>> Say, there are two orchestrations O1 (sender) and O2 (receiver) in
> the same
| >>> assembly X.
| >>> Say, you define two ports P1 (in O1) and P2 (in O2) of type PT.
| >>>
| >>> When running the port configuration wizard for P1 select "Direct
> Binding"
| >>> and select "Port on Partner Orchestration" as "X.O1.P1".
| >>> Now, when running the port configuration wizard for P2 select
> "Direct
| >>> Binding" and select "Port on Partner Orchestration" as "X.O1.P1".
> (yes, the
| >>> same again!)
| >>> Aternatively, you could select "X.O2.P2" for both and that will work
> too as
| >>> long as you use the same port to do the direct binding on both ends
> of the
| >>> binding.
| >>>
| >>> Hope that helps!
| >>> Mrinal.
| >>>
| >>> This posting is provided "AS IS" with no warranties, and confers no
> rights.
| >>>
| >>> EBusiness Server Team
| >>> --------------------
| >>> | >>Thread-Topic: Direct binding to partner port
| >>> | >>thread-index: AcRrNkRpVQqSjLa2ScSpLSIramAL+w==
| >>> | >>X-WBNR-Posting-Host: 213.78.109.136
| >>> | >>From: "=?Utf-8?B?RGF2aWQgUmVnYW4=?="
| >>> <DavidRegan@discussions.microsoft.com>
| >>> | >>Subject: Direct binding to partner port
| >>> | >>Date: Fri, 16 Jul 2004 06:10:29 -0700
| >>> | >>Lines: 19
| >>> | >>Message-ID: <E0712158-55C5-4F1D-A5B3-61D5F263AF6B@microsoft.com>
| >>> | >>MIME-Version: 1.0
| >>> | >>Content-Type: text/plain;
| >>> | >> charset="Utf-8"
| >>> | >>Content-Transfer-Encoding: 7bit
| >>> | >>X-Newsreader: Microsoft CDO for Windows 2000
| >>> | >>Content-Class: urn:content-classes:message
| >>> | >>Importance: normal
| >>> | >>Priority: normal
| >>> | >>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| >>> | >>Newsgroups: microsoft.public.biztalk.orchestration
| >>> | >>NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 127.0.0.1
| >>> | >>Path:
> cpmsftngxa06.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| >>> | >>Xref: cpmsftngxa06.phx.gbl
> microsoft.public.biztalk.orchestration:7122
| >>> | >>X-Tomcat-NG: microsoft.public.biztalk.orchestration
| >>> | >>
| >>> | >>I'm confused about direct binding between partner ports.
| >>> | >>
| >>> | >>I understand you create a common port type and create a send and
| >>> receive port of this type in the two orchestrations that want to
| >>> communicate.
| >>> | >>
| >>> | >>What I don't understand is why you get the following compile
> error if
| >>> you configure the receiver to have the sender as partner port:
| >>> | >>
| >>> | >>error X2290: illegal direct binding partner port
| >>> | >> ...: a direct bound partner port must be annotated with a
| >>> DirectBindingAttribute with two arguments referring to the current
> service
| >>> and port
| >>> | >> ...: or, with no arguments when the port has 'implements'
> polarity
| >>> | >>
| >>> | >>It only seems to work if you configure the sender to have the
> receiver
| >>> as a partner port and configure the receiver to have a partner of
> the
| >>> message box.
| >>> | >>
| >>> | >>This works but the receiving orchestration will be activated by
> any
| >>> suitable messages in the message box not just with messages sent by
> the
| >>> sending orchestration!
| >>> | >>
| >>> | >>Can anybody explain why this is as it is?
| >>> | >>
| >>> | >>Much obliged,
| >>> | >>
| >>> | >>David.
| >>> | >> *
--
mpoisson
------------------------------------------------------------------------
Posted via http://www.webservertalk.com
------------------------------------------------------------------------
View this thread: http://www.webservertalk.com/message310616.html
| >>
| |
| Doug Girard [MSFT] 2006-03-09, 8:47 pm |
| Let's say you want Orchestration A to instantiate Orchestration B with
direct binding, as Orchestration B may be a commonly used orchestration
encapsulating generic functionality which many other orchestrations may
want to call.
Orchestration B should be creating a new logical receive port and port
type in Orchestration Designer which uses Direct port binding and uses
itself for "Port on partner orchestration" in the third Option (To receive
messages from other orchestrations, select this port here and in those
orchestrations). This last step is I think where you are getting tripped
up.
Then Orchestration A should also be creating a new logical send port,
referencing the port type created in Orchestratrion B, and using Direct
port binding to reference the port created in orchestration B for the "Port
on partner orchestration" option.
This should resolve the Error: "illegal direct binding partner port".
Another option is to use Call or Start orchestration features to pass
parameters to instantiated orchestration instances.
To be completely decoupled, it would be even better to simply use pure
direct binding to publish into the Message Box and subscribe directly to
the Message Box, specifying no orchestrations or ports. Instead, you
should use filter expressions to create subscriptions and create a more
de-coupled subscription model.
HTH,
Doug Girard [MSFT]
Note: This posting is provided "AS IS" with no warranties, and confers no
rights.
--------
Thread-Topic: Direct binding to partner port
thread-index: AcRrNkRpVQqSjLa2ScSpLSIramAL+w==
X-WBNR-Posting-Host: 213.78.109.136
From: "=?Utf-8?B?RGF2aWQgUmVnYW4=?=" <DavidRe...@discussions.microsoft.com>
Subject: Direct binding to partner port
Date: Fri, 16 Jul 2004 06:10:29 -0700
Lines: 19
Message-ID: <E0712158-55C5-4F1D-A5B3-61D5F263AF6B@microsoft.com>
MIME-Version: 1.0
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: 7bit
X-Newsreader: Microsoft CDO for Windows 2000
Content-Class: urn:content-classes:message
Importance: normal
Priority: normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
Newsgroups: microsoft.public.biztalk.orchestration
NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 127.0.0.1
Path:
g2news1.google.com!news1.google.com!news.glorb.com!wn14feed!worldnet.att.net
!204.71.34.3!newsfeed.cwix.com!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK
2MSFTNGXA03.phx.gbl
I'm confused about direct binding between partner ports.
I understand you create a common port type and create a send and receive
port of this type in the two orchestrations that want to communicate.
What I don't understand is why you get the following compile error if you
configure the receiver to have the sender as partner port:
error X2290: illegal direct binding partner port
...: a direct bound partner port must be annotated with a
DirectBindingAttribute with two arguments referring to the current service
and port
...: or, with no arguments when the port has 'implements' polarity
It only seems to work if you configure the sender to have the receiver as a
partner port and configure the receiver to have a partner of the message
box.
This works but the receiving orchestration will be activated by any
suitable messages in the message box not just with messages sent by the
sending orchestration!
Can anybody explain why this is as it is?
Much obliged,
David.
|
|
|
|
|