Busfähige Web-Services: Bekannte Einschränkungen

Es gibt einige wenige bekannte Einschränkungen, die bei der Verwendung SIB-fähiger Web-Services zu beachten sind.

SOAP-Header über den Service Integration Bus übergeben

Wenn die WSDL für Ihren Service <soap:header>-Elemente im Element <wsdl:definition> enthält, übergibt der Bus die SOAP-Header. Dieses Verhalten ist korrekt. Allerdings sind die folgenden Auswirkungen zu bemerken:
  • Die SOAP-Header sind nicht in der WSDL enthalten, die die Serviceintegrationstechnologien generieren.
  • Wenn Sie das Flag "must understand" für die SOAP-Nachricht setzen, erhalten Sie eine Fehlernachricht.

Einschränkungen bei der Unterstützung von SOAP with Attachments

Der Service Integration Bus unterstützt SOAP-Nachrichten, die Anhänge im alten Stil (siehe SOAP with attachments W3C Note) oder Anhänge im Stil Web Services-Interoperability (WS-I) Attachments Profile Version 1.0 enthalten. Wenn Sie Anhänge von einem Stil in den anderen umsetzen müssen, können Sie hierfür eine Mediation verwenden.

Busfähige Web-Services können keine Web-Services in WebSphere Application Server aufrufen, wenn der Service eine Operation verwendet, die keine Anhänge in der Anforderungsnachricht enthält und einen Anhang in der Antwortnachricht zurückgibt.

Die folgenden Szenarien werden ebenfalls nicht unterstützt:
  • Verwendung von DIME
  • Verwendung des WSDL-Tag mime:mimeXml
  • Verschachtelung von mime:multipartRelated innerhalb von mime:part
  • Verwendung von Arrays und Vektoren von DataHandler, Bildern usw.
Die MIME-Header der eingehenden Nachricht werden für referenzierte Anhänge nicht gespeichert. Die abgehende Nachricht enthält neue MIME-Header für Content-Type, Content-Id und Content-Transfer-Encoding.

Wenn Sie einen großen Anhang über den Service Integration Bus übergeben, erhalten Sie möglicherweise einen Fehler bezüglich mangelnder Speicherkapazität in der Java™ Virtual Machine. Wenn dieser Fehler auftritt, müssen Sie die Größe des Heapspeichers, wie im Artikel Busfähige Web-Services optimieren beschrieben, erhöhen.

Weitere Informationen hierzu finden Sie im Artikel SOAP-Nachrichten mit Anhängen über den Service Integration Bus übergeben.

Verfügbarkeit von Berechtigungsnachweistoken für JAAS-Subjekte in Services für abgehende Daten nicht garantiert

Wenn Sie WS-Security verwenden, ist nicht gewährleistet, dass der folgende Inhalt von Berechtigungsnachweisen eines JAAS-Subjekts für den Code verfügbar ist, der in einem Service für abgehende Daten ausgeführt wird, wenn die Berechtigungsnachweise während der Verarbeitung einer Anforderung für einen Service für eingehende Daten definiert wurden:
  • Nicht serialisierbarer Inhalt.
  • Alle Token, die com.ibm.wsspi.security.token.Token oder eine der untergeordneten Schnittstellen implementieren, und das Attribut forwardability nicht auf true setze.

Wenn beispielsweise ein angepasstes TokenConsumer in der WS-Security-Konfiguration und den Bindungen für einen Port für eingehende Daten konfiguriert ist, der TokenConsumer ein Token in den privaten Berechtigungsnachweisen des JAAS-Subjekts definiert und dieses Token com.ibm.wsspi.security.token.Token implementiert und das Attribut forwardability auf false setzt, sollte sich ein angepasster TokenGenerator, der in der WS-Security-Konfiguration und den Bindungen für den entsprechenden Port für abgehende Daten konfiguriert ist, nicht darauf verlassen, dass dieses Token im JAAS-Subjekt verfügbar ist.

Duldung nicht korrekt formatierter SOAP-Nachrichten

Busfähige Web-Services prüfen die Gültigkeit von Web-Service-Nachrichten gründlicher, als es in WebSphere Application Server Version 5.1 der Fall ist. Deshalb werden einige Clientanwendungen, die nicht korrekt formatierte Anforderungen oder Antworten verwenden (in denen die Nachrichtenabschnitte falsch benannt sind) und in Version 5.1 funktionieren, in höheren Versionen als nicht korrekt formatiert eingestuft.

