Freigeben über


Bekannte Probleme in BizTalk Server 2013

In diesem Artikel werden die bekannten Probleme aufgeführt, wenn Sie Microsoft BizTalk Server 2013 verwenden.

Originalproduktversion: BizTalk Server 2013
Ursprüngliche KB-Nummer: 2954101

Bekannte Probleme in XSLCompiledTransform

BizTalk Server 2013 verwendet die .NET-Klasse XslCompiledTransform für eine bessere Transformationsleistung. Es gibt einige Unterschiede im Verhalten zwischen der XslCompiledTransform Klasse und der zuvor verwendeten XslTransform Klasse. Im Folgenden sind einige bekannte Probleme im Zusammenhang mit diesem Unterschied und die empfohlenen Lösungen aufgeführt:

  • Ändern des booleschen Skriptsparameters functoid

    Symptom

    Wenn der Eingabe-XML-Knoten einen Wert enthält, der falsch ist oder der Eingabe-XML-Knoten leer ist, ist der boolesche Parameter in einem Skript functoid "true".

  • Private Funktionen werden nicht unterstützt.

    Symptom

    Wenn Sie eine private Funktion in einer functoid-Map verwenden, schlägt die Map fehl, und Sie erhalten die folgende Fehlermeldung.

    Die Methode 'MyPrivateFunct' des Erweiterungsobjekts 'http://schemas.microsoft.com/BizTalk/2003/userCSharp' kann nicht aufgerufen werden, weil sie nicht öffentlich ist.

    Die XslCompiledTransform Klasse unterstützt nur das Aufrufen öffentlicher Methoden. Diese Einschränkung ist bei der Migration von der XslTransform-Klasse dokumentiert.

    Lösung

    Deklarieren Sie die Funktion als öffentlich statt als privat.

  • Das Zurückgeben von NULL wird nicht unterstützt.

    Symptom

    Wenn Sie einen NULL-Wert von a functoidzurückgeben, schlägt die Zuordnung fehl, und Sie erhalten die folgende generische Fehlermeldung:

    Ausnahmetyp: Microsoft.XLANGs.Core.XTransformationFailureException

    Ausnahme: Fehler beim Ausführen der Transformation "My.Map". Fehler: Transformation fehlgeschlagen.

    Wenn Sie dieselbe Karte in Visual Studio testen, wird eine aussagekräftigere Fehlermeldung angezeigt:

    Die Ausnahme wurde vom Ziel eines Aufrufs ausgelöst. Erweiterungsfunktionen können keine NULL-Werte zurückgeben.

    Die XslCompiledTransform-Klasse unterstützt nicht das Zurückgeben von NULL-Werten aus Funktionen, die innerhalb der Transformation aufgerufen werden.

    Lösung

    Zurückgeben String.Empty oder einen anderen alternativen Wert, der das Nullszenario darstellt. Verwenden Sie bei Bedarf eine globale Variable, um den Nullwert für mehrere Funktionen verfügbar zu machen.

  • Änderung des Scripting-Functoid-Parameters XPathNodeIteraton

    Symptom

    Ein XPathNodeIterator Parameter in einem Skript-Functoid verwendet den XPathArrayIterator Typ. In früheren BizTalk Server-Versionen wurde der XPathSelectionIterator Typ verwendet. Aufgrund dieser Änderung muss der Aufruf der Methode node.MoveNext() wie im folgenden Code hinzugefügt werden, um die folgende Fehlermeldung zu vermeiden:

    Die Aufzählung wurde nicht gestartet. Rufen Sie MoveNext auf.

    public static bool WriteNode(XPathNodeIterator node)
    {
      node.MoveNext(); //needs to be added in BizTalk Server 2013 to avoid error
      XPathNavigator xpn = node.Current;
      XmlDocument xdoc = new XmlDocument();
      xdoc.LoadXml(xpn.OuterXml);
      return true;
    }
    

    Lösung

    Rufen Sie die Funktion MoveNext() auf.

  • Funktionsüberladungen werden durch die Anzahl von Parametern und nicht nach Typen unterschieden.

    Symptom

    Die folgenden Funktionsüberladungen enthalten Parameter verschiedener Typen:

    public short MyOverloadedFunction(int testvalue)
    public short MyOverloadedFunction(string testvalue)
    

    Da diese Funktionsüberladungen beide die gleiche Anzahl von Parametern aufweisen, wenn sie in einer Transformation verwendet werden, schlägt die Zuordnung fehl, und Sie erhalten die folgende Fehlermeldung:

    Mehrdeutiger Methodenaufruf. Das Erweiterungsobjekt 'http://schemas.microsoft.com/BizTalk/2003/ScriptNS0' enthält mehrere 'MyOverloadedFunction'-Methoden mit 1 Parametern.

    Die XslCompiledTransform Klasse unterscheidet nur zwischen Funktionen basierend auf der Anzahl der Argumente. Diese Einschränkung ist bei der Migration von der XslTransform-Klasse dokumentiert.

    Lösung

    Stellen Sie sicher, dass alle Funktionsüberladungen eine andere Anzahl von Parametern enthalten.

  • Zurück auf die XslTransform Klasse

    Sie können das BizTalk Server 2013-Transformationsmodul für die Verwendung der älteren XslTransform Klasse konfigurieren. Wir empfehlen diesen Ansatz nicht, da die Umgebung die vielen Leistungs- und Speicherauslastungsverbesserungen XslCompiledTransform der Klasse verliert. Außerdem ist die .NET-Klasse XslTransform veraltet. Daher werden keine neuen Updates oder Fixes dafür veröffentlicht.

