Wenn Sie Ihre Webservices auf einem WebSphere Version 5.0-Server mit der WebSphere Version 5-Laufzeit implementieren wollen und die Serverzielvorgabe aktiviert ist, jedoch Ihr Web- oder EJB-Projekt für den Service in einem Szenario mit einer Bottom-Up-JavaBean oder einem EJB-Webservice auf Kein Serverziel angegeben gesetzt ist, dann empfangen Sie möglicherweise den folgenden Fehler vom Webservice-Assistenten:
Fehler beim Generieren der WSDL-Datei aus Java.
Details: java.lang.ClassNotFoundException: com.ibm.ws.webservices.engine.encoding.SimpleType
Wenn dies geschieht, werden Sie bemerken, dass das Web- EJB-Projekt einen leeren Java-Buildpfad hat und die Sicht 'Tasks' die folgenden Fehler anzeigt:
Diese Kompilierungseinheit verweist indirekt auf den fehlenden Typ java.lang.Object.
Das Projekt wurde nicht erstellt, da der Klassenpfad unvollständig ist. Die Klassendatei für java.lang.Object kann nicht gefunden werden.
Führen Sie zunächst folgende Schritte aus, um das Problem zu umgehen:
- Inaktivieren Sie die J2EE-Serverzielvorgabe (diese Vorgabe ist bereits standardmäßig inaktiviert). Oder:
- Wenn Sie die J2EE-Serverzielvorgabe aktivieren müssen, müssen Sie das Web- oder EJB-Projekt für Ihren Service und Ihr Client-Webprojekt erstellen und für sie WebSphere Application Server V5.0 als Ziel definieren.
Führen Sie anschließend den Assistenten für Webservices erneut aus.
Sie treffen in anderen Webservice-Szenarios möglicherweise auf ein ähnliches Problem mit leerem Java-Buildpfad, wenn die Serverzielvorgabe aktiviert ist und Ihr Client-Webprojekt auf Kein Serverziel angegeben eingestellt ist oder wenn für das Web- oder EJB-Projekt des Service die Serverzieleinstellung auf WebSphere Application Server V5.0 gesetzt ist und Sie den Assistenten für Webservices ein Client-Webprojekt automatisch erstellen lassen.
Zur Vermeidung dieses Problem können Sie die oben beschriebene Methode verwenden oder, wenn Sie sich bereits in der Situation befinden, dass der Java-Buildpfad in einem Web- oder EJB-Projekt leer ist, können Sie das Projekt mit der rechten Maustaste anklicken, die Option Zielserver, dann Ändern und schließlich ein anderes Serverziel als das derzeit definierte auswählen. Anschließend können Sie wieder zurückkehren und das Serverziel wieder in WebSphere Application Server V5.0 zurückändern. Durch diese Umgehungsmethode wird der Java-Buildpfad des Webprojekts wieder ordnungsgemäß eingestellt.
Wenn Sie auf der ersten Seite eines EJB-Gerüstassistenten ohne vorhandenes EJB-Projekt im Arbeitsbereich die Schaltfläche Fertig stellen anklicken, wird eine Fehlernachricht angezeigt. Zur Vermeidung dieser Nachricht wechseln Sie zur nächsten Seite und geben einen gültigen EJB-Projektnamen und einen Routerprojektnamen ein. Alternativ können Sie auch den Assistenten verlassen und ein EJB-Projekt erstellen, bevor Sie das Szenario erneut versuchen.
Wenn Sie einen vom Assistenten für Webservices generierten Proxy mit der rechten Maustaste anklicken, 'Webservices-> Beispielanwendung generieren' und anschließend die Web Tool JavaBean-JSP als Testfunktion auswählen und 'Fertig stellen' anklicken, empfangen Sie möglicherweise eine Ausnahmebedingung, wenn Sie versuchen, die Methoden in der generierten Beispielanwendung auszuführen. Dies ist darauf zurückzuführen, dass die Methoden 'getEndPoint' und 'setEndPoint' nicht ausgeschlossen wurden. Sie können das Problem umgehen, indem Sie diese beiden Methoden beim Aufruf der Web Tool JavaBean-JSP über das Kontextmenü abwählen oder die Webservice-Beispiel-JSP bzw. den Universal Test Client als Testfunktion auswählen. Wenn Sie mit der SOAP-Laufzeitumgebung arbeiten, können Sie die Web Tool JavaBean-JSP alternativ auch aus dem Assistenten für Webservices heraus aufrufen.
Wenn Sie im Beispiel zur Lieferkettenverwaltung (Supply Chain Management Example) vom Standardport 9080 zu einem anderen Port wechseln müssen, müssen Sie die Datei 'config.jsp' im SCM-Beispielprojekt modifizieren und eine erneute Kompilierung ausführen. Dabei werden Sie zwei Kompilierfehler in der Taskliste wegen einer fehldenden Datei 'webservices.jar' in Ihrem Buildpfad finden. 1. Diese Kompilierungseinheit verweist indirekt auf den fehlenden Typ javax.xml.rpc.ServiceException. 2. Importierte 'javax.xml.rpc' kann nicht aufgelöst werden, um die Datei 'webservices.jar' dem Buildpfad des SCM-Beispiels hinzuzufügen. Wählen Sie 'SCM-Beispiel->Eigenschaften' und 'Java-Buildpfad' aus, klicken Sie die Registerkarte 'Bibliotheken' und die Option 'Variablen hinzufügen' an, wählen Sie WAS_50_PLUGINDIR aus und klicken Sie 'Erweitern' an. Wechseln Sie zur Bibliothek und wählen Sie die Datei 'webservices.jar' aus. Klicken Sie schließlich OK und noch einmal OK an.
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved. (C) Copyright IBM Deutschland GmbH 2000, 2003. Alle Rechte vorbehalten.