Busfähige Web-Services unterstützen Anwendungen, die Nachrichten erzeugen, in denen die Nachrichtenabschnitte nicht die korrekten Namen haben, sofern diese dem allgemeinen Schema entsprechen. Mit dieser Unterstützung
  • können nicht korrekt formatierte Nachrichten vom Bus akzeptiert werden,
  • können nicht korrekt formatierte Nachrichten vom Bus erzeugt werden.
Was die Ausgabenachrichten anbelangt, werden nicht korrekt formatierte Nachrichten nur erzeugt, wenn die Eingabenachricht nicht korrekt formatiert ist und die Nachricht nicht von busfähigen Web-Services umgeschrieben werden muss. Wenn busfähige Web-Services die Nachricht umschreiben müssen (z. B., weil sie von einer Mediation geändert wurde), erzeugt die Anwendung eine korrekt formatierte SOAP-Nachricht mit den korrekten Namen für die Teile, die im WSDL-Dokument definiert sind. Falls Ihr Service oder Client davon ausgeht, dass die Teilenamen in der Antwortnachricht nicht korrekt benannt sind, können Sie in jedem dieser Fälle entweder den Client ändern oder die WSDL, die dem busfähigen Web-Service zugeordnet ist, anders strukturieren, damit die Teilenamen denen entsprechen, die die Anwendungen erwarten.
Anmerkung: Es werden nur nicht korrekte Teilenamen geduldet. Nicht korrekte Operationsnamen und nicht korrekte Teilestrukturen werden nicht geduldet.

Einschränkungen in der Unterstützung früherer WS-Security-Spezifikationen

Die Versionen der WS-Security-Spezifikation, die von der allgemeinen Web-Service-Unterstützung in früheren Versionen von WebSphere Application Server unterstützt wurden, werden von den Serviceintegrationstechnologien nicht unterstützt. Die Serviceintegrationstechnologien unterstützen nur die "OASIS-Spezifikation Web Services Security Version 1.0 ", das "Profil Username Token Version 1.0" und das "Profil X.509 token Version 1.0". Nähere Informationen zu diesen unterstützten Spezifikationen und Profilen finden Sie im Artikel Unterstützte Funktionalität der OASIS-Spezifikationen.

Alle Clientanwendungen und Zielservices, die WS-Security für die Interaktion mit den Serviceintegrationstechnologien verwenden, müssen mit den unterstützten Versionen dieser Spezifikationen konform sein. Clientanwendungen und Zielservices, die den zuvor unterstützten Versionen der WS-Security-Spezifikation entsprechen, können nicht mit den Serviceintegrationstechnologien interagieren, weil das Übertragungsformat der SOAP-Nachricht mit WS-Security in der Spezifikation OASIS Web Services Security Version 1.0 anders und nicht mit den früheren Entwürfen der Spezifikation kompatibel ist.

Einschränkungen bezüglich der Java-Typen, die von Services verwendet werden, die von einer JAX-RPC-Clientanwendung umgeleitet werden

Wenn Sie Nachrichten an ein Ziel des Service Integration Bus übergeben, indem Sie Web-Service-Nachrichten direkt über den Bus von einem JAX-RPC-Client senden, sind gewisse Einschränkungen bezüglich der verwendbaren Java-Typen zu beachten.

Sie können nur solche Services umleiten, die die Typen, die in ihren Schnittstellen verwendet werden, auf die beschränken, für die in der JAX-RPC-Spezifikation Zuordnungen definiert sind. Dies beschränkt die Unterstützung auf einen Teil des möglichen XML-Schemas, das in einem WSDL-Dokument verwendet werden kann. Wenn die Schnittstelle beispielsweise passende Elemente für SOAPElement enthält, kann sie nicht über den Bus umgeleitet werden.

Abgehenden Service für die Verwendung eines WSDL-Ports konfigurieren

Wenn Sie in der Konfiguration eines abgehenden Service einen WSDL-Port definieren, der die EJB-Bindung verwendet, rufen die Serviceintegrationstechnologien den Service mit Remote Method Invocation over Internet Inter-ORB Protocol (RMI-IIOP) auf. Trotzdem müssen alle Klassen, die an die Enterprise-Bean übergeben werden, im Klassenpfad von WebSphere Application Server enthalten sein. Beispiele:
  • Wenn Sie ein Objekt des Typs Address übergeben, müssen diese Klasse und die Klassen aller Objekte, die in einem Objekt Address serialisiert sind, im Klassenpfad von WebSphere Application Server enthalten sein.
  • Wenn die Signatur einer Methode in der Enterprise-Bean ein Objekt java.util.List enthält und erwartet wird, dass die Liste eine Liste mit Address-Objekten ist, muss die Klasse Address im Klassenpfad von WebSphere Application Server enthalten sein.

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjw_restrict
Dateiname:rjw_restrict.html