Wenn Sie die Karte nicht mithilfe der oben erwähnten Lösungen aktualisieren können, kann diese Änderung vorgenommen werden, indem Sie ein DWORD-Datenelement UseXslTransform mit dem Wert 1 an den folgenden Speicherorten hinzufügen.

  • Für 64-Bit-BizTalk-Hostinstanzen:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0\Configuration

  • Für 32-Bit-BizTalk-Hostinstanzen und die Testzuordnung-Funktionalität von Visual Studio:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BizTalk Server\3.0\Configuration

Bekannte Probleme bei einmaligem Anmelden für Unternehmen (SSO)

Nachfolgend sind einige bekannte Probleme aufgeführt, die für SSO auf BizTalk Server 2013 spezifisch sind:

  • Das Upgrade auf BizTalk Server 2013 beinhaltet kein Upgrade von SSO.

    Symptom

    Ein direktes Upgrade von BizTalk Server 2009 oder BizTalk Server 2010 auf BizTalk Server 2013 kann SSO nicht auf demselben Computer aktualisieren. Wenn dieses Problem dazu führt, dass der SSO Master Secret Server nicht aktualisiert wird, wenn Sie versuchen, andere BizTalk-Server in der Gruppe zu aktualisieren, wird die folgende Fehlermeldung angezeigt:

    Aktualisieren Sie Ihren Hauptschlüsselserver.

    Jede Komponente von BizTalk Server, die auf Microsoft.BizTalk.Interop.SSOClient.dll verweist, schlägt fehl, und Sie erhalten die folgende Fehlermeldung:

    Datei oder Assembly 'Microsoft.BizTalk.Interop.SSOClient, Version=7.0.2300.0' konnte nicht geladen werden.

    Lösung

    Dieses Problem wurde in späteren Versionen der BizTalk Server 2013-Medien behoben. Stellen Sie daher sicher, dass Sie ein Upgrade mit den neuesten verfügbaren Medien durchführen.

  • Version 5.0.1.0 kann nicht geladen werden Microsoft.BizTalk.Interop.SSOClient.dll.

    Symptom

    In folgenden Szenarien wird möglicherweise die folgende Fehlermeldung angezeigt:

    Datei oder Assembly "Microsoft.BizTalk.Interop.SSOClient.dll, Version=5.0.1.0" konnte nicht geladen werden.

    • Der Fehler wird von einem WCF-Empfangsort oder WCF-Sendeport nach einem In-Place-Upgrade von BizTalk Server 2009 oder BizTalk Server 2010 geworfen. Dies tritt auf, da die Microsoft.BizTalk.Adapter.Wcf.Runtime.dll Datei nicht ordnungsgemäß auf Version 3.10.229.0 aktualisiert wird.

      Lösung

      Wenn die Version Microsoft.BizTalk.Adapter.Wcf.Runtime.dll vor 3.10.229.0 liegt, kopieren Sie die richtige Version der Datei aus dem BizTalk Server 2013-Installationsmedium (befindet sich in <DVD-Drive>\BizTalk Server\MSI\Program Files), fügen Sie sie in den Installationsordner BizTalk Server ein, und installieren Sie sie dann im globalen Assemblycache (GAC). Sie können die .dll Datei im GAC installieren, indem Sie das gacutil.exe Tool wie folgt verwenden:

      gacutil.exe /if Microsoft.BizTalk.Adapter.Wcf.Runtime.dll
      
    • Der Fehler wird durch benutzerdefinierten Code ausgelöst, der zuvor in BizTalk Server 2009 oder BizTalk Server 2010 verwendet wird. Dies liegt daran, dass BizTalk Server 2009 und BizTalk Server 2010 über .NET Version 5.0.1.0 der Microsoft.BizTalk.Interop.SSClient.dll Datei verfügen. BizTalk Server 2013 verwendet jedoch .NET, Version 7.0.2300.0 der Datei.

      Lösung

      Aktualisieren Sie den benutzerdefinierten Code, um auf die BizTalk Server 2013-Version (7.0.2300.0) der Microsoft.BizTalk.Interop.SSClient.dll-Datei zu verweisen. Wenn die Neuerstellung keine Option ist, umleiten Sie zu Version 7.0.2300.0, indem Sie die folgende Änderung am <runtime>/<assemblyBinding> Abschnitt der entsprechenden Konfigurationsdatei vornehmen:

      <dependentAssembly>
          <assemblyIdentity name="Microsoft.BizTalk.Interop.SSOClient" publicKeyToken="31bf3856ad364e35" culture="neutral" />
          <bindingRedirect oldVersion="5.0.1.0" newVersion="7.0.2300.0"/>
      </dependentAssembly>
      
    • Der Fehler wird aufgrund einer falschen Dateiabhängigkeit von Microsoft BizTalk Enterprise Service Bus (ESB) ausgelöst.

      Lösung

      Dieses Problem wurde in BizTalk Server 2013 Kumulatives Update 2 (CU2) und höheren Versionen behoben.

      Weitere Informationen zu diesem Problem finden Sie unter FIX: „Fehler: Datei oder Assembly 'Microsoft.BizTalk.Interop.SSOClient Version=5.0.1.0' konnte nicht geladen werden“, wenn Sie das ESB-Konfigurationstool in BizTalk Server 2013 verwenden.

      Informationen zum Abrufen des neuesten kumulativen Updates, um es zu beheben, finden Sie in der Service Pack- und kumulativen Updateliste für BizTalk Server.

  • Fehler beim Laden SSOPSServer.dll

    Symptom

    Möglicherweise erhalten Sie die folgende Fehlermeldung, die in den Ereignisprotokollen protokolliert wird:

    Fehler beim Laden von \Program Files\Common Files\Enterprise Single Sign-On\SSOPSServer.dll Fehlercode: 0x8007007E, Das angegebene Modul konnte nicht gefunden werden.

    Lösung

    Dieser Fehler ist harmlos und kann ignoriert werden. Um zu verhindern, dass dieser Fehler weiterhin auftritt, kopieren Sie die SSOPSServer.dll Datei aus dem ursprünglichen Installationsmedium in den \Program Files\Common Files\Enterprise Single Sign-On Ordner auf dem Computer. Verwenden Sie für 64-Bit-Installationen von SSO die SSOPSServer.dll Datei auf \Platforms\SSO64\Files dem Installationsmedium. Verwenden Sie für 32-Bit-Installationen von SSO die Datei von \Platforms\SSO\Files.

  • BizTalk SSO Master Secret kann nicht von Host Integration Server 2013 SSO verwendet werden

    Symptom

    Wenn ein HostIntegration Server 2013 SSO-Dienst versucht, auf einen BizTalk Server 2013 SSO Master Secret Service zuzugreifen, wird die folgende Fehlermeldung ausgelöst:

    Fehler beim Abrufen von Master-Geheimnissen. Überprüfen Sie, ob der Name des Master-Secret-Servers korrekt ist und ob er verfügbar ist. Geheimer Servername: BTSSSOSERVER-Fehlercode: 0x00000057, Der Parameter ist falsch.

    Lösung

    Host Integration Server 2013 enthält Version 9.0.2096.0 von SSO. BizTalk Server 2013 enthält jedoch Version 9.0.1865.0. Aus diesem Fall muss der Server in einer gemischten Umgebung, in der SSO-Dienste sowohl auf Hostintegrationsservern als auch auf BizTalk-Servern auf einen gemeinsam genutzten Geheimen MasterSchlüsselserver zugreifen, den HostIntegration Server 2013 SSO-Dienst ausführen. Beachten Sie, dass die Installation des Hostintegrationsservers auf einem BizTalk-Server den vorhandenen SSO-Dienst auf Version 9.0.2096.0 aktualisiert und dass auch der Remote-Mastergeheimnis-SSO-Server auf 9.0.2096.0 aktualisiert werden muss.

