Monday, June 27, 2005

Cannot find the assembly Microsoft.BizTalk.Pipeline.Com­ponents

The error message given usually is an incorrect error message. When I received this error message it was due to a spelling mistake in the namespace when I manually created the data and then tried to submit to BizTalk. To get the correct error, install the Microsoft.Pipeline.Components.dll into the GAC again. There is no need to uninstall the component. Restart the BizTalk services after GACing the component. Rerun the process.

Attempted to access an unloaded AppDomain

This error appears when a change has been made to the web services, but BizTalk has not noticed the change yet. After building the web services, restart the BizTalk services and reset IIS. Note that it is better to change web services when all orchestration referencing the web services are unenlisted and the BizTalk services have been stopped.

Web Services and Correlation

For the past few weeks I've been trying to use web services and correlation. The problem I was facing was that I had two web services. The first web service would accept data from BizTalk and the second web service would send data back to BizTalk. The web services were two seperate entities and the response back to BizTalk was initiated by a manual process. Basically someone is going to be looking at the data that was sent to them and either accepting the data or rejecting the data. There was a LoadRef number in both processes that required correlation. Lastly, the web services used the type of XmlDocument.

The first issue I ran into was to correlate on the outgoing send shape. This required that I change parameter in the web service to a strongly typed parameter. The xsd is then created in the web reference of the project. Using the xsd I am set the promoted property on the reference xsd. In the orchestration I was then able to set the incoming message to a message of the web service request. Since the web service requires that the incoming variable be of a type of XmlDocument, in the web service mehtod I immediatly change the strongly typed item to XmlDocument using XmlSerializer.

The second issue I had was correlating on the return data. I could not change the format from XmlDocument. I discovered that two items needed to be set in order for correlation to work. First, the namespace must be the same namespace. Second, the qualified name must be set to the assembly properties that can be found in the GAC or properties in the BizTalk explorer. The Microsoft.XLANGS.BaseType.Any would not work. When set to type of Microsoft.XLANGs... the promoted property could not be found. On the receive SOAP adapter set the pipeline to XMLReceive.

Wednesday, June 08, 2005

Internal SOAP Processing Failure

When running web services through BizTalk either give ASPNET user access to the BizTalk management database, or impersonate the BizTalk services user in the web service's web.config. If impersonating the BizTalk services user, give access to C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files folder. These changes should solve the Internal SOAP Processing Failure error.