я могу скомпилировать клиента штраф Java веб-службы с помощью следующей команды:Java NoClassDefFoundError
javac
-classpath lib\spring-ws-2.0.0-M2-all.jar;lib\xml-apis.jar;lib\j2ee.jar;lib\saaj.jar;lib\saaj-impl.jar
WebServiceClient.java
Когда я на самом деле запустить его (Java WebServiceClient), он дает мне следующую ошибку:
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/ws/client/core/WebServiceTemplate
at WebServiceClient.<init>(WebServiceClient.java:14)
at WebServiceClient.main(WebServiceClient.java:37)
Caused by: java.lang.ClassNotFoundException: org.springframework.ws.client.core.
WebServiceTemplate
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 2 more
Вот код для WebServiceClient.java:
import java.io.StringReader;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.springframework.ws.WebServiceMessageFactory;
import org.springframework.ws.client.core.WebServiceTemplate;
import org.springframework.ws.transport.WebServiceMessageSender;
public class WebServiceClient {
private static final String MESSAGE =
"<message xmlns=\"http://tempuri.org\">Hello Web Service World</message>";
private final WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
public void setDefaultUri(String defaultUri) {
webServiceTemplate.setDefaultUri(defaultUri);
}
// send to the configured default URI
public void simpleSendAndReceive() {
StreamSource source = new StreamSource(new StringReader(MESSAGE));
StreamResult result = new StreamResult(System.out);
webServiceTemplate.sendSourceAndReceiveToResult(source, result);
}
// send to an explicit URI
public void customSendAndReceive() {
StreamSource source = new StreamSource(new StringReader(MESSAGE));
StreamResult result = new StreamResult(System.out);
webServiceTemplate.sendSourceAndReceiveToResult("http://wsdl",
source, result);
}
public static void main(String[] args) throws Exception {
WebServiceClient ws = new WebServiceClient();
ws.setDefaultUri("http://wsdl");
ws.simpleSendAndReceive();
}
}
Любая помощь приветствуется.
- это библиотеки в вашем классе среды выполнения среды выполнения? – pakore
Я включил все файлы jar с ключом classpath в командной строке: -classpath lib \ spring-ws-2.0.0-M2-all.jar; lib \ xml-apis.jar; lib \ j2ee.jar; lib \ saaj.jar; lib \ saaj-impl.jar Это неправильно? – droidy
Вы добавили их в оба вызова 'javac' и' java'? Вы только заявляете, что задаете путь к классу в команде 'javac' в своем Q –