Ich muss eine Klasse von opensaml 2.6 nach opensaml 3.1.1 migrieren Kompilieren Ich erhalte einige Fehler
1)
%Vor%Ich kann die Klasse XMLHelper in der neuen Version nicht finden.
2)
%Vor%Ich kann die Klasse DefaultBootstrap finden und finde keine Klassenkonfiguration mit den Methoden getBuilderFactory (), getMarshallerFactory ()
3)
%Vor%Jetzt ist der neue Konstruktor BasicCredential () nicht sichtbar.
Ich habe keine Dokumentation mit Verfallsanzeige gefunden. Was muss ich tun, um diese Klasse in die Version 3.1.1 von opensaml zu portieren?
Kann mir jemand helfen? Danke im Voraus. Sorry für mein schlechtes Englisch.
Ich bin mir nicht sicher, ob Sie bereits ein Upgrade auf opensaml 3 durchgeführt haben, aber da ich während des Upgrades selbst auf das Upgrade gestoßen bin, dachte ich, ich werde dokumentieren, was ich gefunden habe.
Es gibt sehr wenig Dokumentation, da es augenscheinlich keine Priorität für sie gibt (auch hier erwähnt: OpenSaml3 Documentation ), die nützlichste (wenn auch bei weitem nicht vollständige) Seite, die ich gefunden habe, ist diese: Ссылка
1) Es gibt eine Klasse SerializeSupport
mit einer Methode prettyPrintXML
in lib net.shibboleth.utilities:java-support
2) Initialisierung erfolgt jetzt über InitializationService
z.B.
Sie können die Builder / Marshaller über XMLObjectProviderRegistrySupport
z. B.:
Beachten Sie, dass opensaml die Java Service Provider-API verwendet. In meinem Fall (mit OSGi bundle org.apache.servicemix.bundles:org.apache.servicemix.bundles.opensaml
) zum Parsen einer SAML-Assertion habe ich die SPI-Konfiguration META-INF/services/org.opensaml.core.config.Initializer
hinzugefügt, die folgende Einträge enthält:
BEARBEITEN: Das Obenstehende funktionierte in einem Test, aber lief nicht im OSGi-Container. Umgehung für OSGi: OpenSAML3-Ressource wurde nicht gefunden 'default-config.xml' im OSGi-Container
Wenn Sie die Standardbibliotheken ( org.opensaml:opensaml-core
, org.opensaml:opensaml-saml-api
, org.opensaml:opensaml-saml-impl
, ...) verwenden, müssen Sie möglicherweise keine SPI-Konfiguration hinzufügen, da die JAR-Dateien bereits SPI-Konfigurationen mit einer Standardkonfiguration für die Initialisierung enthalten / p>
3) Es gibt eine Klasse BasicCredential
in lib org.opensaml:opensaml-security-api
. Ich sehe keine Alternative zur Bereitstellung eines Schlüssels während der Initalisierung.
Ich lerne, wie man das OS3 für die Entwicklung benutzt. Dies ist ein Beispiel, um eine Base64-SAML-Anfrage in SAMLObject in der V3-Version zu konvertieren. Ich hoffe, es kann dir helfen.
Das Projekt finden Sie im github-Repository
%Vor%