Did you know? (Setting output filename to a field value of the message without any custom code or orchestration)


I saw this question in the BizTalk newsgroups:


> Hi,
>  Is it possible to set the filename of a message with a value inside it
> which is available as a promoted property..
> I know this can be done using a custom pipeline component .But is there a
> way without it?
> I have no orchestrations in my solution..
>
> TIA
>


Yes, it is possible!… here is how.


1. Right click on the schema node you want to promote, select Promote–>show promotions.
2. On the “property fields” tab, click on the folder icon (to add new property
schema)
3. Expand the references, expand Microsoft.BizTalk.GlobalPropertySchemas and select  FILE.bts_file_properties.
4. Add your node as promoted and select ReceivedFileName in the property column as the property to which to promote to.
5. In the send port configuration use the macro %SourceFileName%
6. Don’t forget to use XMLReceive pipeline at the receive port.


That’ it! No custom pipeline no orchestration. This can be useful in content based routing scenarios where there are no orchestrations involved.


The XMLReceive pipeline will overwrite the source file name value in the context with the value of the field inside the message.


Regards


Benny Mathew
Seamless Integration Solutions
BizTalk Consulting, Development, Training
Bangalore, India
http://www.seamless.in
http://GeeksWithBlogs.net/benny


 

.NET 3.0 Community Launch

This evening was the .NET 3.0 Community Launch event at the Dallas

.NET User Group. With our trusted leader Omar away in Ft. Lauderdale, on

business I’m assured, Keith handled everything wonderfully and things went very smoothly.

Four local developers took turns walking us through the new features of .NET 3.0,

starting with Shane Holder doing a short introduction and Windows Workflow Foundation

mention. This was short on details but DDNUG had recently had a speaker on WF

so there was a reason.

Second up to bat was Abraham

Saldana talking about WCF, this was a good talk but short due to the launch event

format and I look forward to next month when DDNUG will be graced with the presence

of Sam Gentile to talk about WCF.

Third up, talking about the red headed step child of .NET 3.0, was Trent

Nix on Windows CardSpace. Trent doesn’t realize this but for sheer “it got

people talking” his presentation on WCS won the night hands down but more on that

later. It was an excellent overview of Card Space and it’s strengths and shortcomings.

Finally came my bud Dave O’Haratalking

about Windows Presentation Foundation. This was a good talk, driven by several

of the examples I had seen before but still very cool. It got a lot of interest

from the crowd, and he even put me on the spot at one point when pointing out the

namespaces at the top of the XAML pages for the quote:

“If it doesn’t have namespaces it’s nothing more than angle bracket delimited files.”

Which I believe it Scott Hanselman as butchered

by Tim Rayburn.

After the launch event several of us, Caleb,

Dave, Shane, Abraham, and some others went over to a place called “Hole in the Wall”

over on Harry Hines and 635. Burgers, Bikes and Blues rule the day here, but

on the back patio that night, under the glaring lights of Caleb’s

camera we had a great discussion about lots of stuff but mostly Identity, CardSpace

and OpenID. It was a great time talking with some really bright guys about the

pickle that is the Identity problem. Caleb recorded nearly the entire time for CommunityCast.TV and

yours truly even threw down a challenge to the community at large backed with dollars,

but for those details you’ll need to wait until Caleb gets the videos posted.

Custom Disassembler Component – Remember the Context Properties!

This is really a post to remind myself not to be quite so stupid in future….
I’ve been developing a custom pipeline disassembling component over the last few days to take a single purchase order from a customer and split into multiple orders based on (potentially) multiple delivery addresses. The component worked well through the Pipeline.exe […]

Microsoft Technology Centers looking for a few good people

Here at Pluralsight we host many of our courses at the Microsoft Technology Centers (MTC) around the world. They are awesome technical facilities used for customer interaction and education.
I just got an email from Steve Resnick, Microsoft’s National Technology Directory for the US MTCs, who says they currently have 6 job openings spread across NYC, Reston, San Jose, and Irvine. If you’re interested, contact Steve directly (steveres)or shoot me a note and I’ll forward it along.

Covast EDI Accelerator – No Authorization for Document Type

Earlier this morning, we received the following error from our production Covast EDI Accelerator implementation:
Error encountered: ERROR (13), interchangenr 61059 :
No authorization exists for this document type. Check the port properties.
sender: [Senders Trading Partner Name][DEFAULT], recipient: [Recipients Trading Partner Name][DEFAULT], source format: [3 2 1 ], source document: [Purchase order message]

We were thrown […]

It’s time for Training and Holiday

