ich habe versucht, einen Webservice mit Axis zu nutzen (also nen Client
zu bauen). Habe genau nach Anleitung axis installiert (also die
*,jar-Files zum Classpath gepackt) und wollte dann ein (mitgeliefertes!)
Testprogramm starten. Leider gibt´s sofort eine classnotfoundException,
obwohl ich alle Bibliotheken im Classpath drinhabe. Havb´s zigmal auf
Tippfehler überprüft.
Kann jemmand helfe bzw kennt sich damit jemand aus? Anbei der Textcode
und die Ausgabe...
package samples.userguide.example1;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
public class TestClient
{
public static void main(String [] args) {
try {
String endpoint =
"http://nagoya.apache.org:5049/axis/services/echo";
System.out.println("Bis hierher alles ok...");
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName(new QName("http://soapinterop.org/",
"echoString") );
String ret = (String) call.invoke( new Object[] { "Hello!" } );
System.out.println("Sent 'Hello!', got '" + ret + "'");
} catch (Exception e) {
System.err.println(e.toString());
}
}
}
Ausgabe:
> java samples.userguide.example1.TestClient
Bis hierher alles ok...
Exception in thread "main" java.lang.NoClassDefFoundError:
org.apache.commons.lo
gging.LogFactory
at
org.apache.axis.components.logger.LogFactory.class$(LogFactory.java:8
4)
at
org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:84
)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory
.java:80)
at
org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java
:72)
at
org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:81)
at org.apache.axis.client.Service.getAxisClient(Service.java:143)
at org.apache.axis.client.Service.<init>(Service.java:152)
at samples.userguide.example1.TestClient.main(TestClient.java:69)
DAzu noch ne weitere Frage: wie kann man *jar-Bibliotheken "in einem
Rutsch" dem Classpath zufügen? Zig Pfade zu den einzelnen DAteien da
reinschreiben saugt gewaltig mit der Zeit...
gruss,Matze
--
There are only 10 types of people in the world:
Those who understand binary - and those who don´t.
> Hallo,
>
> ich habe versucht, einen Webservice mit Axis zu nutzen (also nen Client
> zu bauen). Habe genau nach Anleitung axis installiert (also die
> *,jar-Files zum Classpath gepackt) und wollte dann ein (mitgeliefertes!)
> Testprogramm starten. Leider gibt´s sofort eine classnotfoundException,
> obwohl ich alle Bibliotheken im Classpath drinhabe. Havb´s zigmal auf
> Tippfehler überprüft.
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org.apache.commons.lo
> gging.LogFactory
>
Hast du die commons-logging.jar auch dabei? Wenn ja, stimmt was mit dem
Classpath nicht...
-marek
du gibst einfach das Jar-File als Classpath an.
Gruß
Micha
> du gibst einfach das Jar-File als Classpath an.
>
Du hast Ihn glaube ich mißverstanden, er meinte mit *jar-Dateien
"mehrere" jar Dateien auf einmal, also z.B. ein Verzeichnis mit den
benötigten jars auf EINMAL.
IMHO geht das nicht so, man müsste sich wohl ein Shell-Script o.ä. schreiben,
das den Classpath kapselt.
Gruß
Andreas
> DAzu noch ne weitere Frage: wie kann man *jar-Bibliotheken "in einem
> Rutsch" dem Classpath zufügen? Zig Pfade zu den einzelnen DAteien da
> reinschreiben saugt gewaltig mit der Zeit...
Du kannst die Dateien auch in dem jre/lib/ext-Verzeichnis deiner JVM-
Installation legen. Dann werden sie immer gefunden, was ja aber auch bei
Klassen, die in verschiedenen Version vorliegen auch zu Probleme führen
kann.
Gruß, Tor
Danke, das probier ich mal aus!
gruss, Matze
Ja, die steht drin, hab´s mehrfach überprüft. Der Classpath wird
eigentich schon gefunden und durchsucht, denn wenn ich den komplett
lösche, kommen andere Fehlermeldungen.
gruss, Matze
On 04.09.2003 12:08, Andreas Bacher wrote:
> Michael Beumers schrieb:
>
>> du gibst einfach das Jar-File als Classpath an.
>>
>
> Du hast Ihn glaube ich mißverstanden, er meinte mit *jar-Dateien
> "mehrere" jar Dateien auf einmal, also z.B. ein Verzeichnis mit den
> benötigten jars auf EINMAL.
Jep, genau so hab ich das gemeint.
gruss, Matze