Tipps zur Fehlerbehebung für kompilierte Web-Services-Bindungen
Verwenden Sie die folgenden Tipps, um Fehler in kompilierten Bindungen von Web-Services zu beheben, die auf der Basis von Java™-Programmiermodellen entwickelt und implementiert werden.
Jeder Abschnitt dieses Artikels beschreibt ein Problem, das in den kompilierten Bindungen für Web-Services auftreten kann. Zur Unterstützung der Fehlerbehebung werden Lösungsvorschläge angeboten.
Der Stammkontext wird nicht erkannt, wenn einem Java-Paket der XML-Standard-Namespace zugeordnet ist.
Wenn Sie einem Java-Paket den XML-Standard-Namespace zuordnen, wird der Stammkontext nicht erkannt. Wenn zwei Namespaces bis zum ersten Schrägstrich (/) identisch sind, werden sie demselben Java-Paket zugeordnet. Beispiel: Die XML-Namespaces http://www.ibm.com/foo und http://www.ibm.com/bar werden beide dem Java-Paket www.ibm.com zugeordnet. Geben Sie mit der Option "-NStoPkg" des Befehls Java2WSDL das Paket für den vollständig qualifizierten Namespace an.
Die Zuordnung von Java-Code zu WSDL kann nicht in den ursprünglichen Java-Code zurück geändert werden.
Wenn Sie feststellen, dass eine WSDL-Datei, die Sie mit dem Befehlszeilentool Java2WSDL erstellt haben, bei der Neugenerierung in Java-Code mit dem Befehlszeilentool WSDL2Java nicht kompiliert werden kann, ist dies darauf zurückzuführen, dass die JAX-RPC-Zuordnung (Java API for XML-based Remote Procedure Call) von Java-Code zu WSDL nicht in den ursprünglichen Java-Code umkehrbar ist.
Zur Behebung dieses Fehlers können Sie die Option -introspect mit dem Befehl WSDL2Java verwenden. Die Option -instrospect weist den Befehl WSDL2Java an, die vorhandenen Java-Klassen zu überprüfen und hilfreiche Informationen für die Generierung von Artefakten zu sammeln, die dem ursprünglichen Java-Code entsprechen.
Die Session-Bean kann beim Zugriff auf den Web-Service nicht instanziiert werden
Wenn Sie versuchen, auf einen Web-Service zuzugreifen, und der Fehler WSWS3422E: Fehler: Bean-Name kann nicht instanziiert werden angezeigt wird, ist es möglich, dass versucht wird, über ein Servlet als Web-Service auf die Session-Bean zuzugreifen.
Wenn diese Fehlernachricht während der ersten Tests eines Web-Service angezeigt wird, müssen Sie zusammen mit dem Entwickler des Web-Service prüfen, ob der richtige Typ von Web-Service generiert wurde. Wird eine Session-Bean beispielsweise als Web-Service bereitgestellt, muss ein Web-Service vom Typ "Enterprise-Bean" generiert werden. Wenn über einen Web-Service des Typs "Servlet" auf die Session-Bean zugegriffen wird, kann diese Ausnahme ausgelöst werden.