BizTalk Server 2000 has a few features that we might affectionately call "disconnects." Let's not call them problems because they can have good justification, but that doesn't change the fact that they can really frustrate the developer. Let's consider an exemplary BizTalk interchange case of receiving a flat file and mapping it to a new XML file. For this interchange, you will require:
■ A file Receive function (let's have it refer to a channel in this example)
■ An envelope to parse the flat file
■ A specification for the incoming document
■ A specification for the outbound document
■ A channel referring to an inbound document definition, an outbound document definition, and the map
■ A messaging port referred to by the channel
Let's say everything is working, and now you need to make a change to one field in the inbound spec, and one change in the outbound spec. These changes will also affect a change in the map. Let's first make the change in the inbound spec.You do this in BizTalk Editor and save the file using File...Save. Now, in BizTalk Editor, you make the change in the outbound spec and save the file. Next, you open the map. The map that depends on these specs does not reflect the changes you made because you must reload the specifications. After reloading both specifications, you make the map change, and save the map.You then try to run the process and nothing changes. Why?
First, the Receive function references an envelope. The envelope depends on the inbound specification, but envelopes can only reference specifications kept in
WebDAV. Therefore, for the envelope to be current, your spec in WebDAV must be current. In the channel, the map can only reference maps kept in the WebDAV as well.Therefore, the map, too, must be saved to the WebDAV. In addition, within the channel, the inbound and outbound specs refer to document definitions, which in turn only refer to specs in the WebDAV. In case that wasn't enough updating, when you make a change to a map, the Channel dialog needs to be explicitly opened and resaved to update the map that is actually cached for use.
Confusing? Let's summarize.When you make a change to BizTalk specifications or maps, you should:
■ Save all changes to WebDAV.
■ Open and save any document definitions dependent on the changed specs.
■ Reload specifications into dependent maps.
■ Open and save any channels dependent on changed maps.
Make no mistake, this does require a lot of clicking, but your diligence will provide smoother modification processes.
Was this article helpful?