One of the quirks of the Microsoft BizTalk Server ESB Toolkit is no native support for static send ports from within itineraries. Although there is a simple work around. The trick is to create a dummy dynamic port for use at design time from within the itinerary designer. Then create a static port with the same matching filter expressions which is used at runtime. The static port satisfies the subscription requirements for the message.
Consider the below itinerary. As simple as it gets. File is received, routing information is updated under the receive handler, and the file is sent. Note the properties of the Off Ramp shape. Under the “TestApp” BizTalk application I have both static and a dynamic ports defined, only the dynamic port is made available for selection from with the itinerary. Select the dynamic port. Note the “Service Name”, “Service Type”, and “Service State” Off Ramp properties are populated from the filter expressions defined on the dynamic send port. Deploy the itinerary.
Below shows the filter expressions for the dynamic port used from the above itinerary.
Now we create a static send port with the same filter expressions. At run time the static send port will satisfy the subscription for the message. Below is the configuration of the static send port filter expression.