Geekswithblogs.net
HOME
ARCHIVES
CONTACT
LOGIN
El Grego
BizTalk blog
News
My Stats
Posts - 28
Comments - 32
Trackbacks - 55
Twitter
gvdwiele
Damn You Auto Correct Reveals 9 Funniest Texts of the Year
http://t.co/NKIzQnP3
about 68 days ago
gvdwiele
Researcher's Video Shows Secret Software on Millions of Phones Logging Everything
http://t.co/YAmDNYqw
about 74 days ago
gvdwiele
http://t.co/uySVzfgi
This will change everything, fingers crossed...
about 104 days ago
gvdwiele
http://t.co/PWrjFatX
about 106 days ago
gvdwiele
RT
@cultofmac
: New post: What’s So Great About Siri?
http://t.co/1KZkfom5
about 127 days ago
gvdwiele
@hhariri
1 time only so far. Unrelated but very important if you are on Lion:
http://t.co/4vObneV
Helped a lot performance wise...
about 186 days ago
gvdwiele
Emergency exit
http://t.co/ttofCza
about 289 days ago
gvdwiele
Listen
#SoundCloud
:
http://snd.sc/fSI3rL.
now!
about 345 days ago
gvdwiele
@tomasrestrepo
again :)
about 360 days ago
gvdwiele
My custom XLANG parser in action: belanbiz2009
http://skit.ch/brnw
real automated unittesting for orchestrations a step closer :)
about 389 days ago
Tag Cloud
WCF
WPF
more tags...
Recent Comments
Ok, but you did not answer how to solve the proble...
by Zsanett
Hi,Could you please share the code for the custom ...
by harry
is there an updated version of your adapter for BT...
by Anthony
Had a static WCF (basic) sendport and used a pipel...
by Frank Driesens
The GetReference method shows the related document...
by Dipesh A.
Recent Posts
WCF send port behavior
RESTful Enterprise Development
CharacterTranscoder pipeline component on github.com
Question marks in your flatfile output CONTINUED
Question marks in your flatfile output?
Archives
February, 2010 (1)
December, 2009 (1)
September, 2009 (1)
August, 2009 (2)
July, 2009 (1)
June, 2009 (2)
May, 2009 (2)
February, 2009 (1)
December, 2008 (1)
September, 2005 (2)
April, 2005 (1)
March, 2005 (2)
February, 2005 (1)
November, 2004 (4)
October, 2004 (2)
September, 2004 (4)
Post Categories
BizTalk - EAI - B2B
<< BAM Portal Related Document Links That Actually Work
|
Home
|
BAM Typed API alternative >>
Configuring a Static WCF Port to Behave as a Dynamic Port
Yesterday I've tried to reproduce the scenario 'Configuring a Static Port to Behave as a Dynamic Port' from the excellent MSDN article '
Consuming and Hosting WCF Services with Custom Bindings in BizTalk Server
' but with a twist: instead of writing the BTS.OutboundTransportLocation context property inside a custom pipeline component I've tried doing this from inside orchestration.
It didn't work. I had to do it differently. Let me explain...
If you manually promote a custom value for the BTS.OutboundTransportLocation on your outgoing message inside an orchestration message construct and send the message to a static send port, the BTS.OutboundTransportLocation property is magically overwritten with the address from the statically configured send port. The fact that this property is automatically set by the engine seems logical because it is necesarry for a regular static send. I only hoped it wouldn't be overriden when already present.
Why magically? Because it doesn't show up like that in HAT! If you look into HAT the message-context 'before pipeline execution' you can see that the custom value is there: it was successfully written to the context inside the orchestration.
But by adding some traces to a dummy pipeline component I can CONFIRM that those custom values are indeed already erased and reset to the address from the send port configuration @pipeline-execution. This indicates that there is an additional step after tracking and before the adapter triggers the pipeline execution, where the engine adds all sorts of properties from the port configuration. So e
ven when you are using a passthru send pipeline the message 'after pipeline execution' has a different context then 'before pipeline execution'.
Another clear case of opacity ;-)
And that's where my confusion came from. One might wonder why they didn't choose to track
the 'before pipeline execution' right after the engine added its properties. There is probably a good reason for that...
Anyway, I needed to take a step back and reconsider the approach from the article ie setting the value inside a pipeline component. But hardcoding or configuring an address inside a pipeline isn't really 'dynamic'.
So here is the final piece of the puzzle:
Roll in your own 'address' property that is written on the message context inside orchestration and is re-written into the BTS.OutboundTransportLocation property during pipeline execution.
Share This Post:
Posted On Tuesday, June 16, 2009 4:26 AM
Filed Under [
BizTalk - EAI - B2B
]
Comments
#
re: Configuring a Static WCF Port to Behave as a Dynamic Port
Posted by
Frank Driesens
on 7/5/2010 12:42 AM
Had a static WCF (basic) sendport and used a pipeline to retrieve a promotedproperty that is than set as the BTS.OutboundTransportLocation.
It appears to work indeed! All logging (BTS HAT and such) all seem to indicate all works fine. But the destination insists that you're using the wrong URL. Untill you've restarted the service running the send port. Lesson learned; WCF BasicSend port is using caching and does not react well to changing in url's 'in flight'
Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification:
Enter the code shown above
Remember Me?