Known issues in BizTalk Server 2013

This article lists the known issues when you use Microsoft BizTalk Server 2013.
More information

Known Issues in XSLCompiledTransform

BizTalk Server 2013 uses the .NET XslCompiledTransform class for better transform performance. There are some differences in behavior between the XslCompiledTransform class and the previously used XslTransform class. The following are some known issues related to this difference and the recommended solutions:
  • Change in scripting functoid Boolean parameter

    Symptom
    When the input XML node contains any value that is false or the input XML node is empty, Boolean parameter in a scripting functoid is true.

    Resolution
    For detailed information about the resolution, see Change in Scripting Functoid Boolean Parameter Behavior.
  • Private functions are not supported

    Symptom
    When you use private function in a functoid, the map fails and you receive the following error message:
    Method 'MyPrivateFunct' of extension object 'http://schemas.microsoft.com/BizTalk/2003/userCSharp' cannot be called because it is not public.

    Note The XslCompiledTransform class only supports calling public methods. This limitation is documented at Migrating From the XslTransform Class.

    Resolution
    Declare the function as public instead of private.
  • Returning null is not supported

    Symptom
    When you return a null value from a functoid, the map fails and you receive the following generic error message:
    ExceptionType: Microsoft.XLANGs.Core.XTransformationFailureException
    Exception: Error encountered while executing the transform My.Map. Error:Transformation failed.
    When you test the same map in Visual Studio, it provides a more descriptive error message:
    Exception has been thrown by the target of an invocation. Extension functions cannot return null values.

    Note The XslCompiledTransform class does not support returning null values from functions that are called within the transform.

    Resolution
    Return String.Empty or some other alternative value to represent the null scenario. If it is needed, use a global variable to make the null value available across multiple functions.
  • Change in scripting functoid XPathNodeIterator parameter

    Symptom
    An XPathNodeIterator parameter in a scripting functoid uses the XPathArrayIterator type. In earlier BizTalk Server versions, it used the XPathSelectionIterator type. Because of this change, the node.MoveNext() call has to be added, as in the following code, in order to avoid the following error message:
    Enumeration has not started. Call MoveNext.
    public static bool WriteNode(XPathNodeIterator node) { node.MoveNext(); //needs to be added in BizTalk Server 2013 to avoid errorXPathNavigator xpn = node.Current; XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(xpn.OuterXml); return true; }
    Resolution
    Call the MoveNext() function.
  • Function overloads are differentiated by number of parameters instead of by types

    Symptom
    The following function overloads contain parameters of different types:
    public short MyOverloadedFunction(int testvalue)public short MyOverloadedFunction(string testvalue)
    Because these function overloads both have the same count of parameters, if they are used in a transform, the map fails and you receive the following error message:
    Ambiguous method call. Extension object 'http://schemas.microsoft.com/BizTalk/2003/ScriptNS0' contains multiple 'MyOverloadedFunction' methods that have 1 parameter(s).

    Note The XslCompiledTransform class only differentiates between functions based on the number of arguments. This limitation is documented at Migrating From the XslTransform Class.

    Resolution
    Make sure all function overloads contain a different number of parameters.

Falling Back to the XslTransform Class
You can configure the BizTalk Server 2013 transform engine to use the older XslTransform class. We do not recommend this approach because the environment will lose the many performance and memory usage improvements provided by the XslCompiledTransform class. Also, the .NET XslTransform class is deprecated. Therefore, no new updates or fixes will be released for it.

If you cannot update the map by using the solutions mentioned earlier, this change can be made by adding a DWORD UseXslTransform with value of 1 at the following locations:
  • For 64-bit BizTalk host instances: HKLM\SOFTWARE\Microsoft\BizTalk Server\3.0\Configuration
  • For 32-bit BizTalk host instances and Visual Studio's Test Map functionality: HKLM\SOFTWARE\Wow6432Node\Microsoft\BizTalk Server\3.0\Configuration

Known Issues in Enterprise Single Sign-On (SSO)


The followings are some known issues that are specific to SSO on BizTalk Server 2013:
  • Upgrade to BizTalk Server 2013 does not upgrade SSO

    Symptom
    An in-place upgrade from BizTalk Server 2009 or BizTalk Server 2010 to BizTalk Server 2013 may not upgrade SSO on the same computer. If this issue results in the SSO Master Secret Server not being upgraded, when you try to upgrade other BizTalk servers in the group, you receive the following error message:
    Please upgrade your master secret server
    Any component of BizTalk Server that references Microsoft.BizTalk.Interop.SSOClient.dll fails, and you receive the following error message:
    Could not load file or assembly 'Microsoft.BizTalk.Interop.SSOClient, Version=7.0.2300.0

    Resolution
    This issue is resolved in later releases of the BizTalk Server 2013 media. Therefore, make sure that you upgrade by using the latest available media. For more information about how to determine the version of SSO on your computer, and about how to upgrade SSO if you have already encountered this issue, see Upgrading to BizTalk Server 2013 does not upgrade Enterprise SSO.
  • Cannot load Microsoft.BizTalk.Interop.SSOClient.dll version 5.0.1.0

    Symptom
    You may receive the following error message in following scenarios:
    Could not load file or assembly ‘Microsoft.BizTalk.Interop.SSOClient.dll, Version=5.0.1.0’
    • The error is thrown by a WCF receive location or WCF send port after an in-place upgrade from BizTalk Server 2009 or BizTalk Server 2010. This occurs because the Microsoft.BizTalk.Adapter.Wcf.Runtime.dll file is not upgraded to version 3.10.229.0 correctly.

      Resolution
      If the version of Microsoft.BizTalk.Adapter.Wcf.Runtime.dll is earlier than 3.10.229.0, copy the correct version of the file from the BizTalk Server 2013 installation media (located in <DVD-Drive>\BizTalk Server\MSI\Program Files), put it in the BizTalk Server installation folder, and then install it into the Global Assembly Cache (GAC). You can install the .dll file into the GAC by using the gacutil.exe tool as following:
      gacutil.exe /if Microsoft.BizTalk.Adapter.Wcf.Runtime.dll
    • The error is thrown by custom code that is previously used in BizTalk Server 2009 or BizTalk Server 2010. This is because BizTalk Server 2009 and BizTalk Server 2010 have .NET version 5.0.1.0 of the Microsoft.BizTalk.Interop.SSClient.dll file. However, BizTalk Server 2013 uses .NET version 7.0.2300.0 of the file.

      Resolution
      Update and rebuild the custom code to reference the BizTalk Server 2013 version (7.0.2300.0) of the Microsoft.BizTalk.Interop.SSClient.dll file. If rebuilding is not an option, redirect to version 7.0.2300.0 by making the following modification to the "<runtime>/<assemblyBinding>" section of the appropriate configuration file:
      <dependentAssembly><assemblyIdentity name="Microsoft.BizTalk.Interop.SSOClient" publicKeyToken="31bf3856ad364e35" culture="neutral" /><bindingRedirect oldVersion="5.0.1.0" newVersion="7.0.2300.0"/></dependentAssembly>
    • The error is thrown by Microsoft BizTalk Enterprise Service Bus (ESB) because of an incorrect file dependency.

      Resolution
      This issue is fixed in BizTalk Server 2013 Cumulative Update 2 (CU2) and later versions.
      For more information about this issue, see FIX: "Could not load file or assembly 'Microsoft.BizTalk.Interop.SSOClient Version=5.0.1.0" error when you use the ESB configuration tool in BizTalk Server 2013.
      For how to obtain the latest cumulative update to resolve it, see Service Pack and cumulative update list for BizTalk Server.
  • Failed to load SSOPSServer.dll

    Symptom
    You may receive the following error message that is logged in the event logs:
    Failed to load \Program Files\Common Files\Enterprise Single Sign-On\SSOPSServer.dll Error code: 0x8007007E, The specified module could not be found.

    Resolution
    This error is harmless and can be ignored. In order to prevent this error from continuing to occur, copy the SSOPSServer.dll file from the original installation media into the \Program Files\Common Files\Enterprise Single Sign-On folder on the computer. For 64-bit installations of SSO, use the SSOPSServer.dll file from \Platforms\SSO64\Files on the installation media. For 32-bit installations of SSO, use the file from \Platforms\SSO\Fxiles.
  • BizTalk SSO Master Secret cannot be used by Host Integration Server 2013 SSO

    Symptom
    When a Host Integration Server 2013 SSO service tries to access a BizTalk Server 2013 SSO Master Secret service, the following error message is thrown:
    Failed to retrieve master secrets. Verify that the master secret server name is correct and that it is available. Secret Server Name: BTSSSOSERVER Error Code: 0x00000057, The parameter is incorrect.

    Resolution
    Host Integration Server 2013 includes version 9.0.2096.0 of SSO. However, BizTalk Server 2013 includes version 9.0.1865.0. Because of this, in a mixed environment in which SSO services on both Host Integration Server and BizTalk servers access a shared Master Secret Server, the server must run the Host Integration Server 2013 SSO service. Be aware that installing Host Integration Server on a BizTalk server will upgrade the existing SSO service to version 9.0.2096.0, and will require that the remote Master Secret SSO server also be upgraded to 9.0.2096.0.

Other Known Issues

  • Upgrade to BizTalk Server 2013 does not deploy new Microsoft.BizTalk.GlobalPropertySchemas.dll

    Symptom
    An in-place upgrade from BizTalk Server 2009 or BizTalk Server 2010 to BizTalk Server 2013 does not correctly deploy the new Microsoft.BizTalk.GlobalPropertySchemas.dll file into the BizTalkMgmtDb database. This can result in errors when any of the new global properties are accessed by BizTalk. This can occur when you use WCF.HttpHeaders, any property associated with the SB-Messaging Adapter, or any other new property. The error messages that the SB-Messaging Adapter fails together with are following:
    The adapter "SB-Messaging" raised an error message. Details "System.Runtime.InteropServices.COMException (0xC0C01620): Exception from HRESULT: 0xC0C01620
    at Microsoft.BizTalk.TransportProxy.Interop.IBTTransportBatch.MoveToSuspendQ(IBaseMessage msg)
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.Batch2.MoveToSuspendQ(IBaseMessage message, Object userData)
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkReceiveBatch.SuspendMessageIfNeeded(IBaseMessage message, StreamAndUserData streamAndUserData, Int32 messageStatus)".

    The adapter "SB-Messaging" raised an error message. Details "System.Exception: Loading property information list by namespace failed or property not found in the list. Verify that the schema is deployed properly.
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkServiceInstance.EndOperation(IAsyncResult result)
    at AsyncInvokeEndEndTwoWayMethod(Object , Object[] , IAsyncResult )
    at System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeEnd(Object instance, Object[]& outputs, IAsyncResult result)
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeEnd(MessageRpc& rpc)
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage7(MessageRpc& rpc)
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)"

    Resolution
    Use the AddGlobalPropertySchemas.exe tool to manually deploy the .dll file after the upgrade. Download the tool from AddGlobalPropertySchemas.exe. You must pass in the BizTalk Management database server name and the database name as follows:
    AddGlobalPropertySchemas.exe /server:MyServer /database:BizTalkMgmtDb
    Note If the database is located on a named instance of SQL Server, specify MyServer\MyInstance instead of just MyServer.
  • The ESB 2.2 config file causes ESB failures

    Symptom
    ESB Toolkit 2.2 uses Unity 2.0 which requires modifications to the default esb.config file. Without these modifications, the following issues can occur
    • ESB 2.2 configuration fails, and you receive the following error message:
      Exception calling "PushAllConfiguration" with "6" argument(s): “Unrecognized element 'typeConfig'. (C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit\esb.config line 151)
    • When the ItinerarySelectReceiveXML receive pipeline is used to call the Business Rules Engine to dynamically select an itinerary (by using the ESB BRI Resolver), the following error is thrown:
      Exception has been thrown by the target of an invocation.
      Source: Microsoft.Practices.ESB.Resolver.ResolverMgr
      Method: System.Collections.Generic.Dictionary`2[System.String,System.String] Resolve(Microsoft.Practices.ESB.Resolver.ResolverInfo, Microsoft.BizTalk.Message.Interop.IBaseMessage, Microsoft.BizTalk.Component.Interop.IPipelineContext)
      Error Source: mscorlib
      Error TargetSite: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
      Error StackTrace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
      at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
      at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
      at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
      at System.Activator.CreateInstance(Type type, Object[] args)
      at Microsoft.Practices.ESB.Resolver.ResolverFactory.Create(String key)
      at Microsoft.Practices.ESB.Resolver.ResolverMgr.GetResolver(ResolverInfo info)
      at Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve(ResolverInfo info, IBaseMessage message, IPipelineContext pipelineContext)
    Resolution
    For more information about this issue and instructions on how to modify the esb.config file to resolve it, see ESB Toolkit BRE Itinerary Resolver Fails with Exception and ESB Configuration fails with "Unrecognized element 'typeConfig'".
  • EDIFACT message that has UNB 3.3 segment is suspended

    Symptom
    After the upgrade to BizTalk Server 2013, an EDIFACT message that contains a UNB 3.3 segment fails, and you receive the following error message. This same EDIFACT message processed without issue in BizTalk Server 2010:
    Loading property information list by namespace failed or property not found in the list. Verify that the schema is deployed properly.

    Resolution
    Restart the relevant host instance by using the following steps:
    • In BizTalk Server Administration Console, navigate to BizTalk Group > Applications > BizTalk EDI Applications > Resources.
    • Right-click Resources, and then click Add > BizTalk Assemblies.
    • In the Add Resources window, click Add, select the Microsoft.BizTalk.Edi.BaseArtifacts.dll file (the default location is C:\Program Files (x86)\Microsoft BizTalk Server 2013), and then click Open.
    • Select the Overwrite all check box.
    • Select the Add to the global assembly cache on add resource check box, and then click OK.
BizTalk Server 2013 Known Issues BTS2013
Properties

Article ID: 2954101 - Last Review: 08/25/2015 06:22:00 - Revision: 5.0

Microsoft BizTalk Server 2013 Branch, Microsoft BizTalk Server 2013 Developer, Microsoft BizTalk Server 2013 Enterprise, Microsoft BizTalk Server 2013 Standard

  • kbbts kbbtsengine kbbtssso kbsurveynew kbtshoot kbexpertiseinter KB2954101
Feedback