I’m taking my family (my wife Gowri and our little son, 3 months old Aryaa) for a long 4.5 weeks holiday in India. For the first time I’m going to test out some training in India. I booked myself for .NET 2.0 distributed apps training bootcamp, an intencive 10 day training program (6 days a week and 10 hours a day).  After moving to UK 7 years ago, this is the first time I’m doing a proper training in India. I’ll try to post some updates on how the course is progressing, and whether its worth utilizing portion of my holidays for training in India. I visit India atleast once a year to see my parents, close relatives and friends. So, if it works out, then it will be the most cost effective way for me to do some training, which will enable me to do more training for the same budget. 

Nandri!

Saravana

Team Foundation Server Administrator’s Guide

Fresh out from Microsoft and likely of interest to a couple

of TFS junkies I know is the Team

Foundation Server Administrator’s Guide. This document is a replace for

the, now deprecated, Team Foundation Planning Guide. Download, enjoy, and if

you need help with your TFS install drop me a line, I

know some guys.

Update: Also out is a new Visual

Studio 2005 Team Foundation Installation Guide with updates for SP1.

Is there a way to configure one send port to send a message to a document library based on a parameter?

This question comes up quite often that it deserves its own post. Is there a way to configure one send port to send a message to a variable destination based on a parameter? For instance when using WSS adapter, can you send a message to a different document library based on the message that’s being processed?


The answer is yes, it’s possible to do this in two ways:



  • using dynamic send ports, the destination URI and the configuration of the send port can be set programatically in the orchestration for every outgoing message. This method has the advantage that no ports have to be pre-created.

  • using role-links and parties. For each party you need to pre-create and configure a pyshical send port. You will have pretty much a party per destination. You enlist the parties in the appropriate role. Then, in the orchestration the only thing that you need to do is set the party associated with the role-link. The physical send port of the party associated with the role-link will be used to process the outgoing message.

I included below more information on how to do this using dynamic send ports which is the more simple & frequent approach.


The URL for a WSS adapter dynamic send port will be something like this:
     ‘wss://ServerName/sites/MySite/MyDocumentLibrary/’  if you installed the web service on an HTTP site
     ‘wsss://ServerName/sites/MySite/MyDocumentLibrary/’ if you installed the web service on an HTTPS site (notice the additional s in wsss://).
 
and you can set it programatically from the orchestration (like below) every time you sent out a message
     dynamicSendPortName(Microsoft.XLANGs.BaseTypes.Address) = “wss://ServerName/sites/MySite/” + lookedupDocLibName;
 
The rest of the send port configuration information must be set on the outgoing message using the Config* context properties documented here
http://msdn2.microsoft.com/en-us/library/aa547920.aspx


For instance:
    outgoingMsg(WSS.Filename) = “file1.xml”;
    outgoingMsg(WSS.ConfigOverwrite) = “yes”;
    etc.
 
Video 04-WSSAdapter-PropsInOrchestration.wmv shared here includes one such dynamic send port example
http://blogs.msdn.com/ahamza/archive/2006/04/18/WssAdapterVideosWebcasts.aspx

Is there a way to configure one send port to send a message to a document library based on a parameter?

This question comes up quite often that it deserves its own post. Is there a way to configure one send port to send a message to a variable destination based on a parameter? For instance when using WSS adapter, can you send a message to a different document library based on the message that’s being processed?


The answer is yes, it’s possible to do this in two ways:



  • using dynamic send ports, the destination URI and the configuration of the send port can be set programatically in the orchestration for every outgoing message. This method has the advantage that no ports have to be pre-created.

  • using role-links and parties. For each party you need to pre-create and configure a pyshical send port. You will have pretty much a party per destination. You enlist the parties in the appropriate role. Then, in the orchestration the only thing that you need to do is set the party associated with the role-link. The physical send port of the party associated with the role-link will be used to process the outgoing message.

I included below more information on how to do this using dynamic send ports which is the more simple & frequent approach.


The URL for a WSS adapter dynamic send port will be something like this:
     ‘wss://ServerName/sites/MySite/MyDocumentLibrary/’  if you installed the web service on an HTTP site
     ‘wsss://ServerName/sites/MySite/MyDocumentLibrary/’ if you installed the web service on an HTTPS site (notice the additional s in wsss://).
 
and you can set it programatically from the orchestration (like below) every time you sent out a message
     dynamicSendPortName(Microsoft.XLANGs.BaseTypes.Address) = “wss://ServerName/sites/MySite/” + lookedupDocLibName;
 
The rest of the send port configuration information must be set on the outgoing message using the Config* context properties documented here
http://msdn2.microsoft.com/en-us/library/aa547920.aspx


For instance:
    outgoingMsg(WSS.Filename) = “file1.xml”;
    outgoingMsg(WSS.ConfigOverwrite) = “yes”;
    etc.
 
Video 04-WSSAdapter-PropsInOrchestration.wmv shared here includes one such dynamic send port example
http://blogs.msdn.com/ahamza/archive/2006/04/18/WssAdapterVideosWebcasts.aspx