Andy
Andy

Reputation: 2318

Biztalk File send port with a variable path

Is it possible to make the send port change output location based on a promoted property?

We have an interface that needs to send it to a different port based on the client. But we add clients on a regular basis, so adding a new send port (both in the administrator and orchestration) will require a lot of maintenance, while the only thing that happens is a directory change

The folders are like this ...

\\server\SO\client1\Out
\\server\SO\client2\Out
\\server\SO\client3\Out

I tried using the SourceFilename to create a file name like client1\Out\filename.xml but this doesn't work.

Is there any way to do this with a single send port?

Upvotes: 0

Views: 2257

Answers (1)

François
François

Reputation: 100

It is possible to set the OutboundTransportLocation property in context. This property contains the full path/name of the file that will be output by the file adapter. So in your case I guess you could do something along the line (if it had to be done in a pipeline component):

message.Context.Write(
  OutboundTransportLocation.Name,
  OutboundTransportLocation.Namespace,
  string.format(@"\\server\SO\{0}\Out", client));

Of course you can do a similar thing in your orchestration.

No need of a dynamic port...

Upvotes: 2

Related Questions