Andere bekannte Probleme

  • Upgrade auf BizTalk Server 2013 führt keine neue Bereitstellung durch Microsoft.BizTalk.GlobalPropertySchemas.dll

    Symptom

    Ein direktes Upgrade von BizTalk Server 2009 oder BizTalk Server 2010 auf BizTalk Server 2013 stellt die neue Microsoft.BizTalk.GlobalPropertySchemas.dll Datei nicht ordnungsgemäß in der BizTalkMgmtDb Datenbank bereit. Dies kann zu Fehlern führen, wenn auf eine der neuen globalen Eigenschaften von BizTalk zugegriffen wird. Dies kann auftreten, wenn Sie WCF.HttpHeaders verwenden, irgendeine mit SB-Messaging Adapter verknüpfte Eigenschaft oder eine andere neue Eigenschaft. Die Fehlermeldungen, mit denen der SB-Messaging Adapter Fehler zusammen auftritt, sind wie folgt:

    Der Adapter "SB-Messaging" hat eine Fehlermeldung ausgelöst. Details "System.Runtime.InteropServices.COMException (0xC0C01620): Ausnahme von HRESULT: 0xC0C01620
    bei Microsoft.BizTalk.TransportProxy.Interop.IBTTransportBatch.MoveToSuspendQ(IBaseMessage msg)
    An den Microsoft.BizTalk.Adapter.Wcf.Runtime.Batch2.MoveToSuspendQ(IBaseMessage-Nachricht, Objektbenutzerdaten)
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkReceiveBatch.SuspendMessageIfNeeded(IBaseMessage message, StreamAndUserData streamAndUserData, Int32 messageStatus)".
    Der Adapter "SB-Messaging" hat eine Fehlermeldung ausgelöst. Details "System.Exception: Laden der Eigenschaftsinformationsliste per Namespace fehlgeschlagen oder Eigenschaft in der Liste nicht gefunden. Stellen Sie sicher, dass das Schema ordnungsgemäß bereitgestellt wurde.
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkServiceInstance.EndOperation(IAsyncResult result)
    bei AsyncInvokeEndEndTwoWayMethod(Object , Object[] , IAsyncResult)
    bei System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeEnd(Object instance, Object[]& outputs, IAsyncResult result)
    bei System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeEnd(MessageRpc& rpc)
    Bei System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage7(MessageRpc& rpc)
    bei System.ServiceModel.Dispatcher.MessageRpc.Verarbeiten(Boolean ist OperationContext gesetzt)"

    Lösung

    Verwenden Sie das AddGlobalPropertySchemas.exe Tool, um die .dll Datei nach dem Upgrade manuell bereitzustellen. Laden Sie das Tool aus AddGlobalPropertySchemas.exe herunter. Sie müssen den BizTalk Management-Datenbankserver und den Datenbanknamen wie folgt angeben:

    AddGlobalPropertySchemas.exe /server:MyServer /database:BizTalkMgmtDb
    

    Notiz

    Wenn sich die Datenbank in einer benannten Instanz von SQL Server befindet, geben Sie "MyServer\MyInstance" anstelle von "MyServer" an.

  • Die ESB 2.2-Konfigurationsdatei verursacht ESB-Fehler

    Symptom

    ESB Toolkit 2.2 verwendet Unity 2.0, die Änderungen an der Standarddatei esb.config erfordern. Ohne diese Änderungen können die folgenden Probleme auftreten:

    • Die ESB 2.2-Konfiguration schlägt fehl, und Sie erhalten die folgende Fehlermeldung:

      Ausnahme beim Aufrufen von PushAllConfiguration mit 6 Argumenten: Nicht erkanntes Element 'typeConfig'. (C:\Programme (x86)\Microsoft BizTalk ESB Toolkit\esb.config Zeile 151)

    • Wenn die ItinerarySelectReceiveXML Empfangspipeline verwendet wird, um das Business Rules Engine aufzurufen, um eine Reiseroute dynamisch auszuwählen (mithilfe des ESB BRI Resolver), wird der folgende Fehler ausgelöst:

      Die Ausnahme wurde vom Ziel eines Aufrufs ausgelöst.
      Quelle: Microsoft.Practices.ESB.Resolver.ResolverMgr
      Methode: 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)
      Fehlerquelle: mscorlib
      Fehler 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)
      bei 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)
      bei Microsoft.Practices.ESB.Resolver.ResolverMgr.GetResolver(ResolverInfo info)
      at Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve(ResolverInfo info, IBaseMessage message, IPipelineContext pipelineContext)

    Lösung

    Weitere Informationen zu diesem Problem und Anweisungen zum Ändern der esb.config-Datei zum Beheben finden Sie unter ESB Toolkit BRE Itinerary Resolver Fails with Exception und ESB Configuration fails with Unrecognized element 'typeConfig'.

  • EDIFACT Meldung, dass das UNB 3.3-Segment suspendiert ist

    Symptom

    Nach dem Upgrade auf BizTalk Server 2013 schlägt eine EDIFACT Meldung mit einem UNB 3.3-Segment fehl, und Sie erhalten die folgende Fehlermeldung. EDIFACT Dieselbe Nachricht, die ohne Problem in BizTalk Server 2010 verarbeitet wurde:

    Fehler beim Laden der Eigenschaftsinformationsliste nach Namespace oder Eigenschaft, die in der Liste nicht gefunden wurde. Stellen Sie sicher, dass das Schema ordnungsgemäß bereitgestellt wurde.

    Lösung

    Starten Sie die relevante Hostinstanz neu, indem Sie die folgenden Schritte ausführen:

    • Navigieren Sie in der BizTalk Server-Verwaltungskonsole zu BizTalk Group>Applications>Resources.
    • Klicken Sie mit der rechten Maustaste auf "Ressourcen", und klicken Sie dann auf "BizTalk-Assemblys hinzufügen>".
    • Klicken Sie im Fenster "Ressourcen hinzufügen" auf "Hinzufügen", wählen Sie die Microsoft.BizTalk.Edi.BaseArtifacts.dll Datei aus (der Standardspeicherort ist C:\Program Files (x86)\Microsoft BizTalk Server 2013), und klicken Sie dann auf " Öffnen".
    • Aktivieren Sie das Kontrollkästchen "Alle überschreiben".
    • Aktivieren Sie das Kontrollkästchen "Zum globalen Assemblycache hinzufügen", und klicken Sie dann auf OK.