Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
functoid
zurü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 denXPathArrayIterator
Typ. In früheren BizTalk Server-Versionen wurde derXPathSelectionIterator
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
KlasseSie 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 SpeicherauslastungsverbesserungenXslCompiledTransform
der Klasse verliert. Außerdem ist die .NET-KlasseXslTransform
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 derBizTalkMgmtDb
Datenbank bereit. Dies kann zu Fehlern führen, wenn auf eine der neuen globalen Eigenschaften von BizTalk zugegriffen wird. Dies kann auftreten, wenn SieWCF.HttpHeaders
verwenden, irgendeine mitSB-Messaging Adapter
verknüpfte Eigenschaft oder eine andere neue Eigenschaft. Die Fehlermeldungen, mit denen derSB-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 istSymptom
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.