Friday, October 23, 2015

Misspelled BizTalk 64 bit configuration file cannot find artifacts in GAC

Some time it is the simple things in life.  I misspelled the name of the 64 bit BizTalk configuration file.  It should be "BTSNTSvc64.exe.config".  I was able to start all the host instances.  Essentially there was no configuration found.   The symptom was interesting.   BizTalk could find nothing in the GAC.




Wednesday, September 2, 2015

This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.



Loading 3rd party adapters into BizTalk 2013 R2.   I received the following error every time the adapter tried to run.

This issue is associated with the dll not using the same version of  .Net framework as BizTalk. 
  
<>

The Messaging Engine failed to create the receive adapter "BizCryptoSFTP".
  InboundAssemblyPath: "C:\Program Files (x86)\EldoS\BizCrypto.BizTalk\Assemblies\NET_45\BizCrypto.BizTalk.Adapters.SFTP.dll"
  InboundTypeName: "BizCrypto.BizTalk.Adapters.SFTP.ReceiveAdapter"
  Exception Details: "Could not load file or assembly 'file:///C:\Program Files (x86)\EldoS\BizCrypto.BizTalk\Assemblies\NET_45\BizCrypto.BizTalk.Adapters.SFTP.dll'
or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded."

 <>


ANSWER SOLUTION:

 The host must have 32 bit checked.  This is a check box on the HOST.  To select it you must remove all the Host instance using this host(should be one).   Reload the hosts into the adapter.   I did find a MSDN blog that said that 64 bit will not work with some adapters. 

Thursday, June 11, 2015

BizTalk 2013 R2 and EDI correlations sets.

"Failed to initialize the correlation property name"

More detail:

Inner exception: Failed to initialize the correlation property name: ISA06 namespace: http://schemas.microsoft.com/Edi/PropertySchema from message: MessageFinal271V1.

The following correlation failed:

EDI.ST01, EDI.ISA06, EDI.ISA08

This correlation set succeeded.
 
EDI.ST01, EDIOverride.ISA06, EDIOverride.ISA08

I was doing this is a BizTalk Expression:


MessageFinal277V1(EdiOverride.ISA06) =  MessageIn276V1(EDI.ISA08);
MessageFinal277V1(EdiOverride.ISA08) =  MessageIn276V1(EDI.ISA06);



This solved the problem.

Friday, March 20, 2015

The external credentials in the SSO database are more recent.

I got the following error when adding Trading Partner information in the BizTalk console.

Software I was using:

BizTalk 2013 R2
SQL 2014
 
SSO AUDIT
 Function: SetConfigInfo
 Tracking ID: 7e95dcb7-088f-4b8a-aa6a-57a3141132f0
 Client Computer: local (mmc.exe:6916)
 Client User:
 Application Name: {6d186731-31d0-45d6-a773-7a7f9f516138}
 Error Code: 0xC0002A40, The external credentials in the SSO database are more recent.

Or

SSO AUDIT
 Function: GetConfigInfo ({5DDE9C84-BF89-47FF-8F19-4862FE3F0FA8})
 Tracking ID: 51cb5a98-a60a-4481-9631-c47f6d6ea68f
 Client Computer: local (BTSNTSvc.exe:14568)
 Client User: BiztalkDev
 Application Name: {56B82475-ED73-456B-9F68-1F4599F11E01}
 Error Code: 0x80090005, Bad Data.


Local server name removed.






replacing the stored procedure in the SSO database ([dbo].[ssox_spStoreXp2]) seem to solve this problem.  I got this SQL stored procedure from MS.  See download:


Download:


https://sites.google.com/site/biztalkcsharpandsql/SSOPatch.sql?attredirects=0&d=1

Thursday, February 19, 2015

IsGeneratedAck="true" in X12 999(X12_5010_999).  


This property appeared in my 999 XML from the EDISend port IsGeneratedAck="true"

I had a SOAP message that contained a EDI 270.  In the orchestration when I sent it out I got a 999 that I needed to put back in the SOAP message to return to sender.  This property appeared on the XML root node.


<ns0:X12_999_Root IsGeneratedAck="true">
<ns0:ST>
 <ST01>999</ST01>
 <ST02>0065</ST02>
 <ST03>005010X231A1</ST03>
 </ns0:ST>
<AK1>
 
<>

Hey some days you gotta cheat.  I converted the 999 XML to a string and removed the property that was giving us grief.


String2 = MQXMLRec.OuterXml;
String2 = String2.Replace("IsGeneratedAck=\"true\"","");

MQXMLRec3 = new System.Xml.XmlDocument();

MQXMLRec3.LoadXml(String2);

the IsGeneratedAck="true" Was not in any schema I could find.

This solved the problem and the XML loaded to X12_5010_999 without an issue.

Good Coding
Kent